How to upgrade iMX8qxpc0 M4 image without reprogram overall eMMC

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

How to upgrade iMX8qxpc0 M4 image without reprogram overall eMMC

1,403 次查看
yellow_huang
Contributor II

Hi,

 

Customer request to support CM4 image upgrade without reprogram overall eMMC.

My question is CM4 image is bundled into imx-boot image and programmed from 32KB offset of eMMC. how can I do this without effect other components of imx-boot?

 

Thanks,

0 项奖励
回复
3 回复数

1,387 次查看
yellow_huang
Contributor II

Hi Igor,

 

Look like M4ctrl package(kernel module & application) meet my requirement, which been able to deploy at run-time from A35:

m4ctrl --deploy=./m4_image_c0.bin --core=0

Before try this package, I have some questions:

  • In imx8qxpc0 platform, M4 image have be bundled into imx-boot and boot up by SCU by default. can I still force stop its running and deploy to TCM memory to run again? do I need extra modify imx-boot to meet this behavior?
  • I used M4 SDK_2.8.0_MEK-MIX8QX for M4 develop. it support to generate two flash and ram style image, which one suit for this test?

Thanks,

0 项奖励
回复

1,400 次查看
igorpadykov
NXP Employee
NXP Employee

Hi yellow_huang

 

one can look at below tool

https://source.codeaurora.org/external/imxsupport/m4ctrl/about/

 

Best regards
igor

0 项奖励
回复

1,368 次查看
yellow_huang
Contributor II

Hi Igor,

 

It is OK to use m4ctrl to deploy cm4 image first time. But there is always one ASSERT error in CM4 after trying to deploy second time.

In A35 console, m4ctrl show success after second deploy

```

~# m4ctrl --deploy=/tmp/tbox_cm40.img --core=0

m4ctrl: unrecognized option '--core=0'

Stop cortex M4, core 0

Poweron cortex M4, core 0

```

But in CM4 console, ASSERT message shown after second deploy

```

********* FLEXCAN 1 Interrupt EXAMPLE *********

*********************************************

...

ASSERT ERROR " NULL != s_flexcanHandle[FLEXCAN_GetInstance(ADMA__CAN1)] ": file "/home/.../devices/MIMX8QX6/drivers/fsl_flexcan.c" Line "3698" function name "ADMA_FLEXCAN1_INT_DriverIRQHandler"

```

 

Any idea?

Thanks,

0 项奖励
回复