Embedded processors often need to be programmed in situations where JTAG cannot be used to program the target device. In these cases, the engineer needs to rely on peripheral programming designs. C2000™ devices aid in this endeavor through the inclusion of several program loading utilities in ROM. These utilities are useful, but only solve half of the programming problem because the utilities only allow loading application code into RAM. This application note builds on these ROM loaders by using a flash kernel. A flash kernel is loaded to RAM using a ROM loader and is then executed and used to program the on-chip Flash memory of the target device with the end application. A key consideration of using a flash kernel on the F29H85x is the addition of the Hardware Security Module (HSM). This document details one possible implementation for C2000 devices and provides PC utilities to evaluate the design.