Android系统的内存地址空间

直接上图:

CPU有32位地址线,共4G的存储空间。

SRAM:异步存储器。
NAND Flash:早起这种存储器件件被称之为Memory Technology device,即Linux中统称的MTD
misc:
boot:linux内核
recovery:保存和boot分区中原始的内容。用户恢复出厂模式时,系统用这部分内容覆盖boot分区
cache:
radio:无线通讯模块。基带处理器系统所需要的执行代码。基带处理器:用于提供底层的无线通讯,电话、短信、3g上网等。手机内部包括应用程序处理器和基带处理器。
efs:
system:android内核文件
data:应用程序所需要的data文件
sdcard:
SDRAM:同步动态RAM。对程序员来说,跟SRAM没什么区别
外设地址空间:嵌入式设备中一般采用统一总线结构,即所有外部设备共用一个地址空间。不像PC机,有南北桥之分。

Android系统的内存地址空间_第1张图片


引导过程:

CPU上电后,首先从CPU内部的一小段引导程序中执行,这段程序就是OnChip bootloader(片上引导程序)。这段程序是CPU厂商固化的,1kb左右的大小,目的是从NandFlash的固定地址装载程序,按照扇区的方式进行读取。注意,此时装载的程序还没有真正开始执行。

片上引导程序运行后,加载二次引导程序,就是上面图中的second bootloader。其设计思想是:设计一个只有接口驱动的,没有任何应用的最小系统,然后借助于该最小系统区加载真正的操作系统。二次引导程序可以识别ext文件系统,可以驱动以太网口,具有USB接口驱动,大小2M以内。这段代码一般需要使用JTAG仿真器进行固化。

fastboot就是一种开源的二次引导程序。它读取ext分区中的update.zip来更新系统,也可以通过USB连接PC,将PC提供的映像文件写入指定的分区。

你可能感兴趣的:(android,嵌入式,存储,System,通讯,linux内核)