读取Nand Flash程序到SDRAM

本文介绍了如何将程序从Nand Flash读取并加载到SDRAM中,重点解析了链接脚本和针对S3C2410与S3C2440的NAND Flash处理函数。通过结构体和函数指针实现不同芯片的兼容,并讨论了NAND Flash的读写规则和地址对齐的重要性。
摘要由CSDN通过智能技术生成

以下参考韦老师的程序;之前写的程序都小于4K,板子一上电会自动拷贝到SRAM,今天学习了韦老师的Nand flash,总结一下。在课程里,把程序分为两大部分:先看下nand.lds链接脚本,

SECTIONS{

firtst0x00000000 : { head.o init.o nand.o }

second 0x30000000 : AT(4096) { main.o }

}

在这里head.o init.o nand.o三个程序放到0x00000000,main.o放到4096处,(故意放到4K之外,练习一下把程序从Nand flash拷贝到SDRAM的能力,熟悉一下Nand flash的基本操作)

head.o文件是汇编文件;init.o 是初始化文件,用于关看门狗、设置SDRAM的13个寄存器,为程序拷贝做准备;nand.o用于定义nand flash的相关函数,初始化nand flash,完成程序拷贝工作;main.o是正常的小灯程序。这里重点是nand.o。

在韦老师的程序里,为了区分S3C2410和2440,在程序里建立了一个装有各个函数指针的结构体nand_chip,然后分别定义了S3C2410和2440的各种函数,
/* S3C2410的NAND Flash处理函数 */
static void

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值