Problems with Serial Downloader on i.MX8MQ Mask 2N14W

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

Problems with Serial Downloader on i.MX8MQ Mask 2N14W

Jump to solution
756 Views
christian_mauderer
Contributor III

We currently use the MIMX8MQ6DVAJZAA (mask 0N14W) in a custom board. Due to availability we have to switch to MIMX8MQ6DVAJZAB (mask 2N14W). I have a first prototype of our board with this chip. Now I've a problem to load a U-Boot SPL via the USB serial downloader.

For the old chip I have used imx_usb_loader from boundarydevices  revision fe5062474a4cbf29cb80b5ba5d1a288ed5b6749a. Alternatively I have tried uuu from NXPmicro/mfgtools revision 519980f84d8a6f356e326f872782a8db82758d1e. Both work fine for the 0N14W mask.

If I try to load the new chip (2N14W) I get mixed up memory content. To analyze the problem I created a test binary that I try to load (attached spl-dummy.bin) that just contains the addresses written at the memory location. I then used a debugger to set a breakpoint to the start address (0x007e1000) and check the content.

For the 0N14W I have the expected content (longer hexdump attached):

________________address|________0________4________8________C_0123456789ABCDEF
            MP:007E0FD0| 412000D1 007E1000 00000000 00000000 .. A..~.........
            MP:007E0FE0| 007E0FF0 007E0FD0 007E19D0 00000000 ..~...~...~.....
            MP:007E0FF0| 007E0BD0 00002E00 00000000 00000000 ..~.............
            MP:007E1000|>007E1000 007E1004 007E1008 007E100C ..~...~...~...~.
            MP:007E1010| 007E1010 007E1014 007E1018 007E101C ..~...~...~...~.
            MP:007E1020| 007E1020 007E1024 007E1028 007E102C  .~.$.~.(.~.,.~.
            MP:007E1030| 007E1030 007E1034 007E1038 007E103C 0.~.4.~.8.~.<.~.
            MP:007E1040| 007E1040 007E1044 007E1048 007E104C @.~.D.~.H.~.L.~.
            MP:007E1050| 007E1050 007E1054 007E1058 007E105C P.~.T.~.X.~.\.~.
            MP:007E1060| 007E1060 007E1064 007E1068 007E106C `.~.d.~.h.~.l.~.
            MP:007E1070| 007E1070 007E1074 007E1078 007E107C p.~.t.~.x.~.|.~.
            MP:007E1080| 007E1080 007E1084 007E1088 007E108C ..~...~...~...~.
            MP:007E1090| 007E1090 007E1094 007E1098 007E109C ..~...~...~...~.
            MP:007E10A0| 007E10A0 007E10A4 007E10A8 007E10AC ..~...~...~...~.
            MP:007E10B0| 007E10B0 007E10B4 007E10B8 007E10BC ..~...~...~...~.
            MP:007E10C0| 007E10C0 007E10C4 007E10C8 007E10CC ..~...~...~...~.
            MP:007E10D0| 007E10D0 007E10D4 007E10D8 007E10DC ..~...~...~...~.
            MP:007E10E0| 007E10E0 007E10E4 007E10E8 007E10EC ..~...~...~...~.
            MP:007E10F0| 007E10F0 007E10F4 007E10F8 007E10FC ..~...~...~...~.
            MP:007E1100| 007E1100 007E1104 007E1108 007E110C ..~...~...~...~.

For the 2N14W some parts are wrong (longer hexdump attached):

________________address|________0________4________8________C_0123456789ABCDEF
            MP:007E0FD0| 412000D1 007E1000 00000000 00000000 .. A..~.........
            MP:007E0FE0| 007E0FF0 007E0FD0 007E19D0 00000000 ..~...~...~.....
            MP:007E0FF0| 007E0BD0 00002E00 00000000 00000000 ..~.............
            MP:007E1000|>007E1040 007E1044 007E1048 007E104C @.~.D.~.H.~.L.~.
            MP:007E1010| 007E1010 007E1014 007E1018 007E101C ..~...~...~...~.
            MP:007E1020| 007E1020 007E1024 007E1028 007E102C  .~.$.~.(.~.,.~.
            MP:007E1030| 007E1030 007E1034 007E1038 007E103C 0.~.4.~.8.~.<.~.
            MP:007E1040| 007E1080 007E1084 007E1088 007E108C ..~...~...~...~.
            MP:007E1050| 007E1050 007E1054 007E1058 007E105C P.~.T.~.X.~.\.~.
            MP:007E1060| 007E1060 007E1064 007E1068 007E106C `.~.d.~.h.~.l.~.
            MP:007E1070| 007E1070 007E1074 007E1078 007E107C p.~.t.~.x.~.|.~.
            MP:007E1080| 007E10C0 007E10C4 007E10C8 007E10CC ..~...~...~...~.
            MP:007E1090| 007E1090 007E1094 007E1098 007E109C ..~...~...~...~.
            MP:007E10A0| 007E10A0 007E10A4 007E10A8 007E10AC ..~...~...~...~.
            MP:007E10B0| 007E10B0 007E10B4 007E10B8 007E10BC ..~...~...~...~.
            MP:007E10C0| 007E1100 007E1104 007E1108 007E110C ..~...~...~...~.
            MP:007E10D0| 007E10D0 007E10D4 007E10D8 007E10DC ..~...~...~...~.
            MP:007E10E0| 007E10E0 007E10E4 007E10E8 007E10EC ..~...~...~...~.
            MP:007E10F0| 007E10F0 007E10F4 007E10F8 007E10FC ..~...~...~...~.
            MP:007E1100| 007E1140 007E1144 007E1148 007E114C @.~.D.~.H.~.L.~.

Is this a known problem? Is there some workaround?

With kind regards

Christian Mauderer

Labels (1)
0 Kudos
1 Solution
625 Views
igorpadykov
NXP Employee
NXP Employee

Hi Christian

for mask 2N14W it is necessary to run ddr test i.MX8 MSCALE SERIES DDR Tool Release (V2.10) 

and rebuild uboot (using latest uboot-imx - i.MX U-Boot ) using Chapter 4 How to bring up a new MX8MSCALE board MSCALE_DDR_Tool_User_Guide.pdf included in ddr test package.

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
2 Replies
626 Views
igorpadykov
NXP Employee
NXP Employee

Hi Christian

for mask 2N14W it is necessary to run ddr test i.MX8 MSCALE SERIES DDR Tool Release (V2.10) 

and rebuild uboot (using latest uboot-imx - i.MX U-Boot ) using Chapter 4 How to bring up a new MX8MSCALE board MSCALE_DDR_Tool_User_Guide.pdf included in ddr test package.

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
625 Views
christian_mauderer
Contributor III

Hello Igor,

thanks for the hints. The connection between U-Boot and a wrong memory content before U-Boot had a chance to execute any code is quite unclear. One of the other developers in the project found out that the image format generated by mkimage changed slightly. Of course that tool is updated together with U-Boot too. But maybe it would be good to add a note to the mask migration guide about that or - if it is already there - highlight it a bit more.

Best regards

Christian

0 Kudos