Legacy embedded products often face CPU, memory, or power constraints that limit new feature development. Three practical approaches are outlined: firmware optimisation (squeezing more performance from existing hardware using better tools or fresh engineering perspective), firmware refactoring (improving maintainability and code quality of legacy codebases, supported by regression tests), and firmware migration/porting (moving to new hardware platforms when optimisation is insufficient). Each approach has trade-offs in cost, risk, and investment, and they can be combined — for example, pairing a hardware port with a refactoring pass to modernise the codebase while retaining prior investment.
1 Impression