Software is programming that is stored on your hard disk and which you copy into volitile RAM memory when using.
Firmware is programming stored on integrated circuit chips, probable non-volitile memory, on your circuit board so it's always there ready to use from power up. It rarely needs upgrading, and if you do so do it with care, because an interruption could ruin whatever drives your tech, in this case a mobile phone, and probably result in you taking it to a workshop for recovery.