I always think of it as software that's saved on the hardware. But I guess technically all software is saved on hardware, but firmware is saved on hardware that's different from the hardware you normally save it on.
But maybe your definition is better.