Hello NXP Supporters,
I created a simple app on M7 with feature IPCF, FlexCAN and I want to start M7 app in U-boot by startm7 command (Please check my complete project).
I. I follow below commands to start M7 app:
1. dcache off
2. mw.q 0x34100000 0x0 0x40000
3. fatload mmc 0:1 0x80000000 IPCF_Example_S32G399A_M7_0.bin
4. cp.b 0x80000000 0x34300000 0x300000
5. startm7 0x34500400
6. boot
II. Running with Clock_Ip_Init
If I running with Clock_Ip_Init, U-boot will stop immediately after startm7 command, as i understand clock is already initialized, if i run this command clock will re-init then u-boot broken
If i running without Clock_Ip_Init, everything is normal except CAN, i think CAN clock is not same as i config then CAN baudrate is wrong, i receive a error CAN frame
III. Try CAN working by boot M7 only by Flash and IVT blob image:
I also try run M7 app only with Clock_Ip_Init, CAN is running normal, that mean clock for CAN config is ok.
=> Please help/suggest how to keep CAN working when boot M7 app from U-boot ?
Hello @chenyin_h,
Thank for your response,
Our long-term goal is build bootloader to boot for A53, M7,... simultaneously (following AN13750)
but in short-term, we need to bring everything up to proof of concept first, can you mention the name of document or link that i can refer to do the option 1 (config/rebuild TFA) ?
Hello, @Thinh
Thanks for your post.
1. From A core side, the CAN clock may set by the TFA, which may not fulfill the settings used from M core side, so that the CAN may not work correctly with your M core applications
2. For running M core and A core applications simultaneously, it is suggested following the way shown in AN13750, not directly via the u-boot.
BR
Chenyin
Hi @Joey_z, @alejandro_e
Do you have any suggestion ?
Sorry for this inconvenient.
Hello, @Thinh
Thanks for your reply.
1. Sorry that there is not a formal document existed for running M core application from u-boot.
2. Generally, if you do want to start the M7 application from A core side(uboot), then you may check if the corresponding resources(like pin/memory/clock) would not be initialized or used simultaneously, you may try only setting the resources on one side to avoid confliction.
Usually, it does not only need to reconfigure/build TFA/uboot/linux, but also need additional code changes on M/A side according to different requirments.
BR
Chenyin
Hello @Thinh,
As mentioned by my colleague @chenyin_h, the bootflow you are using is not a setup we encounter frequently and thus, we cannot offer much support on it. I would also recommend creating a multi-core bootloader based on the AN13750, and also please check the Bootloader-User-Manual.pdf that comes with the GoldVIP package.
To avoid mixing topics, please create a new post or a new support ticket for the bootloader topic if you need guidance from our side.