- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
最新Uboot移植步骤 5:NorFlash
最新Uboot 移植步骤 5 :NorFlash
显示Flash :***failed*** ,说明norflash 未识别,我们搜索“Flash :”
进入第一个查看
找到这个判断条件,如果flash_size0 则输出flash 大小,否则输出
*** failed ***
### ERROR ### Please RESET the board ###
其中hang 函数导致程序无法继续向下执行,我们只实现了nand 启动肯定在这会卡住 ,所以我们不用这个hang
函数,直接输出flash 未识别的信息就好了,改动如下:
现在来找norflash 未识别的原因,进入flash_init 函数
看见这样一段代码
可知,有2 个函数可以检测flash 的大小如果flash_detect_legacy 函数不行再使用flash_get_size 函数,先进
入flash_detect_legacy 函数看下,其结构如下:
该函数有2 个,使用哪一个由宏CONFIG_FLASH_CFI_LEGACY 决定,搜索该宏:
很明显,前面我们都是使用该函数进行大小检测的,而该函数无法识别flash ,那我们使用新方法进行检测,进
入新方法查看:
发现有很多可用调试信息,我们看看如何起用这些调试信息:
发现只要定义了_DEBUG 即可启用调试信息,我们定义该宏:
在文件开始发现注释:
我们直接定义 DEBUG 即可,
配置,编译,下载到板子norflash :
重新上电从norflash 启动,输出如下:
我们查看JEDEC PROBE:从哪来
查看norflash 手册,看读取的设备ID 是否正确
可以看到输出的厂家设备ID 是正确的,
说明下面这个函数读取正确
那就是
函数出现错误,我们进入该函数查看:
通过注释就可看到该函数是把我们读取的ID 与这里的jedec_table[] 数组里的ID 进行比较,看这个数组:
该数组里存有各种型号的设备参数,而我们的不在其中,我们自己添加:
发现这里有个和我们类似的,拷贝代码用下:
添加后修改成我们自己的:
*****************************************************************************************
现在先说一下,这些参数都如何得到的并修改:
.mfr_id = 0x001c001c,
厂家ID ,
.dev_id = 0x2249,
设备ID
.name = EON EN29LV160A,
名字自己取
.uaddr = {
[1] = MTD_UADDR_0x0555_0x02AA /* x16 */
},
解锁地址,如图:
NorFlash 读ID 时,前3 周期是写数据,第4 周期是读数据,先在555 地址写AA ,再在2AA 地址写55 ,再在
555 地址写90 ,这时解锁成功,就可以从地址100 读取厂家ID 是1C ,设备ID 也是如此。
这里我们看到uaddr[1]是为16 位进行解锁的,所以我们把[1]设为MTD_UADDR_0x0555_0x02AA ;
.DevSize = SIZE_2MiB,
norflash 大小,查看手册:
1024K*16bit=1024*1024*16 bit=1024*1024*2 Byte=2MByte;
.CmdSet = P_ID_AMD_STD,
这个不用管;
.NumEraseRegions= 4,
.regions = {
ERASEINFO(16*1024, 1),
ERASEINFO(8*1024, 2),
ERASEINFO(32*1024, 1),
ERASEINFO(64*1024, 31),
}
块结构,见手册:
共有4 种块,每种个数都不同。
***************************************************************************************
配置编译下载观察:
可以识别norflash 大小为2M 了,但有个error :too many flash sectors ,我们搜索下这个错误:
这里只要扇区数量大于19 就会出错,我们把值改大些:
现在已经识别了,把DEBUG 调试去掉:
编译,下载:
查看norflash 信息:
RO 是软件上定义这一块是只读的,想烧写就要
我们的uboot 大概400K ,肯定在
您可能关注的文档
- 暖通强制性条文.pdf
- 暖通空调课设参考.pdf
- 曲江出版传媒投资集团发展战略及商业模式创新.pdf
- 暴风投资建议书(修改).pdf
- 智慧华明新市镇科技惠民综合示范.pdf
- 更新:重庆大学材料力学考研重点知识点详解.pdf
- 更高更妙的物理:专题21__说__磁.pdf
- 智能红外避障小车.pdf
- 更高更妙的物理:专题24__几何光学问题集成.pdf
- 曹国岭分析股份制商业银行经营战略转型路径.pdf
- 6.2中华人民共和国主席+课件-【质优备课】2024-2025学年八年级道德与法治下册优质课件+教学设计.pptx
- 6.3+金属防护和废金属回收---2024-2025学年九年级化学沪教版上册+.pptx
- Unit 7 Lesson3 Good sleep for good health(同步课件)初中英语.pptx
- 8下-5.3-基本经济制度 2024-2025学年七年级道德与法治下册.pptx
- 专题10+社会建设(课件)2025年中考道德与法治二轮复习讲练测(江苏专用).pptx
- 9.1+西亚+第二课时+课件-2024-2025学年七年级地理下学期人教版(2024).pptx
- 2025年盐城中考化学(人教版)总复习《第二部专题47化学思想方法的应用(二)》.pptx
- 2024-2025学年人教版2024英语七年级下册Unit4+Eat+Well+SectionB+Project课件.pptx
- Unit 7 Lesson4 Tim's healthy lifestyle(同步课件)初中英语.pptx
- Unit+8+Once+upon+a+time++Section+A+2a-2e+课件+2024-2025学年人教版英语七年级下册.pptx
最近下载
- 机械测量培训课程.pptx
- 医疗器械安全有效基本要求清单填写参考模板2024年.docx
- 人教版(2024)数学一年级下册四 100以内的口算加、减法 练习.pptx
- 电气装置安装工程质量检验及评定规程DLT5161 2018.doc
- 做好客舱清洁前准备课件讲解.pptx
- 铁道信号论文-信号机维护与故障处理.doc
- ISO13485质量手册+全套程序文件.docx VIP
- 汽车机械维修工(高级技师)职业鉴定考试题库资料(高频300题).pdf
- 多维视角下梧州市普通高中体育生学训现状剖析与发展路径探索.docx
- 江南事业编招聘考试题历年公共基础知识真题汇总-综合应用能力(2010-2021.pdf VIP
文档评论(0)