ARM9微控制器的软硬件平台设计

[10-10 20:38:44]   来源:http://www.88dzw.com  其它电路   阅读:8568

文章摘要: LPC3180内部集成了ARM926EJS处理器内核,带存储器管理单元MMU,支持多数主流嵌入式操作系统。系统通过编写板级支持代码,移植了 Linux2.6.10作为平台操作系统,利用稳定的Linux2.6内核实现任务调度、进程管理、内存管理等功能,同时,针对Linux的可配置性,对内核进行裁剪和硬件驱动代码添加,系统实现了一个小型但功能强大的内核程序,适应了嵌入式系统存储资源相对紧缺的状况。 5 系统启动流程分析 由上面的软件结构组成分析可知,整个系统启动流程分为3个步骤: ① 系统上电后,首先从片上ROM固化

ARM9微控制器的软硬件平台设计,标签:电路设计,http://www.88dzw.com
LPC3180内部集成了ARM926EJS处理器内核,带存储器管理单元MMU,支持多数主流嵌入式操作系统。系统通过编写板级支持代码,移植了 Linux2.6.10作为平台操作系统,利用稳定的Linux2.6内核实现任务调度、进程管理、内存管理等功能,同时,针对Linux的可配置性,对内核进行裁剪和硬件驱动代码添加,系统实现了一个小型但功能强大的内核程序,适应了嵌入式系统存储资源相对紧缺的状况。     

      5  系统启动流程分析   

     
由上面的软件结构组成分析可知,整个系统启动流程分为3个步骤:        

      ①  系统上电后,首先从片上ROM固化的bootstrap程序执行。bootstrap用于完成外部引导程序下载并跳入执行。bootstrap运行过程首先读输入引脚GPIO_01。如果GPIO_01置为高,则从NAND Flash下载程序引导系统启动;如果置为低,则依次检测USB接口和UART5接口,通过外部连接下载引导程序。系统通过设置GPIO_IO跳线来控制 bootstrap启动过程,本例将GPIO_01置为高,从NAND Flash下载程序。        

      ②  系统启动的第二阶段是运行bootstrap下载的引导程序Sibl。Sibl完成系统必要的初始化后,从NAND Flash加载镜像程序到指定的SDRAM空间。镜像程序在起始位置添加了64字节的头信息,用于Sibl识别和加载,头信息数据结构如下:

    ARM9微控制器的软硬件平台设计图示      

       Sibl从NAND Flash起始地址开始搜索。如果读到镜像同步字ih_magic,则识别镜像程序,并根据偏移地址读取程序大小ih_size和加载地址 ih_load,将程序加载到指定的SDRAM空间;加载完成后根据CRC校验码ih_dcrc对SDRAM数据进行CRC检测;最后根据镜像类型 ih_type判断镜像是否可执行,若可执行,则跳入镜像入口地址ih_ep,否则Sibl继续搜索NAND Flash镜像程序。           

      镜像程序使用U-boot提供的工具mkimage添加头信息,命令格式如下: 

      mkimage-A arch-O os-T type-C comp-a addr-e ep-n name-d data_file image          

   
  ③   完成Sibl加载后,内存空间分布如图6所示,系统进入启动流程的第三阶段U- boot。U-boot完成Linux内核镜像的解压缩和操作系统启动前的初始化,最终跳入内核入口地址,完成对Linux的引导。

系统启动过程内存空间分布图

                                                  图6  系统启动过程内存空间分布图

       6  系统性能分析     

     
系统构建提供了一个完整的LPC3180嵌入式软硬件平台,下面对LPC3180浮点运算能力进行测试和分析。测试方法是使用一个浮点运算密集的算法,用 ADS编译器分别编译使能硬件VFP和软浮点运算两个版本的测试程序,并在不同的CPU时钟频率下比较运行时间,结果如表1所列。   

上一页  [1] [2] [3] [4] [5]  下一页


Tag:其它电路电路设计家电维修 - 单元电路介绍 - 其它电路

《ARM9微控制器的软硬件平台设计》相关文章