u8,u8国际,u8国际官方网站,u8国际网站,u8国际网址,u8国际链接,u8体育,u8体育官网,u8体育网址,u8注册,u8体育网址,u8官方网站,u8体育APP,u8体育登录,u8体育入口
hal_platform_setup.h定义了宏platform_setup1以供vectors.S调用。该宏定义了目标板上SDRAM和FLASH的初始化启动,其中包括了它们的取数方式和内存大小。然后根据不同的启动方式执行程序。对于RAM启动方式,无需进行程序段与数据段的搬移,系统已认为SDRAM的起始地址即为程序的起始地址;对于ROM启动方式,需要搬移数据段,而程序段无需搬移;对于ROMRAM启动方式,程序段与数据段都需要进行搬移,然后再把程序起始地址映射为SDRAM的起始地址。
平台的内存布局文件在include/pkgconf目录下。通常,每个平台包括了RAM、ROM和ROMRAM 3种不同启动方式的内存布局文件集。每种启动方式的内存布局文件集都由3个类型的描述文件组成:.h文件包含内存域的C宏定义;.ldi文件定义内存域和内存段位置的链接脚本文件;.mlt文件包括由MLT工具产生的对内存布局的描述。当需要手动修改内存布局时,只有.h和.ldi文件可以被修改,.mlt文件只能由MLT工具生成。
在mlt_arm_s3c2510_ram.ldi中分为两大部分。首先是MEMORY部分,它定义了在RAM启动方式下所需要的内存域,以及该内存域的起始地址和长度。MEMORY部分的内容必须与mlt_arm_s3c2510_ ram.h中定义的宏一致。其次是SECTIONS部分,它定义了RAM启动方式下所规定的内存段,这些内存段的定义与系统内存管理功能有关。在SECTION_XXX后带有相应的参数,这些参数包括了内存段所属的内存域、起始地址(或者是对齐方式)、虚拟内存地址(VMA)和加载内存地址(LMA)。
@HASHKFK