I am trying to reboot second A7 core from the first A7 core repeatedly. on the 8th attempt to boot the second A7 core system stops responding. I have attached a small piece of code that reproduces the issue with me. I have been building it using the codesourcery gnu tool chain using the following command.
$ arm-none-eabi-gcc -gdwarf-2 -mthumb-interwork -msoft-float -mcpu=cortex-a7 -T link_ram.ld main_freescale.c
Here is a brief description of the program attached.
- Core 0 runs the function main(). It repeatedly boots the second core with the entry function core2_func().
- Core 1 runs core2_func and sends a signal to Core 0 with variable core2_countup.
- Core 0 on receiving signal shuts down Core 1 and reboots Core 1 again
Variable cpu1_boot_trig_cnt tells how many time Core 1 has been powered up.
Variable cpu1_boot_cnt tells how many time Core 1 has successfully been powered up.
board: MCIMX7 SABRE
Kernel or BSP: Bare metal
ToolChain: gcc version 6.2.0 (Sourcery CodeBench 2016.11-51)
Frequency of reproducible: Always
Steps to reproduce: Build the code load it on core 0 and let it run. When paused cpu1_boot_cnt is stuck at 7. on connecting second A7 core to JTAG. The cpu is in wage state, unable to access memory or registers trhough debug.
Original Attachment has been moved to: bme.zip