完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我使用的 FX3 配置了 SPI 启动和IS25WP128闪存。 我可以用它成功启动第二阶段引导加载程序。 在我的第二阶段引导加载程序中,它会读取一些闪存,然后从闪存中启动主固件。
我注意到,我需要在第二阶段引导加载程序的main()中首先延迟约 2 微秒,否则闪存读取将失败。 第二阶段引导加载程序中的闪存读取按照 FX3 的 SDK 示例(boot_fw/src/spi_test.c)中的实现方式进行。 [bootFromSpi()])。 交换延迟和配置 SPI 也能达到同样的效果。 事件时间轴:
进一步调试后,根据FX3 启动选项文档第 7.1 节的说明: For SPI boot, the bootloader sets CPOL=0 and CPHA=0.我注意到我是在第二阶段引导加载程序中为 SPI 接口设置的。 spiConfig.isLsbFirst = CyFalse; spiConfig.cpol = CyTrue; spiConfig.cpha = CyTrue; spiConfig.ssnPol = CyFalse; spiConfig.leadtime = CY_FX3_BOOT_SPI_SSN_LAG_LEAD_HALF_CLK; spiConfig.lagTime = CY_FX3_BOOT_SPI_SSN_LAG_LEAD_HALF_CLK; spiConfig.ssnCtrl = CY_FX3_BOOT_SPI_SSN_CTRL_FW;因此,我可以得出的结论是,默认引导加载程序使用模式 0 访问闪存,而我的第二阶段引导加载程序使用模式 3 访问闪存。如果我将第二阶段引导加载程序改为继续使用模式 0,就完全不需要这么小的延迟了。 SPI 闪存支持模式 0 和模式 3。 如果有模式切换,似乎需要一点延迟。 我的一个假设是,默认引导加载程序在处理第二阶段引导加载程序之前,尚未干净利落地完成闪存读取,但我没有证据证明这一点,因为引导加载程序代码是保密的。 我的问题是
|
|
相关推荐
1个回答
|
|
在这种情况下,第二阶段引导加载程序需要在读取 SPI 闪存之前进行微秒级延迟,原因可能有以下几点:
1. **电源稳定**:当 FX3 从 SPI 启动时,电源可能需要一些时间来稳定。在电源稳定之前,SPI 闪存可能无法正常工作。延迟可以确保电源稳定,从而避免读取失败。 2. **SPI 接口初始化**:在第二阶段引导加载程序开始读取 SPI 闪存之前,可能需要一些时间来初始化 SPI 接口。延迟可以确保 SPI 接口已经正确初始化,从而避免读取失败。 3. **闪存启动模式退出**:IS25WP128 闪存在启动模式下可能需要一些时间来退出启动模式。延迟可以确保闪存已经退出启动模式,从而避免读取失败。 4. **时序要求**:SPI 闪存和 FX3 之间可能存在一定的时序要求。延迟可以确保满足这些时序要求,从而避免读取失败。 5. **缓存刷新**:在某些情况下,FX3 可能需要刷新其缓存以确保从 SPI 闪存中读取的数据是最新的。延迟可以确保缓存已经刷新,从而避免读取失败。 总之,延迟可以确保 SPI 闪存、FX3 和第二阶段引导加载程序之间的同步和稳定性,从而避免读取失败。你可以尝试调整延迟时间,以找到最佳的延迟长度。同时,也可以检查 SPI 接口的配置和时序设置,以确保它们满足 IS25WP128 闪存的要求。 |
|
|
|
只有小组成员才能发言,加入小组>>
请教个XMC1404调试串口接收时为什么一直无法接收数据的问题
368 浏览 0 评论
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
6342 浏览 2 评论
4108 浏览 9 评论
请问TLE5012B_E1000 启动后为什么位置不能正确获取
3634 浏览 9 评论
1232 浏览 8 评论
463浏览 2评论
272浏览 2评论
381浏览 2评论
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
6344浏览 2评论
如果是打开已有的dave工程,怎么查看这个工程选择的mcu型号?
461浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 23:39 , Processed in 0.503656 second(s), Total 44, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号