im8qxp on mek B0 and m4 firmware running from ddr

cancel
Showing results for 
Search instead for 
Did you mean: 

im8qxp on mek B0 and m4 firmware running from ddr

1,428 Views
_angelo_
Contributor III

Hi all,

i need to run a m4 application.bin from 0x88000000 (ddr)

From yocto, i created a imx-boot bbappend to use my "application.bin" and i selected the target flash_linux_m4_ddr, btw, board is not booting, console blank.

Boards boot with flash_linux_m4 target and sampel app rinning from internal M4 sram area.

If any help, thanks !

0 Kudos
10 Replies

1,347 Views
josephzhou1
Contributor V

watching...

Best Regards,
Joseph Zhou Jianhui / Senior Embedded Software Engineer, Singapore
0 Kudos

1,401 Views
_angelo_
Contributor III

HI,

i am working on both B0 and C0, always using  flash_linux_m4_ddr  

At now, on B0, cannot see application at 0x88000000 running. I am supposing scm fw is properly initializing ddr. Also since u-boot will run later. But once prepared the container with ddr appliciation, system does not boot.

0 Kudos

1,408 Views
BiyongSUN
NXP Employee
NXP Employee

Which option you are using  for imx-mkinge?   

flash_linux_m4_ddr? 
0 Kudos

1,414 Views
_angelo_
Contributor III

Any help on this ?

From mkimage_imx8, -d dcd option is not supported for B0. Does it mean i cannot run M4 app from ddr from the initial flash.bin ?

0 Kudos

1,399 Views
BiyongSUN
NXP Employee
NXP Employee

Please check the seco firmware is for B0.

0 Kudos

1,392 Views
_angelo_
Contributor III

Hello ByiongSun

thanks

i am not back working on b0

 

seco fw is correct : mx8qxb0-ahab-container.img

If i use target flash_linux_m4_ddr with an m4 application built for ddr (0x88000000) ststem resets continuosly, no chars on both m4 / linux console.

If i remove ddr m4 image, system hangs, no charts on console.

If i roll back to flash_linux_m4 target, all works.

 

 

 

0 Kudos

1,381 Views
BiyongSUN
NXP Employee
NXP Employee

You can use binary demo image imx-boot-imx8qxpmek-sd.bin-flash_linux_m4 m4 run test.

0 Kudos

1,358 Views
_angelo_
Contributor III

Hi BiyongSun,

well, i rebuilt scm fw with monitor enable (always using flash_linux_m4_ddr target),
and a simple m4 app built to run at 0x88000000.

As said, boards resets but now i can see why:

 

board

Hello from SCU (Build 5222, Commit bc122ee1, May 27 2021 16:21:58)

board_init(1)
board_init(4)
board_init_ddr(0)
SCFW: DDR frequency = 1200000000
board_system_config(0, 1)
board_set_voltage(A35, 1100, 0)
Start PMIC init
Finished PMIC init

board_set_power_mode(A35, 0, 0, 3)
board_init(5)
board_init(2)
ROM boot time = 212060 usec
Boot time = 51032 usec
Banner = 8 usec
Init = 10342 usec
Config = 2722 usec
DDR = 10730 usec
SConfig = 5259 usec
Prep = 15064 usec

*** Debug Monitor ***

>$ ipc_err: bad size (0)
ipc_err: bad size (0)

.. reset here

 

 

 

 

 

1,323 Views
_angelo_
Contributor III

@NXP

@BiyongSUN 

I may be totally wrong, otherwise, please confirm my assumption.

m4 app cannot be run from initial container from ddr @ 0x88000000 (no bootaux, but using flash_linux_m4_ddr) for b0 revision, only app built for tcm seems able to run.

 

For the following reasons:


- scfw shows BOARD_CPU_RESET_MEM_ERR produced from m4
- m4 app seems to run in parallel to scfw, so probably starts when ddr is still not initialized
- same m4 app works from u-boot bootaux @0x88000000 (ddr properly initialized before)


- C0 revision uses DCD run from ROM bootloader, so ddr4 init at ROM stage allows m4 app to run properly from lpddr4.

Are the above assumptions correct ?

Thanks
angelo

0 Kudos

1,297 Views
_angelo_
Contributor III

Hello, 

finally i can close this thread.

Non working app on B0 from ddr was due to wrong m4 app compilation flags.

SDK demo apps are using the correct flags.

I can have m4 app working now from both TCM or DDR, on both B0 and C0.

0 Kudos