multicore trigger

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

multicore trigger

72 Views
yanyanwang
Contributor I

Using the two demos, multicore_trigger and cm7_helloworld, I did not enable ECC for the CM7 ITCM. I used the SPT tool to merge the CM33 image and the CM7 image, which is intended to run from memory, into a single image, and then programmed the merged image into NOR Flash through UART. However, the boot process failed. According to the manual, a container can contain up to 8 OEM image entries. In my test, I only included two images: one CM33 image and one CM7 image. CM7 ITCM ECC was not enabled.
Neither the CM33 nor the CM7 image started. However, when I checked the container header, I found that only the CM33 image was present. The CM33 image itself can boot normally without any issues when used alone.
I would like to understand why the CM7 image was not included or processed as expected, and whether the lack of CM7 ITCM ECC configuration affects how Boot ROM processes the CM7 image.
Question 2:
If I merge 8 CM7 images and 1 CM33 image into a single container, what will the Boot ROM do during the startup process?
Since there is only one CM7 core, how does Boot ROM determine which CM7 image should be booted? If all 8 image entries are CM7 images, will Boot ROM load all 8 images, select only one image, or leave the selection to the CM33 application?
How does Boot ROM identify and process multiple CM7 image entries in the same container? Is there a priority, image index, Core ID, load address, entry point, or another mechanism used to determine which CM7 image is executed?
I would also like to understand the exact Boot ROM behavior when CM7 ITCM ECC is enabled and when it is not enabled.
When CM7 ITCM ECC is enabled, does Boot ROM initialize the CM7 ITCM ECC memory, copy the CM7 image from NOR Flash into CM7 ITCM, and then release CM7 from reset? Or does Boot ROM only load the CM7 image, while the CM33 application is responsible for releasing CM7 from reset and starting it?
When CM7 ITCM ECC is not enabled, what does Boot ROM do when it encounters a CM7 image whose load address is in CM7 ITCM? Does Boot ROM skip the CM7 image, fail to load it, leave CM7 in reset, or cause the entire container boot process to fail?
In particular, I would like to clarify whether the following container is supported:
Image 0: CM33
Image 1: CM7
Image 2: CM7
Image 3: CM7
Image 4: CM7
Image 5: CM7
Image 6: CM7
Image 7: CM7
Image 8: CM7
If it is supported, what exactly happens to these 8 CM7 images during Boot ROM startup, and which component is responsible for selecting the CM7 image that will actually execute?
Finally, I would like to clarify whether the maximum of 8 OEM image entries means that the container can simply store 8 different images, or whether Boot ROM also provides a mechanism to select and boot a specific image for a given core.

0 Kudos
Reply
2 Replies

30 Views
EdwinHz
NXP TechSupport
NXP TechSupport

Hi @yanyanwang,

If the container header showed only the CM33 image, then the Boot ROM/ELE never had a CM7 entry to process, which might be the cause of the behavior you are seeing.

Also, it's important to note that the container order is also relevant. As the RM mentions: "The OEM container can have 8 images at the maximum. The Cortex-M33 core (booting core) images must be located after the other ones."

In other words, the scheme you mention of having one CM33 followed by 8 CM7 images is not possible. You would have to reduce the number of CM7 images by one, and invert order.

If multiple images are present, ELE verifies the hash for each one, and if any fail, the device enters the reset loop.

The mechanism used array processing, meaning that each image is loaded in order, having their own flags to identify each.

BR,
Edwin.

0 Kudos
Reply

25 Views
yanyanwang
Contributor I

Hi,  @EdwinHz 

As shown in the figure below, I selected the CM7 image when building the bootable image and then parsed the container header. The container contains an entry for the CM7 image.

However, after programming the image into flash and rebooting the device, the device fails to boot, and I am also unable to connect to it using the debugger.

Could you please explain how the RT1180 Boot ROM processes the CM7 image in this configuration?

If possible, could you please reproduce and verify this behavior on the FRDM-IMXRT1186 development board?

yanyanwang_1-1787018660982.pngyanyanwang_1-1787018660982.png

 

0 Kudos
Reply