Failed to flash scfw on imx8qxp mek

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

Failed to flash scfw on imx8qxp mek

Jump to solution
1,978 Views
tejas-volansys
Contributor II

Hi NXP,

We are using iMX8QXP MEK for development. We are trying to flash SECO(Security firmware) and SCFW(System Firmware) in the eMMC using uuu utility. As per the reference manual SECO and SCFW are initial firmware to flash to wakeup processors.

Below are the steps which we have followed:
1. We have generated the SECO using https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/imx-seco-3.6.3.bin link
- Generate "mx8qxb0-ahab-container.img" file by executing "imx-seco-3.6.3.bin "

2. We have generated the SCFW for linux-5.4.24_2.1.0 using https://www.nxp.com/webapp/Download?colCode=L5.4.24_2.1.0_SCFWKIT-1.5.0&appType=license link
- toolchain: gcc-arm-none-eabi-9-2019-q4-major
- build using: make qx R=B0 B=mek(Executed command in scfw_export_mx8qx_b0 directory)
- scfw_tcm.bin will be generated in "imx-scfw-porting-kit-1.5.0/packages/imx-scfw-porting-kit-1.5.0/src/scfw_export_mx8qx_b0/build_mx8qx_b0/”

3. We have generated flash.bin using below steps
    $ git clone https://source.codeaurora.org/external/imx/imx-mkimage
    $ cd imx-mkimage
    $ git checkout imx_5.4.24_2.1.0 (Note: choose appropriate linux kernel branch)
    - copy scfw_tcm.bin, mx8qx-ahab-container.image to ~/imx-mkimage/iMX8QX folder
    $ make SOC=iMX8QX flash

Below are the flash steps:

# sudo ./uuu -b emmc flash.bin

=====================================================================

uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.3.171-0-g4249f93
Build in config:
    Pctl     Chip         Vid     Pid     BcdVersion
    ==================================================
    SDPS:     MX8QXP         0x1fc9     0x012f     [0x0002..0xffff]
    SDPS:     MX8QM         0x1fc9     0x0129     [0x0002..0xffff]
    SDPS:     MX8DXL         0x1fc9     0x0147
    SDPS:     MX28         0x15a2     0x004f
    SDPS:     MX815         0x1fc9     0x013e
    SDPS:     MX865         0x1fc9     0x0146
    SDP:     MX7D         0x15a2     0x0076
    SDP:     MX6Q         0x15a2     0x0054
    SDP:     MX6D         0x15a2     0x0061
    SDP:     MX6SL         0x15a2     0x0063
    SDP:     MX6SX         0x15a2     0x0071
    SDP:     MX6UL         0x15a2     0x007d
    SDP:     MX6ULL         0x15a2     0x0080
    SDP:     MX6SLL         0x1fc9     0x0128
    SDP:     MX7ULP         0x1fc9     0x0126
    SDP:     MXRT106X     0x1fc9     0x0135
    SDP:     MX8MM         0x1fc9     0x0134
    SDP:     MX8MQ         0x1fc9     0x012b
    SDPU:     SPL         0x0525     0xb4a4     [0x0000..0x04ff]
    SDPV:     SPL1         0x0525     0xb4a4     [0x0500..0x9998]
    SDPU:     SPL         0x0525     0xb4a4     [0x9999..0x9999]
    SDPU:     SPL         0x3016     0x1001     [0x0000..0x04ff]
    SDPV:     SPL1         0x3016     0x1001     [0x0500..0x9998]
    FBK:              0x066f     0x9afe
    FBK:              0x066f     0x9bff
    FB:              0x0525     0xa4a5
    FB:              0x18d1     0x0d02
    FB:              0x3016     0x0001
Run built-in script:
 
uuu_version 1.2.39
# @/home/kailas/imx-linux-zeus/build-evk/tmp/deploy/images/imx8qxpmek/u-boot.bin            | bootloader
# @/home/kailas/imx-linux-zeus/build-evk/tmp/deploy/images/imx8qxpmek/u-boot.bin   [/home/kailas/imx-linux-zeus/build-evk/tmp/deploy/images/imx8qxpmek/u-boot.bin] | image burn to emmc, default is the same as bootloader
# This command will be run when i.MX6/7 i.MX8MM, i.MX8MQ
SDP: boot -f /home/kailas/imx-linux-zeus/build-evk/tmp/deploy/images/imx8qxpmek/u-boot.bin
# This command will be run when ROM support stream mode
# i.MX8QXP, i.MX8QM
SDPS: boot -f /home/kailas/imx-linux-zeus/build-evk/tmp/deploy/images/imx8qxpmek/u-boot.bin
# These commands will be run when use SPL and will be skipped if no spl
# SDPU will be deprecated. please use SDPV instead of SDPU
# {
SDPU: delay 1000
SDPU: write -f /home/kailas/imx-linux-zeus/build-evk/tmp/deploy/images/imx8qxpmek/u-boot.bin -offset 0x57c00
SDPU: jump
# }
# These commands will be run when use SPL and will be skipped if no spl
# if (SPL support SDPV)
# {
SDPV: delay 1000
SDPV: write -f /home/kailas/imx-linux-zeus/build-evk/tmp/deploy/images/imx8qxpmek/u-boot.bin -skipspl
SDPV: jump
# }
FB: ucmd setenv fastboot_dev mmc
FB: ucmd setenv mmcdev ${emmc_dev}
FB: ucmd mmc dev ${emmc_dev}
FB: flash bootloader /home/kailas/imx-linux-zeus/build-evk/tmp/deploy/images/imx8qxpmek/u-boot.bin
FB: ucmd if env exists emmc_ack; then ; else setenv emmc_ack 0; fi;
FB: ucmd mmc partconf ${emmc_dev} ${emmc_ack} 1 0
FB: Done

Wait for Known USB Device Appear...
New USB Device Attached at 3:1
3:1>Start Cmd:SDPS: boot -f /home/kailas/imx-linux-zeus/build-evk/tmp/deploy/images/imx8qxpmek/u-boot.bin
3:1>Fail HID(W):LIBUSB_ERROR_TIMEOUT(1.001s)

=====================================================================

Firmware flash failed while using uuu utility.

I am attaching scfw_tcm.bin(SCFW), mx8qxb0-ahab-container.img(SECO) and flash.bin in binaries.zip which I have generated for iMX8QXP MEK.

Can you please help us to resolve this issue.

We have taken reference from https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX8-Boot-process-and-creating-a-bootab...

0 Kudos
1 Solution
1,923 Views
tejas-volansys
Contributor II

Version is B0 and we are able to run the stress test successfully.

We tried building the image using "make SOC=iMX8QX flash_spl" and it is working on mek

View solution in original post

0 Kudos
4 Replies
1,971 Views
igorpadykov
NXP Employee
NXP Employee

Hi tejas-volansys

 

from log: "uuu_version 1.2.39",

for linux-5.4.24_2.1.0 all versions of software components should

be carefully aligned according to   i.MX Linux Release Notes

 

1.jpg

 

Best regards
igor

0 Kudos
1,959 Views
tejas-volansys
Contributor II

Hi igor,

We have tried with uuu version 1.3.191 and now flash is getting stuck after showing 100%. Below is the log for the same

Note: We were using uuu version 1.3.171 previously. I think "uuu_version 1.2.39" is hard-coded in "uuu/emmc_burn_loader.lst" file

===============================================================================

tejas@tejas:~/uuu-1.3.191/uuu$ sudo ./uuu -V -b emmc /home/tejas/imx-mkimage/iMX8QX/flash.bin
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.3.191-0-g4fe24b9
Build in config:
Pctl Chip Vid Pid BcdVersion
==================================================
SDPS: MX8QXP 0x1fc9 0x012f [0x0002..0xffff]
SDPS: MX8QM 0x1fc9 0x0129 [0x0002..0xffff]
SDPS: MX8DXL 0x1fc9 0x0147
SDPS: MX28 0x15a2 0x004f
SDPS: MX815 0x1fc9 0x013e
SDPS: MX865 0x1fc9 0x0146
SDP: MX7D 0x15a2 0x0076
SDP: MX6Q 0x15a2 0x0054
SDP: MX6D 0x15a2 0x0061
SDP: MX6SL 0x15a2 0x0063
SDP: MX6SX 0x15a2 0x0071
SDP: MX6UL 0x15a2 0x007d
SDP: MX6ULL 0x15a2 0x0080
SDP: MX6SLL 0x1fc9 0x0128
SDP: MX7ULP 0x1fc9 0x0126
SDP: MXRT106X 0x1fc9 0x0135
SDP: MX8MM 0x1fc9 0x0134
SDP: MX8MQ 0x1fc9 0x012b
SDPU: SPL 0x0525 0xb4a4 [0x0000..0x04ff]
SDPV: SPL1 0x0525 0xb4a4 [0x0500..0x9998]
SDPU: SPL 0x0525 0xb4a4 [0x9999..0x9999]
SDPU: SPL 0x3016 0x1001 [0x0000..0x04ff]
SDPV: SPL1 0x3016 0x1001 [0x0500..0x9998]
FBK: 0x066f 0x9afe
FBK: 0x066f 0x9bff
FB: 0x0525 0xa4a5
FB: 0x18d1 0x0d02
FB: 0x3016 0x0001
Run built-in script:

uuu_version 1.2.39
# @/home/tejas/imx-mkimage/iMX8QX/flash.bin | bootloader
# @/home/tejas/imx-mkimage/iMX8QX/flash.bin [/home/tejas/imx-mkimage/iMX8QX/flash.bin] | image burn to emmc, default is the same as bootloader
# This command will be run when i.MX6/7 i.MX8MM, i.MX8MQ
SDP: boot -f /home/tejas/imx-mkimage/iMX8QX/flash.bin
# This command will be run when ROM support stream mode
# i.MX8QXP, i.MX8QM
SDPS: boot -f /home/tejas/imx-mkimage/iMX8QX/flash.bin
# These commands will be run when use SPL and will be skipped if no spl
# SDPU will be deprecated. please use SDPV instead of SDPU
# {
SDPU: delay 1000
SDPU: write -f /home/tejas/imx-mkimage/iMX8QX/flash.bin -offset 0x57c00
SDPU: jump
# }
# These commands will be run when use SPL and will be skipped if no spl
# if (SPL support SDPV)
# {
SDPV: delay 1000
SDPV: write -f /home/tejas/imx-mkimage/iMX8QX/flash.bin -skipspl
SDPV: jump
# }
FB: ucmd setenv fastboot_dev mmc
FB: ucmd setenv mmcdev ${emmc_dev}
FB: ucmd mmc dev ${emmc_dev}
FB: flash bootloader /home/tejas/imx-mkimage/iMX8QX/flash.bin
FB: ucmd if env exists emmc_ack; then ; else setenv emmc_ack 0; fi;
FB: ucmd mmc partconf ${emmc_dev} ${emmc_ack} 1 0
FB: Done

Wait for Known USB Device Appear...
New USB Device Attached at 3:1
3:1>Start Cmd:SDPS: boot -f /home/tejas/imx-mkimage/iMX8QX/flash.bin
100%3:1>Okay (2.277s)

0 Kudos
1,948 Views
igorpadykov
NXP Employee
NXP Employee

Hi tejas-volansys

 

what version used: C0, B0,  had board passed ddr test ?

0 Kudos
1,924 Views
tejas-volansys
Contributor II

Version is B0 and we are able to run the stress test successfully.

We tried building the image using "make SOC=iMX8QX flash_spl" and it is working on mek

0 Kudos