HPMicro HPM62

From SEGGER Wiki
Jump to: navigation, search

The HPMicro HPM62xx device series are RISC-V based 32-bit microcontrollers.

SPI flash support

J-Link supports SPI-flashes with HPM62xx through the XPI-API.

Note:
Since the full documentation is currently not available, the flashloader is based on code provided by HPMicro. This currently has the limitation where programming is only supported after reset. Programming and flash breakpoints may work without reset, but it is not guaranteed. In such cases, SEGGER will currently not provide any support.

Dual Core Debugging

HPM628x devices of the HPM62 family feature two cores. CPU0 is the master CPU and CPU1 is the slave CPU. After reset, CPU0 is enabled while CPU1 is in standby. When necessary, the program image of CPU1 is loaded by CPU0, and then CPU1 is released. The steps are as follows:

  1. CPU0 writes the code mirror address of CPU1 into the SYSCTL_CPU1_GPR0 register
  2. CPU0 writes the CPU1 startup code into the SYSCTL_CPU1_GPR1 register, the code is 0xC1BEF1A9
  3. CPU0 clears the SYSCTL_CPU1_LP [HALT] bit to 0 to release CPU1

The J-Link supports debugging of both cores. The desired CPU can be selected via a dedicated device name such as "HPM6280XXXX" for CPU0 and "HPM6280XXXX_CPU1" for CPU1.

Note:
In case of CPU1 is selected, the J-Link performs an attach, only. The J-Link expects that the steps above have been already performed by the application running on CPU0.
For CPU1, no reset is performed by default as this would reset CPU0 as well. If a reset is required, it needs to be added via J-Link script file.

In case there is no target software of CPIU0 which handles the release of CPU1, the following J-Link script file can be used: PCode_Device_HPMicro_HPM6280_ReleaseCPU1viaCPU0.JLinkScript

Evaluation Boards