五、mini2440_bsp_nand

一、原理介绍

1、实现目标

        测试Nand Flash读取功能。s3c2440启动会自动拷贝前4K到片内SRAM,前4K程序(程序功能)将Nand Flash的4096~(4096+2048)的2K程序读取到片外SDRAM中,引导执行;当被读取、引导的程序正常执行,即可证明Nand Flash读取成功。

        

2、Nand Flash手册指令

(1)K9F2G08R0A(256M)

操作指令

地址 

 

(2)K9K8G08U0E(1G)

操作指令

地址

 二、实现分析

1、s3c2440配置

(1)配置时序(寄存器)

(2)使能Nand Flash控制器,初始化ECC,禁止片选

(3)复位Nand Flash

2、操作Nand Flash(根据Flash手册的指令)

三、实现过程

1、伪代码

1、设置栈针(片内SRAM)
2、关闭看门狗(c语言)
3、初始化SDRAM(c语言)
4、初始化Nand Flash(c语言)
5、调用nand_read函数(函数参数:r0,r1,r2;分别表示第一、二、三个参数)(c语言)
6、初始化栈针(片外SDRAM)
7、引导main函数(从Nand Flash的4096~(4096+2048)的程序)

2、链接脚本(nand.lds)

SECTIONS { 
  //引导程序存储在0地址(上电被拷贝至片内SRAM执行),运行地址设置为0
  firtst  	0x00000000 : { start.o init.o nand.o}
  //将main函数存储地址设置为4096,运行地址设置为30000000(片外SDRAM)
  second 	0x30000000 : AT(4096) { main.o }
} 

3、程序参考

参考程序:https://download.csdn.net/download/liutit/86763300

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值