新手学习ARM,对片内ram、SDRAM、NOR FLASH和NAND FLASH启动这几个概念不理解,还有uboot不懂,求大虾指点

2024-11-07 15:51:58
推荐回答(2个)
回答1:

  1. 片内的ram用来存储启动代码,在2440初始化sdram之前,代码就在片内ram中运行。片内ram装载的是norflash中的内容,即u-boot。

  2. uboot放在norflash里,nandflash就存放的操作系统。所以norflash相当于电脑的bios,nanflash才是硬盘。sdram就是内存了

  3. uboot是一级启动代码,即bootloader,用来加载操作系统(nandflash)到sdram并且执行,当然uboot还能格式化nandflash和安装新系统的功能。

回答2:

片内RAM,速度最快,CPU存取总线速度最快,静态存储器,总而言之就是快!但造价高而且是易失的(断电不保存数据),用于CPU数据指令暂存,位置在内核

SDRAM,属于动态RAM,位置在内核之外,甚至片外. 速度比静态RAM慢,也是易失的,用于系统计算数据/指令存储

NAND FLAHS NOR FLASH等属于FLASH, 断电可保存数据,用于存储程序代码和常量数据.两者的区别是: NOR是芯片内执行应用程序可以直接在flash内运行,传输效率很高,但是写入和擦除速度慢。 NAND存储密度高,并且写入和擦除的速度也很快但flash的管理和需要特殊的系统接口。

uboot是bootloader的一种.

引导程序是系统上电后一些初始化指令程序,主要是为系统运行做好准备,而没有什么用户功能(如串口读写代码), UBOOT就增加了一些用户功能和界面