新手学习ARM,对片内ram、SDRAM、NOR FLASH和NAND FLASH启动这几个概念不理解,还有uboot不懂,求大虾指点
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了新手学习ARM,对片内ram、SDRAM、NOR FLASH和NAND FLASH启动这几个概念不理解,还有uboot不懂,求大虾指点相关的知识,希望对你有一定的参考价值。
能否给说下ARM板子的这几块内容有什么作用。
首先,我的板子的核心板上,有一个S3C2440的ARM9芯片,SDRAM内存,nand flash,NOR FLASH等。那么,我不明白,片内ram是什么?
还有,系统启动,包括nor flash 启动,nand flash启动,而操作系统是放在nand flash的好像,那么这两块有点像电脑的硬盘吧,而sdram就像内存吧,那片内ram有个什么用啊?
我看到ARM里经常有一个概念叫uboot,和boot-loader是一回事么?而且flash的前4K的内容,是引导程序,这个又是什么,也是uboot么?
总是,对启动的流程和乱,乱的受不了了,感觉门都如不了,希望能给点帮助啊,大侠
片内的ram用来存储启动代码,在2440初始化sdram之前,代码就在片内ram中运行。片内ram装载的是norflash中的内容,即u-boot。
uboot放在norflash里,nandflash就存放的操作系统。所以norflash相当于电脑的bios,nanflash才是硬盘。sdram就是内存了
uboot是一级启动代码,即bootloader,用来加载操作系统(nandflash)到sdram并且执行,当然uboot还能格式化nandflash和安装新系统的功能。
哎,新手啊,刚买的板子,刚又遇到一堆问题,还没解决。
再问下哈,我想知道的细一点,就比如说,现在一个ARM板子,我还没有启动电源,那么这个片内ram,和sdram肯定是没有东西的,那么这个时候,nor flash 和 nand flash里面有个啥呢?
还有,我现在启动板子之后,又有啥跑到片内ram里,有啥跑到sdram中呢?嗯,多谢帮助啊,我会加分的撒,能按照顺序给我大概说下,我略微有个印象先
nor flash 和 nand flash里面肯定有程序啊!!ARM启动后,有个自动的逻辑先从norflash开始执行程序(就像51单片机复位后PC=0000H,从这里开始执行程序),norflash是允许片内执行程序的,这个特性你需要了解。执行程序时,就把部分代码复制到内部sram,再跳转到sram执行完成sdram初始化,再将nandflash中的系统复制到sdram并运行,这样就启动了。
具体的启动过程,你可以在网上搜索到的。
SDRAM,属于动态RAM,位置在内核之外,甚至片外. 速度比静态RAM慢,也是易失的,用于系统计算数据/指令存储
NAND FLAHS NOR FLASH等属于FLASH, 断电可保存数据,用于存储程序代码和常量数据.两者的区别是: NOR是芯片内执行应用程序可以直接在flash内运行,传输效率很高,但是写入和擦除速度慢。 NAND存储密度高,并且写入和擦除的速度也很快但flash的管理和需要特殊的系统接口。
uboot是bootloader的一种.
引导程序是系统上电后一些初始化指令程序,主要是为系统运行做好准备,而没有什么用户功能(如串口读写代码), UBOOT就增加了一些用户功能和界面
2440启动流程
目录
title: 2440启动流程
tags: ARM
date: 2018-09-10 18:59:53
---
2440启动流程
NOR启动
- NOR启动的时候,NOR Flash 自身地址为0,片内RAM为0x4000,0000
- 程序直接在NOR上读取,运行
- NOR 能够像内存一样的读取 ,但不能直接写
NAND 启动
- 片内4KRAM的地址为0x0000,0000,NOR FLASH 不可见
- 自动复制Nand前4K的程序到片内RAM中运行
堆栈设置
堆栈可以设置在内部sram,也可以设置在片外的sdram
片内sram分为nor启动和nand启动,nor启动设置为0x40000000+4k,nand启动为4k
使用片外sdram的话要先初始化sdram,地址倒是固定的,可以统一设置sp到这个sdram 0x30000000+32M*2=0x34000000
如何判断
- 当从NAND启动的时候,其实程序是从片内4K的RAM启动,也就是能读能写了
- 当从NOR启动的时候,NOR是只读的
FAQ:
单片机上电瞬间是怎样在未编程的情况下将程序从nandflash考入sram的?
2440 有一个 boot rom 阶段,厂家固化了一段启动代码在片内rom中,这段代码能够简单的操作nandflash,把前4K拷贝到sram
以上是关于新手学习ARM,对片内ram、SDRAM、NOR FLASH和NAND FLASH启动这几个概念不理解,还有uboot不懂,求大虾指点的主要内容,如果未能解决你的问题,请参考以下文章
到底啥是nandflash,norflash,sdram,emmc,rom,ram
到底啥是nandflash,norflash,sdram,emmc,rom,ram