Jumping directly to M4 core in Traveo II without jumping to M0 core

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Venkatesh
Level 2
Level 2
5 replies posted 25 sign-ins 10 questions asked

Hi All,

Is there any way by which we can directly jump to M4 core by bypassing M0 core in Traveo II CYT2BL.

 

0 Likes
3 Replies
lock attach
Attachments are accessible only for community members.
Pranith
Moderator
Moderator
Moderator
100 sign-ins 50 sign-ins 25 replies posted

Hello @Venkatesh 

Bypassing CM0+ would not be possible.

Traveo II MCU’s boot sequence is based on the ROM boot code and flash boot code implemented for different lifecycle stages.
Figure attached shows how the CM0+ operation starts from reset. After reset, CM0+ starts executing from ROM boot. ROM boot validates SFlash. After validation of SFlash is complete, execution jumps to flash boot and configures the DAP as needed by the protection state. 

CM0+ image checks the digital signature authentication of the CM4/CM7image using the public keys that are programmed to SFlash.

You could have no user code on CM0+ and enable CM4 core  Cy_SysEnableApplCore(CY_CORTEX_M4_APPL_ADDR);

Regards

0 Likes
lock attach
Attachments are accessible only for community members.

Hello Pranith,

Thanks for the information on boot sequence. 
Currently for running the CM4 core I have used the .out file of CM0+ core from the sample driver having and flashed along with my CM4 binary. 
I am facing a Hard fault exception from the code flash address. But when i checked the CPUSS registers for CM0+ status and CM4 status. I could see CM0+ is in sleep mode and CM4 is in a invalid state. Please find the images of the CPUSS registers and the maincm0_plus.c file used.

CPUSS_CM4_STATUS.png

CPUSS_CM0_STATUS.png

 Also I need to know that even if I do not need a secure boot up process as mentioned in the boot_TVII image. Do I need CM0+ core?

 

0 Likes
lock attach
Attachments are accessible only for community members.
Pranith
Moderator
Moderator
Moderator
100 sign-ins 50 sign-ins 25 replies posted

Hi @Venkatesh ,

Are you observing this issue with the default sample code in the SDL?
Could you check whether you have selected the correct device revision in your workspace setting? (see pic attached)?
In order to conduct dual core debugging on IAR, you would have to compile and build the cm0+ and cm4 projects separately (ex: tviibe1m_flash_cm0plus_template and tviibe1m_flash_cm4_template) and then launch the dual core project  (ex: tviibe1m_flash_cm0plus_cm4_template). 

Regards

0 Likes