There are lots of example projects doing a good job explaining how to have the M4 do wonderful things using all the IO and connectivity of the imx.7. There are also less easy to follow directions to get linux on the 0th A7 core. There is one bare metal example project that will run on the 0th A7 core, but it will not run on the second core. To debug on the first core, one has to start booting up in linux and then quickly hit the space bar at the first prompt. It is my suspicion that during the complex embedded linux start up that either power is shut off for the second core or semaphores are reserved or the RDC is not set up properly. Any ideas would be welcome. By the way, for anyone else who may also want to try to take advantage of the processing power of the second A7 core, I am working on building a more complicated bare metal A7 project.
Toradex does not support bare-metal or FreeRTOS on Cortex-A7 cores.
Also note that you do not need to use bare metal to make use of the second A7 core, our Linux BSP runs on both A7 cores in SMP mode just fine!
I guess by “quickly hit the space bar at the first prompt” you actually mean the bootloader U-Boot. If the prompt you are seeing is
Colibri iMX7 # then what you run is actually just the bootloader, not Linux. U-Boot does not have dual core support, so at that point, the second core is not initialized and its reset state, quite likely you need to write register to actually clock/power gate the core in order to make use of it. The i.MX 7 Reference Manual should contain the details, I guess the SRC (System Reset Controller) is the starting point, e.g. SRC_GPR3 for the entry point and at least SRC_A7RCR1 to enable the secondary core…