i.mx rt1062 不能从外部 QSPI FLASH启动问题
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
我在i.mx rt1062系统应用中通过flexSPIA1连接一片GD25Q64C的flash,在SDK_2.70_EVK-MIMXRT1060 IAR led_blinky工程flexspi_nor_debug中可以用DAPLink Download并运行,但是断电后再上电系统却不能从QSPI FLASH中启动运行,用MCU NXP Boot Unitily 读出eFuse发现0x460寄存器值为0x00000008,即DIR_BT_DIS=1(1 - Direct boot from external
memory is not allowed),是不是因为DIR_BT_DIS=1才不能从外部QSPI FLASH 启动的?
我的启动设置为:boot_mode[1:0]=10b,
boot_cfg1[7:0]=0x00,
boot_cfg2[3:0]=0x0;
IAR 中有设置: XIP_EXTERNAL_FLASH=1
XIP_BOOT_HEADER_ENABLE=1
CPU_MIMXRT1062DVJ6A
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
感谢您的回复!
不知道什么原因用NXP-MCUBootUtility-2.2.0软件能加载到flashloader,但是识别不了GD25Q64C芯片,所以下载不了image,如图1:我确定led debug的地址是从外部qspi_flash运行的,如下图:
我用jflash软件用jlink也能成功将NXP-MCUBootUtility-2.2.0\apps\NXP_MIMXRT1060-EVK_Rev.A1\led_blinky_0x6000a000.srec 烧写到GD25Q64C flash中,但是也不能成功启动运行。问题出在哪里呢?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
楼主你好!
你用MCUBootUtility tool连接你的芯片是不是能连上呢?
看看log是什么信息?我看你之前能读fuse,说明你已经失败了你的QSPI flash了。
但是看你左下角的memory信息好像并没有读出来,我看你的QE位置也配置的对的。
另外,你有没有参考我们的AN12183 How to Enable Debugging for FLEXSPI NOR Flash.pdf
https://www.nxp.com/docs/en/nxp/application-notes/AN12183.pdf
https://www.nxp.com/webapp/Download?colCode=AN12183SW&location=null
直接读写你的外部flash是否都可以成功?
还有,你能用IAR debug, 你读下你的0X60000000, 0X60001000, 看看这些地方的IVT, 等信息, 和你的0X60002000是否能对应起来。你的app起始是0X60002000吗?
我现在是在家办公,所以手里没有你的芯片,后续如果你还有问题,等我会公司,找看看是否有你的QSPI,然后也帮你试试。
Have a great day,
Kerry
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
感谢Kerry Zhou!
问题已经解决,是flexspi_nor_config里的DUMMY_SDR周期数配置错了,把它改成0x06就可以正常启动了;但是用MCUBootUtility tool连接却无论如何就识别不出GD25C64C flash。
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi rayandy fan,
很高兴听到你的问题解决了。
你说的是下面图中黄色快的0X06吗?
关于MCUBootUtility连接的问题,我觉得还是可能和flashloader有关,就如AN12183 中提到的:
所以,可能还是需要修改下对应的flashloader,然后再替换掉MCUbootUtility里面的flashloader.
Have a great day,
Kerry
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
我是修改了图中黄色部分的0x06,它原来是0x08。
稍后我再试一下MCUBootUtility。
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
楼主你好!
我看了我们SDK默认就是0X06, 你说的原来是0X08,你的代码是SDK2.7.0吗?
Have a great day,
Kerry
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
哦,0X08那是我最先开始改的。再说明一下,SDK_2.70_EVK-MIMXRT1060里边的led_blinky例子用的flashloader用在GD25C64C qspi_flash FLASH_SPI_4PAD是不行的,需要根据AN12183中修改flashloader,把led_blink原来的flashloader换掉才可以正常运行。
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
好的,感谢你的经验分享!
Have a great day,
Kerry
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi rayandy fan,
楼主你好!
实际上你提到的DIR_BT_DIS=1, 0x460寄存器值为0x00000008,并不会影响功能。
你看到,我这边读出来的数据和你一样,我是官方的MIMRT1060-EVK 板子。
你说的debug没有问题,你有没有检查你led debug的地址,是否是外部flash?
另外,我建议你直接用MCUBootutility自带的app烧录试试,防止你生成的image有问题。
NXP-MCUBootUtility-2.2.0\apps\NXP_MIMXRT1060-EVK_Rev.A1
你可以选择led_blinky_0x6000a000.srec 试试。
如果还有问题,欢迎继续交流!
Have a great day,
Kerry
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------