i.MX7D Running the Second A7 Core (A7_1)


We are trying to determine a way to run both the first and second A7 cores concurrently on an i.MX7D. Currently, we are running a Toradex version of embedded Linux on the first A7 core and we are now running a separate application on the M4 core.

There are environment variables that we have configured which download and boot firmware located in the M4 core. These environment variables, given below and used by U-boot, were already loaded into and available on the first A7 core in the i.MX7D Colibri V1.1C that we are using:

prepare_m4firmware=ubi create m4firmware 0xe0000 static
run prepare_m4firmware
run m4boot

Are there similar variables that we need to define and use so that U-boot can load firmware in the second A7 core? The answer provided in this Support Community post: How does one build a project for and program the second A7 core in an imx7 indicates that embedded Linux can be run on both A7 cores when SMP mode is enabled. I verified that, for the embedded Linux running on the first A7 core, SMP is turned on.

We don’t necessarily want to run embedded Linux on the second A7 core, but how would this be done? Is there a document somewhere, or a link to some documentation, that Tordex provides to get the second A7 core to work and run while the first A7 core and M4 core are up and running?

I haven’t been able to find any documentation on what would need to be done to get this working.

Thank You

By default SMP mode is enabled and both A7 cores are used by Linux. You can confirm it by cat /proc/cpuinfo command.