完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
这篇文章其实不在计划内,是突然遇到了点情况,然后想想有必要说一下,就突然在RicoBoard系列中加一篇文章,先说说我遇到的情况。故事的开头是这个样子,小狂最近一直在研究内核驱动的事,昨天练手写了一个按键中断的子系统,但是注册中断号的时候,就误把GPIO号写错了,171写成了117了,然后导致驱动加载的时候系统出现问题,崩溃了,后来我找问题,发现即使是我写成117也没啥问题,为什么会崩溃,为神马会崩溃,我也不知道,等米尔的工程师给回复,崩溃后,我就复位键呗,然后非常神奇的事情发生了,启动不起来了,准确来说,不是启动不起来了,是qspi程序启动不起来啦,但是SD卡也是能启动起来的。然后就开始捣鼓, 根据最最开始的猜测,有可能是qspi存储的信息丢失才导致uboot启动不起来的。说到这里,再谈一谈uboot的启动方式,上图。 其实ti的am437x系列是有5个启动选择脚的,米尔只放了两个,不同的匹配表明了不同的启动方式,直接表明了启动顺序,这个启动指的是按照ti的boot的启动流程来说你的第一个启动程序存放的位置,小狂当时处在第一个阶段所以当qspi的uboot信息损坏后,就会依次找u***1、mmc0(sd卡)和u***0,由于我当时的卡是插在板子上的,所以能从SD卡启动也就没有什么问题。可是后来我就不能理解了,发现了一个很神奇的现象,当你按下复位键的的时候板子本身,或者说UBOOT,不会重新读取选择的值,而会沿用上一次的值,这个可能是uboot中的问题,确实理解不了。 下边就是重新往qspi flash中烧写uboot,但是遇到了各种问题,首先我发现,在我烧写的时候会出现如下状况,是根本就不识别qspi啊,卧槽,nnd,tmd神马情况 难道说小狂的点子那么背吗,因为一个小操作就把qspi给干烧了,不能把,不至于那么脆弱吧,找问题吧,我始终不相信是这个样子的,所以就只能靠猜了,后来经过多次启动,发现,在uboot启动的时候就出现了问题 就是找不到QSPI,既然在uboot阶段都会出问题,那就只能去uboot中找问题啦,然后看看能不能再uboot中操作qspi。当我在uboot中执行下列命令的时候依然会出现问题 还是找不到qspi flash,这就让我在当时非常确认就是硬件出了问题。所以就毫不犹豫买了3片qspi flash,我的50大洋啊,哎,太冲动。可是这还没有一个合适的解释,小狂就想啊,想啊,想啊,尝试啊,结果,就在蛋疼的时候,突然发现,qspi能识别,不知道为啥有时候能识别,有时候不能识别,难道是延时加少了,无意中的发现,动摇了。 再次在uboot下尝试,看看能不能识别 已经识别,这时候,我们要从uboot从sd卡启动,这是我的第二个疑问,无论我从哪种方式启动,最后都是从mmc加载内核,总的来说,sd卡的内核就是个摆设,环境变量不能读取,什么鬼,这又是神马鬼,神马鬼,天呐,怎么启动个内核困难重重,这个真是找不到原因了,那就好吧,既然这样,进入不了sd卡,就没法重新烧写emmc和qspi,只能曲线就过了,我们就直接从uboot启动,在uboot中直接输入下面的指令 不要问我真么知道的,在uboot中看环境变量啊,哈哈,好了现在我们能进入SD卡中啦 这个时候我们烧写qspi和emmc,下图是全部的返回指令,烧写完成后,从qspi还是启动不起啊,让我们来继续分析。 这是全部的烧写信息,会发现, 图中红色的部分可以看出烧写是有问题的。既然用现成的烧写不进去,那我就在Uboot中烧写。还要回到uboot,亏得,小狂对uboot的指令还是比较熟悉的,往qspi中烧写uboot跟往nand里烧写uboot差不多,只不过我们要把nand换成sf,烧写之前我们应该确定点参数,dram的起始地址,和uboot在qspi中分的大小。 看下图 知道了起始地址就好办,还需要知道uboot所在的区域
512K,起始地址为0,下边强行烧写。先选中我们的qspi 首先把sd卡中的uboot,拷贝到内存中 擦除从0开始512k空间 然后把内存中的数据写入到qspi flash中 到此,所有的东西准备就绪,剩下的事就交给佛祖吧,我们拔掉内存卡,然后切换到带qspi的启动方式。 果然功夫不负有心人,终于启动成功啦,上个图庆祝一下。 |
|
相关推荐
4 个讨论
|
|
只是想认真的对待每一篇文章,回头看看,其实还是蛮有成就感的,不是为了写文章而写文章,当以后有人搜到关键词的时候,能详细的为别人提供思路,哈哈,尽量用自己能力改变原创的现状吧,哈哈 |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
【米尔-紫光MYB-J7A100T国产FPGA开发板试用】米尔-紫光PG2L100H国产FPGA开发板开箱评测
1005 浏览 0 评论
【米尔-紫光PG2L100H国产FPGA开发板试用】官方LED例程测试体验
4680 浏览 0 评论
【米尔-紫光PG2L100H国产FPGA开发板试用】上电测试报告
4322 浏览 0 评论
【米尔-紫光PG2L100H国产FPGA开发板试用】开箱评测!米尔电子PG2L100H开发板深度体验报告
978 浏览 0 评论
【米尔-Xilinx XC7A100T FPGA开发板试用】+04.SFP之Aurora测试(zmj)
802 浏览 0 评论
【米尔-瑞米派兼容树莓派扩展模块-试用体验】基于ROS系统的三麦轮小车自主导航
3651浏览 2评论
【米尔NXP i.MX 93开发板试用评测】5、安装Debian和排除启动故障
711浏览 2评论
【米尔NXP i.MX 93开发板试用评测】2、异构通信环境搭建和源码编译
853浏览 2评论
【米尔-瑞米派兼容树莓派扩展模块-试用体验】Free RTOS应用开发环境部署
1452浏览 1评论
【米尔-芯驰D9开发板- 国产平台试用】- 03- 外设接口测试-U盘、485总线
6816浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 07:12 , Processed in 0.663688 second(s), Total 80, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号