I've debbuged the issue and it seems that the CapSense ISR is going to the wrong place and the main function is restarted within an interrupt context. (IRQ 49). Afterwards the code hangs on a CapSense busy because the CapSense ISR was not called.
I'll keep looking at this.
please make the following changes in order to fix the issue.
Open bootload_common.ld in App0 and App1 and modify the following values (changes are bolded):
ram_app0_core0 (rwx) : ORIGIN = 0x08000100, LENGTH = 0x1F00
ram_app0_core1 (rwx) : ORIGIN = 0x08002000, LENGTH = 0x8000
ram_app1_core0 (rwx) : ORIGIN = 0x08000100, LENGTH = 0x1F00
ram_app1_core1 (rwx) : ORIGIN = 0x08002000, LENGTH = 0x8000
Clean and build both projects. Program App0. Bootload App1.
I've tried using these values and can confirm that it works.
thanks you cfmm.
I have tried these update : it seems works.
May be i will adjust a the refresh to obtain a better detection for these cap-sense.
The reason for this fix is that the vector table on the CM4 must be 0x400 aligned. Will be fixed in a new release. Thanks for bringing it up.
Yes, I also think 250ms is too long.