2440超详细uboot移植笔记(十)------支持NOR FLASH

你好!这里是风筝的博客,

欢迎和我一起交流。


之前我们修改了可以NOR FLASH 启动uboot,但是会发现:

Falsh: 0 Bytes

说明此时uboot并没有识别出 NOR FLASH,现在我们来修改修改

 

a.在cfi_flash.c(路径:drivers/mtd/cfi_flash.c)里写上定义:

#define _DEBUG1

这是一个宏开关,这样我们即可以看到一些uboot启动信息,会看到:

JEDEC PROBE: ID c2 2249 0

这是我们NOR FLASH的ID.

 

b.在jedec_flash.c 文件(路径:drivers\mtd\jedec_flash.c) 里的jedec_table数组最后那里加上新的型号信息:

{/*JZ2440:JEDEC PROBE:NOR: ID c2 2249 0     NAND:ID f0 ea00 0*/
.mfr_id = (u16)MX_MANUFACT,
.dev_id = 0x2249,
.name = "JZ2440",
.uaddr = {/*解锁地址*/
[1] = MTD_UADDR_0x0555_0x02AA /* x16 */
},
.DevSize = SIZE_2MiB,/*总大小*/
.CmdSet = P_ID_AMD_STD,
.NumEraseRegions= 4,
.regions = {
ERASEINFO(16*1024, 1),
ERASEINFO(8*1024, 2),
ERASEINFO(32*1024, 1),
ERASEINFO(64*1024, 31),
}
},

这里也是按照手册来的。

 

 

c.在smdk2440.h里找到:

 

#define CONFIG_SYS_MAX_FLASH_SECT (19)

这里最大FLASH扇区数CONFIG_SYS_MAX_FLASH_SECT是19,

而我们用的NORFLASH的扇区数是35,超过了最大扇区数限制

所以这个我们可以修改成128

 

d.注释掉:

#define _DEBUG1

 

 

e. 修改sp指针:

在uboot2016.11版本,执行完board_init_f后有一句:

ldr sp, [r9, #GD_START_ADDR_SP] /* sp = gd->start_addr_sp */,

所以不用我们设置了......

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值