PEmicro has improved user reset capabilities after a flash programming sequence. With the updated implementation of the ‘GO’ command (available with most ARM Cortex processors) in both PEmicro's Cyclone and PROGACMP (v8.76 and up) software-based programming solutions, the user is able to specify the use of a software or hardware reset to reset the MCU.
PEmicro utilizes the RESET line in order to enter debug mode and control reset functionalities of the MCU. A hardware reset will run the user’s application code (which is programmed into flash memory) only after a physical reset of the MCU (power cycle of MCU, power cycle of PEmicro hardware, reset of PEmicro hardware, etc.). A software reset will allow PEmicro tools to perform a reset of the MCU without the need of any physical interaction, and the application code will be able to run directly after the programming sequence.
Cyclone Image Creation Implementation
The new function of the ‘GO’ command can be applied in PEmicro’s Cyclone Image Creation Utility to add a hardware or software reset within your flash programming sequence. When the ‘GO’ command is selected the popup shown in Figure 1 will appear requesting a parameter to differentiate from a hardware or software reset.
Figure 1. ‘GO’ Parameter
An example of a full programming sequence including a soft reset using a STM32H7A3ZI MCU from STMicroelectronics is shown in Figure 2 below.
Figure 2. Programming Sequence with Software Reset
In this example we are programming a sample ‘blinky’ project to the MCU, and by use of a software reset the project will begin to run directly after the completion of the SAP image.
As discussed previously, if the parameter were switched to a ‘0’ to indicate a hardware reset, the ‘blinky’ project would not run until a physical reset had occurred.
Interactive Programmer (PROGACMP) Implementation
Similar to the Image Creation use case, the user can also utilize the new "GO" command within the PROGACMP Interactive Flash Programmer, which typically communicates with the MCU via a Multilink debug probe. Once the user is connected to the corresponding ARM processor and has the algorithm selected, the “GO Start Code Running” command should appear under “Other commands” as shown in Figure 2.
Figure 3. “GO” command in PROGACMP
After the “GO” command is selected, the user will see the same parameter prompt shown in Figure 1 to select between a hard or soft reset. Once this parameter is chosen, the results will be the same as with standalone Cyclone programming - based on the reset type, the code will either start running either immediately or after a hard reset.
For more information or further clarification on steps to handle software vs. hardware resets with ARM devices, please contact PEmicro Technical Support.