必威体育精装版Uboot移植步骤 5:NorFlash.pdf

必威体育精装版Uboot移植步骤 5:NorFlash.pdf

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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 ,肯定在

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档