In some circumstances, relying on XIP code can reduce system hardware complexity and power budget, but the additional complexity of XIP software must be considered in the total system cost. By following the steps outlined here, this additional complexity can not only be managed but leveraged to construct systems that can be reliably updated in the field, reducing maintenance and repair costs and providing upgrade paths for users. Fortunately, the combination of XIP code and user accessible disk storage is supported transparently by a variety of operating systems.