基于S3C44B0X的Bootloader設計與實現
在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
存儲器相關文章:存儲器原理
評論