[SOLVED] IMX6 Solo Serial ROM ECSPI Boot

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

[SOLVED] IMX6 Solo Serial ROM ECSPI Boot

跳至解决方案
2,415 次查看
danielberhe
Contributor IV

Hi All,

I am working on a custom IMX6 Solo board. I built a custom u-boot based on the mainline u-boot version 2019.10. My u-boot image runs fine when I put the board in serial downloader mode (BOOT_MODE[1:0] = 01b) and load the image using boundary devices USB loader. From u-boot, I am then copying the same u-boot image (.imx extension) from an SD card to SPI flash at address 0x400. I read the image back from the SPI flash and stored it on the SD card under a different name. Beyond Compare confirms that both files are identical suggesting the SPI flash write was successful.

I've set the fusemap as follows:

BOOT_CFG1 = 0x30

BOOT_CFG2 = 0x00

BOOT_CFG3 = 0x00

BOOT_CFG4 = 0x08

fuse prog -y 0 5 0x08000030

I also set BT_FUSE_SEL by typing fuse prog 0 6 0x00000010.

I then tried to boot off the SPI flash by putting the chip in 'Boot From Fuses' mode (BOOT_MODE[1:0] = 00b). Sadly, I don't see any serial traces to indicate that u-boot is running. I attached a logic analyser and I can see that the entire image is being read from the flash. My understanding is that if either the IVT or the DCD verification fails, it will switch to serial download mode. The fact that the chip is reading the whole .imx file suggests that the IVT and DCD are fine. I also noticed, after attempting to boot from SPI flash, I wasn't able to use the USB loader to load the u-boot image again. I have to reset the board and put it in serial download mode. This suggests that the chip is stuck somewhere but I can't figure out where.

Attached is a screenshot of my logic analyser trace. I've also attached the full capture but Saleae's software (Logic analyzer software from Saleae ) is needed to open it

Any help would be appreciated.

Daniel

标签 (2)
标记 (3)
0 项奖励
回复
1 解答
2,122 次查看
danielberhe
Contributor IV

Hi Igor,

The issue turned out to be in my imximage.cfg file. I replaced 'BOOT_OFFSET FLASH_OFFSET_STANDARD' with 'BOOT_FROM spi' and it is booting fine now.

Thank you for all your help.

Daniel

在原帖中查看解决方案

0 项奖励
回复
4 回复数
2,123 次查看
danielberhe
Contributor IV

Hi Igor,

The issue turned out to be in my imximage.cfg file. I replaced 'BOOT_OFFSET FLASH_OFFSET_STANDARD' with 'BOOT_FROM spi' and it is booting fine now.

Thank you for all your help.

Daniel

0 项奖励
回复
2,122 次查看
danielberhe
Contributor IV

Hi Igor,

Thank you for your response.

Unfortunately, I am still unable to boot off SPI flash.

I switched to nxp uboot but that made no difference. I was still seeing the same behaviour.

I also read the OCRAM at address 0x907400 and I can see the IVT header there. Please see attached screenshot.

Regards,

Daniel

0 项奖励
回复
2,122 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Daniel

i.MX6DL Sabre SD board has spi-nor, one can test on it using

uuu or mfg tool and demo images from i.MX Software and Development Tools | NXP 

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

0 项奖励
回复
2,122 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Daniel

first may be recommended to try with nxp uboot:

uboot-imx - i.MX U-Boot 

Then attach jtag and check OCRAM address 0x00907400, described in

Figure 8-3. Internal ROM and RAM memory map, it should have ivt header copied from ecspi

i.MX 6Solo/6DualLite Applications Processor Reference Manual

For spi-nor programming one can use uuu tool, there is example "example_spinor.uuu"

in Linux Binary Demo Files - i.MX 6QuadPlus, i.MX 6Quad, i.MX 6DualLite, i.MX 6SoloX

GitHub - NXPmicro/mfgtools: Freescale/NXP I.MX Chip image deploy tools. 

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

0 项奖励
回复