嵌入式系統(tǒng)原理與應用技術(shù)課程設計-基于arm9的bootloader啟動設計

嵌入式系統(tǒng)原理與應用技術(shù)課程設計-基于arm9的bootloader啟動設計

ID:14505716

大?。?82.75 KB

頁數(shù):13頁

時間:2018-07-29

嵌入式系統(tǒng)原理與應用技術(shù)課程設計-基于arm9的bootloader啟動設計_第1頁
嵌入式系統(tǒng)原理與應用技術(shù)課程設計-基于arm9的bootloader啟動設計_第2頁
嵌入式系統(tǒng)原理與應用技術(shù)課程設計-基于arm9的bootloader啟動設計_第3頁
嵌入式系統(tǒng)原理與應用技術(shù)課程設計-基于arm9的bootloader啟動設計_第4頁
嵌入式系統(tǒng)原理與應用技術(shù)課程設計-基于arm9的bootloader啟動設計_第5頁
資源描述:

《嵌入式系統(tǒng)原理與應用技術(shù)課程設計-基于arm9的bootloader啟動設計》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、長治學院課程設計報告課程名稱:嵌入式系統(tǒng)原理與應用技術(shù)設計題目:Bootloader程序設計系別:計算機系專業(yè):計算機科學與技術(shù)組別:學生姓名:學號:08407106起止日期:2011年12月15日-2011年12月22日指導教師:目錄第一章概述11.1課程設計名稱11.2課程設計目的11.3要求1第二章背景分析12.1BootLoader的概念12.2BootLoader的主要任務與典型結(jié)構(gòu)框架1第三章BOOTLOADER串口驅(qū)動程序的設計24.1UART寄存器簡介24.2UART串口工作原理54.3UART驅(qū)動程序詳

2、細設計5第四章總結(jié)9參考文獻10第一章概述1.1課程設計名稱BootLoader程序設計1.2課程設計目的串口驅(qū)動和網(wǎng)口驅(qū)動程序的設計,可以通過串口或網(wǎng)口接收數(shù)據(jù)或文件,并且可以寫到flash中1.3要求編寫B(tài)ootLoader程序uart.huart.c串口驅(qū)動測試程序main.c第二章背景分析2.1BootLoader的概念簡單地說,BootLoader就是在操作系統(tǒng)內(nèi)核運行之前運行的一段小程序。通過這段小程序,可以初始化硬件設備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)

3、內(nèi)核準備好正確的環(huán)境。2.2BootLoader的主要任務與典型結(jié)構(gòu)框架從操作系統(tǒng)的角度看,BootLoader的總目標就是正確地調(diào)用內(nèi)核來執(zhí)行。另外,由于BootLoader的實現(xiàn)依賴于CPU的體系結(jié)構(gòu),因此大多數(shù)BootLoader都分為stage1和stage2兩大部分。依賴于CPU體系結(jié)構(gòu)的代碼,比如設備初始化代碼等,通常都放在stage1中,而且通常都用匯編語言來實現(xiàn),以達到短小精悍的目的。而stage2則通常用C語言來實現(xiàn),這樣可以實現(xiàn)更復雜的功能,而且代碼會具有更好的可讀性和可移植性。BootLoader的

4、stage1通常包括一下步驟(以執(zhí)行的先后順序):(1)硬件設備初始化。(2)為加載BootLoader的stage2準備RAM空間。(3)復制BootLoader的stage2到RAM空間中。11(1)設置好堆棧。(2)跳轉(zhuǎn)到stage2的C入口點。BootLoader的stage2通常包括一下步驟(以執(zhí)行的先后順序):(1)初始化本階段要使用的硬件設備。(2)檢測系統(tǒng)內(nèi)存映射。(3)將kernel映像和根文件系統(tǒng)映像從Flash上獨到RAM空間中。(4)為內(nèi)核設置啟動參數(shù)。(5)調(diào)用內(nèi)核。第三章BootLoader串

5、口驅(qū)動程序的設計3.1UART寄存器簡介S3C2440AUART控制器,提供3個獨立的異步串行I/O端口,每個端口都可以在中斷模式或DMA模式下工作。UART可以產(chǎn)生中斷請求或DMA請求,以便在CPU和UART之間傳輸數(shù)據(jù)。在使用系統(tǒng)時鐘的情況下,UART可以支持最高115.2Kbps的傳輸速率。如果外部設備通過UEXTCLK為UART提供時鐘,那么UART的傳輸速率可以更高。每個UART通道包含兩個用于接收和發(fā)送數(shù)據(jù)的16字節(jié)的FIFO緩沖寄存器。由于UART是串行異步通信方式,因此在UART通信過程中每次只能傳輸1位

6、(bit),若干位組成一個數(shù)據(jù)幀(frame),幀是UART通信中最基本單元,它主要包含開始位、數(shù)據(jù)位、校驗位(如果開啟了數(shù)據(jù)校驗,要包含校驗位)和停止位。UART在通信之前要在發(fā)送端和接受端約定好幀的結(jié)構(gòu),也就是約定好傳輸數(shù)據(jù)幀格式。(1)開始位:必須包含在數(shù)據(jù)幀中,表示一個幀的開始。(2)數(shù)據(jù)位:可選5、6、7、8位,該長度可由編程人員指定。(3)校驗位:如果在開啟了數(shù)據(jù)校驗時,該位必須指定。(4)停止位:可選1、2位,該位長度可由編程人員指定。通信雙方約定好幀格式后,指定同一波特率,以保證雙方數(shù)據(jù)傳輸?shù)耐健AR

7、T串口驅(qū)動需要設置的寄存器及其具體特性如表4-1~表4-8所示:表3-1UART0串行控制寄存器(ULCON0)11寄存器名地址是否讀寫描述復位默認值ULCON00x50000000R/W串口0串行控制寄存器0x00ULCON0位描述初始值保留70紅外模式6選擇串口0是否使用紅外模式:0=正常通信模式1=紅外通信模式0校驗模式5:3設置串口0在數(shù)據(jù)接收和發(fā)送時采用的校驗方式:0xx=無校驗100=奇校驗101=偶校驗110=強制校驗/檢測是否為1111=強制校驗/檢測是否為0000停止位2設置串口0停止位數(shù):0=每個數(shù)據(jù)

8、幀一個停止位1=每個數(shù)據(jù)幀二個停止位0數(shù)據(jù)位1:0設置串口0數(shù)據(jù)位數(shù):00=5個數(shù)據(jù)位01=6個數(shù)據(jù)位10=7個數(shù)據(jù)位11=8個數(shù)據(jù)位00表3-2UART0串口控制寄存器(UCON0)寄存器名地址是否讀寫描述復位默認值UCON00x50000004R/W串口0控制寄存器0x00UCON0位描述初始值FCLK分頻因子1

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。