完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我们正在开展一个在 LS1043A 板上使用 QSPI 闪存的项目。我们选择的flash来自两个供应商:Macronix和ISSI,我们在每块板上使用2个来自同一供应商的spi flash,一个作为主引导源,另一个作为备份。对于 ISSI,具体来说,我们使用的是 IS25LP512M /IS25WP512M。
一切都在内核版本 4.4 上完美运行。该板的启动过程(Macornix 和 ISSI 闪存)都是 25M 时钟,性能符合我们的预期。最近我们正在运行同一个项目,但内核版本为 5.1。这是奇怪的事情发生的地方: 对于5.1内核版本,我们仍然在每块板上使用2个spi flash,引导方案与我们在内核4.4中所做的相同。我们做的唯一改变是在BSP代码中:一旦LS1043a在第一次启动时从spi flash中获取输出数据,它会首先检测数据大小。如果大于一定的字节数,软件会转为IP命令模式,否则继续用AHB命令传输。我们希望这个 IF 块能够提高效率。 我们加上这个size-detection功能后,使用ISSI spi flashes的板子在boot阶段彻底失效了。我们在 MTD 阶段转储了 bin 文件,但发现我们从带有 AHB 的闪存中获得的 ENV 值全为零。这会导致驱动程序读取 ALL EMPTY 的 env 值,从而无法启动。ISSI 丢失了比特。同样的问题不会发生在 Macronix spi flash 上,我们确实获得了用于引导的正确 ENV 值。 a) 从LS1043a参考手册中,我们知道对于不同的供应商,spi控制器根据板上连接的串行闪存设备在LUT中预编程了不同的读取序列。 这听起来像一个类似的问题吗?如果是,有没有可能让ISSI flash兼容这个内核版本?如果不是,能否请您向我们提供一些关于问题可能出在哪里的建议? b) 您在 4.4 和 5.1 之间做了哪些更改,可能对使用 spi 闪存时的 ahb 命令有一些影响? |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1930个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36414 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4782 浏览 1 评论
6099 浏览 1 评论
6807 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4243 浏览 0 评论
641浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
637浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
639浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
724浏览 2评论
833浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 11:24 , Processed in 0.992778 second(s), Total 45, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号