历史上的今天
今天是:2025年07月22日(星期二)
2018年07月22日 | 关于S3C2440开发板Nand flash程序烧写和运行的一些理解
2018-07-22 来源:eefocus
这两天刚开始学习ARM9的裸机编程和Linux系统移植,在烧写Nand flash内存的时候对一些指定的地址产生了疑惑。
我看过很多教学视频,他们在烧写程序到Nand flash的时候一般会指定一个地址0X3000_0000,而S3C2440的官方手册上指明了0X3000_0000地址对应的片内外设是SDRAM。这不禁让我产生了疑问。明明是指定了SDRAM却烧写到了Nand flash,为什么?
为了解决我的疑惑,在网上看了很多人的解释,这不仅解开了我的疑惑,还引出了许多相关知识点。
要解答这个问题,首先要从Nand flash本身的结构说起。Nand flash的结构和RAM不一样,它的数据线是复用的,内与足够的地址线用来寻址,对于它的数据存取通常是以块为单位。这一点跟Nor flash不一样,Nor flash带有RAM接口,有足够的地址线进行寻址,所以CPU可以访问Nor flash内部的每一个字节,程序可以在nor flash中运行,而Nand flash不行,所以Nand flash中的程序想要运行必须拷贝到内存(一般是SDRAM)当中来。
当我们想烧写程序至Nand flash中时,会借助一个“中转站”,既SDRAM。程序先烧写到SDRAM中(这就是指定0X3000_0000地址的原因),然后在从SDRAM中拷贝到Nand flash中去,而这个拷贝工作由实现烧写到Nor flash中的uboot程序引导完成。
此外,当我们向2440开发板移植Linux系统的时候,要向Nand flash烧写三个文件,分别是:uboot、Linux kernel和文件系统。每一步的烧写也跟前面一样借用SDRAM作为烧写的“中转站”。但是,我们在烧写的时候并没有对每一步的烧写地址做特定的处理,那怎么能够保证写着三个文件的时候后面的不会覆盖前面的呢?我的理解是:还是Nor flash中的uboot程序的功劳,它会引导着三个文件分别拷贝到Nand flash的不同位置中。
那么,说完了Nand flash烧录的问题,自然而然就应该说一下Nand flash中程序运行的问题。前面我们说到,Nand flash中不可以执行程序,而在我们选择从Nand flash启动的时候,S3C2440会自动将Nand flash的前4KB的代码拷贝到内存当中一个Stepping Stone(一般称为垫脚石)的片内内存当中(这一步操作由芯片内部的硬件决定,不用我们操心),PC跳转到0地址去执行这些代码。但是,这个片内内存只有4KB,当我们在Nand flash中的程序大于4KB的时候怎么办呢?这时候,就是这最先拷贝过去的4KB代码发挥作用的时候了。这4KB的代码会帮我们初始化SDRAM,然后将Nand flash中剩下的代码一并拷贝到SDRAM中,PC跳转到SDRAM中去执行剩下的程序(所以我们的裸机程序一般不会超过4KB)。
终于说完了,虽然烧写只有短短的几步,但是其中蕴含的知识点还是蛮多的,这或许也就是嵌入式的特点吧。
史海拾趣
|
1.本软件能帮助您快速掌握对电力线通信模块的使用,完成开发、测试与评估等工作。 2.本软件为纯绿色软件,无需安装,只要双击或右键打开名为“PLMtest.exe ” 的文件即可运行。 3.当打开“PLMtest.exe ” 文件发生错误时,有可能 ...… 查看全部问答> |
|
我现在用VS2005 得移动设备下得Win32编写应用软件。发现在VS2005移动设备下,没有包含CBitmap Button类。 请问我才能怎么实现位图控件呢? 谢谢!!!… 查看全部问答> |
|
我编译linux2.4的内核+板子带的文件系统烧到优龙的板子,结果报这个,请问是什么原因有什么解决方法,那位大侠能说下哈 menuconfig里没有电源管理的选项 板子的型号是fs2410… 查看全部问答> |
|
因為公司的需要, 必須將原本寫好在windows下的程式改寫到winCE下面, 發現像是原本\"unistd.h\" \"stdint.h\"等可用的表頭, 都沒有辦法被使用了, 是否有比較好的網站或資源能在win CE 下找到對應的表頭呢? 謝謝各位先進的指教囉^^… 查看全部问答> |
|
想请教大家一个问题:中断优先级电路对下面的情况是怎么处理的:一个高优先级和一个低优先级的中断源同时申请中断,cpu在处理完高级的之后还处理低级的吗? 谢谢大家!… 查看全部问答> |
|
职位 主机软件工程师 职责 1、负责通信应用软件开发工作,完成相关的设计文档、代码编写。 2、对较为成熟的软件模块进行维护及二次开发。 3、参与相关质量活动,确保设计及实现工作按时保质完成。 职位要求 1、计算机、通 ...… 查看全部问答> |




