您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术基于S3C44B0X的Bootloader的设计与实现 正文
基于S3C44B0X的Bootloader的设计与实现

基于S3C44B0X的Bootloader的设计与实现

点击数:7917 次   录入时间:03-04 11:55:23   整理:http://www.55dianzi.com   嵌入式系统-技术
LDR    a1,=Image_RW_Base      ;RW段运行时的起始地址
LDR    a2,=Image_RO_Limit      ;RO段运行时的存储区域界限
LDR    a3,=Image_ZI_Base      ;ZI段运行时的起始地址                                                                       
CMP    a1,a3                                                         
BEQ    goto_main              ;跳转到C入口函数                                                                                                     
move_loop :                            ;将RO段复制到RW段                                   
LDR    a4,[a2],#4                                                     
STR    a4,[a1],#4 
CMP    a1,a3
BNE    move_loop

   



www.55dianzi.com

    在Bootloader stage1部分的最后是堆栈的设置,由于ARM有5种异常模式,每一种模式的堆栈指针寄存器(SP)都是独立的,因此,对程序中需要用到的每一种模式都要给SP定义一个堆栈地址。以中止模式SP堆栈地址的定义为例:
        ORR    r1,r0,#ABORTMODE|NOINT
        MSR    cpsr_cxsf,r1
        LDR    sp,=AbortStack

    至此,汇编语言程序段的任务基本完成,执行命令BL  Main 转到由C语言编写的核心程序,操作系统的内核就可通过该C程序加载到RAM,获得对系统的控制权。

    Bootloader的Stage2部分主要用于导入操作系统内核,一般通过串口建立连接,以获取命令、打印与用户的交流信息等,这里限于篇幅不再加以详述。

    5.结束语

    作为嵌入式系统软件的最底层,Bootloader是系统上电后启动运行的第一个程序,类似于PC机上的BIOS,主要负责整个硬件系统的初始化和软件系统启动的准备工作。Bootloader是嵌入式系统开发的重点和难点,也是系统运行的一个基本前提条件。设计和实现一个好的Bootloader,可以大大增强系统的稳定性,提高系统的实时性。

    本论文创新观点是:设计了具有较高性价比的ARM7核心板,结合实际应用详细分析了S3C44B0X的存储空间映射,设计实现的基于S3C44B0X的 Bootloader具有典型代表性、良好的健壮性和可移植性,只须有针对性的稍加修改,就可应用到各种类似的嵌入式平台中,对进一步开发复杂系统的 Bootloader具有很好的借鉴和启发作用。

    本项目经济效益(30万元),包括Internet接入设备研制、GPRS网络接入设备研制和GPRS-Internet网关软件研制三部分。 Internet接入设备由数据前端采集盒和嵌入式ARM系统构成,嵌入式ARM系统通过串口接收单片机发来的数据并将这些数据利用TCP/IP协议通过网线发送到噪声数据中心。

    参考文献:
[1]白伟平等.基于ARM的嵌入式Bootloader浅析[J].微计算机信息,2006,4-2:99-100
[2]夏靖波等.嵌入式系统原理与开发[M].西安电子科技大学出版社.2006
[3]Samsung Limited. S3C44BOX RISC MICroprocessor Datasheet[EB/OL]. 2001
[4]孙天泽等.嵌入式设计与Linux驱动开发指南-基于ARM9处理器[M].电子工业出版社.2006
 



上一页  [1] [2] 


本文关键字:暂无联系方式嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术