版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 課 程 設(shè) 計(jì) 說(shuō) 明 書(shū)</p><p> 題 目: 基于ARM的串口通信系統(tǒng)的設(shè)計(jì)</p><p> 課 程: 嵌入式系統(tǒng)及應(yīng)用課程設(shè)計(jì)</p><p> 院 (部): 信息與電氣工程學(xué)院</p><p> 專(zhuān) 業(yè): 電子信息工程<
2、;/p><p> 班 級(jí): 電信082</p><p> 學(xué)生姓名: </p><p> 學(xué) 號(hào): </p><p> 指導(dǎo)教師: </p><p> 完成日期: 2011年7月</p><p>
3、<b> 目 錄</b></p><p> 摘要····························
4、183;····································
5、····································
6、3;····································
7、183;II</p><p> 1 設(shè)計(jì)目的·······························
8、;····································
9、83;····································&
10、#183;······················1</p><p> 2 設(shè)計(jì)要求·········
11、;····································
12、83;····································&
13、#183;····································
14、;········1</p><p> 3 設(shè)計(jì)內(nèi)容·······················
15、83;····································&
16、#183;····································
17、;······························2</p><p> 3.1 S3C2410與串口通
18、信概述····································&
19、#183;····································
20、;····················2</p><p> 3.1.1S2C2410處理器概述·········
21、3;····································
22、183;····································
23、············2</p><p> 3.1.2 串口通信···················
24、;····································
25、83;····································&
26、#183;················· 3</p><p> 3.2方案設(shè)計(jì)·············
27、83;····································&
28、#183;····································
29、;································· 4</p><p&g
30、t; 3.3電路設(shè)計(jì)···································
31、;····································
32、83;····································&
33、#183;··········· 4</p><p> 3.3.1 電源設(shè)計(jì)···················
34、····································
35、3;····································
36、183;············· · 4</p><p> 3.3.2晶振電路················&
37、#183;····································
38、;····································
39、83;··················· 5</p><p> 3.3.3復(fù)位電路···········
40、83;····································&
41、#183;····································
42、;························ 6</p><p> 3.3.5存儲(chǔ)器設(shè)計(jì) ······
43、83;····································&
44、#183;····································
45、;························ 6</p><p> 3.3.4 JTAG接口 ······&
46、#183;····································
47、;····································
48、83;····························6</p><p> 3.3.6串口電路 ··
49、83;····································&
50、#183;····································
51、;·································7</p><p>
52、; 3.4軟件設(shè)計(jì)···································
53、····································
54、3;····································
55、183;··············8</p><p> 3.4.1 Boot loader 工作原理··············
56、183;····································
57、··································8</p><
58、;p> 3.4.2第一階段··································
59、;····································
60、83;····································&
61、#183;·9</p><p> 3.4.1第二階段·····························
62、183;····································
63、····································
64、3;·····10</p><p> 總結(jié)與致謝··························
65、183;····································
66、····································
67、3;··························11</p><p> 參考文獻(xiàn)·····
68、83;····································&
69、#183;····································
70、;····································
71、83;··············12</p><p> 附錄·················
72、3;····································
73、183;····································
74、····································
75、3;··········13</p><p><b> 摘 要</b></p><p> 串口通信是目前單片機(jī)和 DSP 等嵌入式系統(tǒng)之間,以及嵌入式系統(tǒng)與 PC 機(jī)或無(wú)線模塊之間的一種非常重要且普遍使用的通信方式。在嵌入式系統(tǒng)的硬件結(jié)構(gòu)中,通常只有一個(gè)8位或 16
76、位的 CPU, 不僅要完成主流程的工作, 同時(shí)還要處理隨時(shí)發(fā)生的各種中斷, 因而嵌入式系統(tǒng)中的串口通信程序設(shè)計(jì)與 PC 機(jī)有很大的不同。</p><p> 串行端口的本質(zhì)功能是作為 CPU 和串行設(shè)備間的編碼轉(zhuǎn)換器,一般微機(jī)內(nèi)都配有通信適配器,使計(jì)算機(jī)能夠與其他具有RS 232 串口的計(jì)算機(jī)或設(shè)備進(jìn)行通信。</p><p> 本系統(tǒng)中目標(biāo)機(jī)開(kāi)發(fā)板的內(nèi)核采用的是三星的 S3C2410 ,
77、工作非??煽?可穩(wěn)定運(yùn)行在 203 MHz 的時(shí)鐘頻率下。其外設(shè)非常豐富,功能強(qiáng)大,完全可以滿(mǎn)足設(shè)計(jì)需要。串口線采用常用的 RS 232 型接口模式,能實(shí)現(xiàn)計(jì)算機(jī)與開(kāi)發(fā)板間的數(shù)據(jù)傳輸與控制。</p><p> 關(guān)鍵詞:ARM;串口通信;串行端口;RS 232</p><p><b> 設(shè)計(jì)目的</b></p><p> 以嵌入式芯片S3C
78、2410為核心的最小嵌入式系統(tǒng)構(gòu)建方法,給出了S3C2410的復(fù)位電路、電源電路、存儲(chǔ)器電路和串口電路等硬件組成。在ADS環(huán)境下自制的最小Boobt loader程序開(kāi)發(fā)并調(diào)試。</p><p><b> 2 設(shè)計(jì)要求</b></p><p> 串口通信是嵌入式設(shè)備必備的通信方式之一,選用ARM芯片和電平轉(zhuǎn)換芯片完成出口通信的設(shè)計(jì),并設(shè)計(jì)完整物理接口。</p
79、><p> 根據(jù)設(shè)計(jì)題目的要求,選擇確定ARM芯片型號(hào)、電平轉(zhuǎn)換芯片型號(hào),完成系統(tǒng)硬件設(shè)計(jì)和程序設(shè)計(jì)。</p><p><b> 3 設(shè)計(jì)內(nèi)容</b></p><p> 3.1 S3C2410與串口通信概述</p><p> 3.1.1S3C2410處理器概述</p><p> S3C241
80、0是Samsung公司基于A RM 920T內(nèi)核的嵌入式微處理器.本文以S3C2410為核心,配置了最基本外圍電路構(gòu)成了最小的嵌入式系統(tǒng),并在ADS上開(kāi)發(fā)了啟動(dòng)程序,完成硬件初始化,配置運(yùn)行環(huán)境,串日調(diào)試功能。</p><p> Samsung 公司推出的16/32位RISC處理器S3C2410A,為手持設(shè)備和一般類(lèi)型應(yīng)用提 供了低價(jià)格、低功耗、高性能小型微控制器的解決方案。為了降低整個(gè)系統(tǒng)的成本, S3C24
81、10A提供了以下豐富的內(nèi)部設(shè)備:分開(kāi)的16KB的指令Cache和16KB數(shù)據(jù)Cache, MMU虛擬存儲(chǔ)器管理,LCD控制器(支持STN&TFT),支持NAND Flash系統(tǒng)引導(dǎo),系統(tǒng) 管理器(片選邏輯和SDRAM控制器),3通道UART,4通道DMA,4通道PWM定時(shí)器,I/O 端口,RTC,8通道10位ADC和觸摸屏接口,IIC-BUS接口,IIC-BUS接口,USB主機(jī),USB 設(shè)備,SD主卡&MMC卡接口,2通
82、道的SPI以及內(nèi)部PLL時(shí)鐘倍頻器。</p><p> S3C2410A采用了ARM920T內(nèi)核,0.18um工藝的CMOS標(biāo)準(zhǔn)宏單元和存儲(chǔ)器單元。 它的低功耗、精簡(jiǎn)和出色的全靜態(tài)設(shè)計(jì)特別適用于對(duì)成本和功耗敏感的應(yīng)用。同樣它還采用 一種叫做Advanced Microcontroller Bus Architecture(AMBA)新型總線結(jié)構(gòu)。</p><p> S3C2410A的顯
83、著特性是它的CPU核心,是一個(gè)由Advanced RISC Machines(ARM) 有限公司設(shè)計(jì)的16/32位ARM920T RISC處理器。ARM920T實(shí)現(xiàn)了MMU,AMBA BUS和 Harvard高速緩沖體系結(jié)構(gòu)。這一結(jié)構(gòu)具有獨(dú)立的16KB指令Cache和16KB數(shù)據(jù)Cache,每 個(gè)都是由8字長(zhǎng)的行(line)構(gòu)成。 </p><p> 通過(guò)提供一系列完整的系統(tǒng)外圍設(shè)備,S3C2410A大大減少了
84、整個(gè)系統(tǒng)的成本,消除了 為系統(tǒng)配置額外器件的需要。本文檔將介紹S3C2410A中集成的以下片上功能:</p><p> ● 1.8V/2.0V內(nèi)核供電,3.3V存儲(chǔ)器供電,3.3V外部I/O供電;</p><p> ● 具備16KB的I-Cache和16KB的D-Cache/MMU;</p><p> ● 外部存儲(chǔ)控制器(SDRAM 控制和片選邏輯)</
85、p><p> ● LCD 控制器(?大支持 4K 色 STN 和 256K 色 TFT)提供 1 通道 LCD 專(zhuān)用 DMA。</p><p> ●4 通道 DMA 并有外部請(qǐng)求引腳。</p><p> ●3 通道 UART(IrDA1.0,16 字節(jié) Tx FIFO,和 16 字節(jié) Rx FIFO)/2 通道 SPI</p><p>
86、?●1 通道多主 IIC-BUS/1 通道 IIS-BUS 控制器。</p><p> ? ● 兼容 SD 主接口協(xié)議 1.0 版和 MMC 卡協(xié)議 2.11 兼容版。</p><p> ?●2 端口 USB 主機(jī)/1 端口 USB 設(shè)備(1.1 版)</p><p> ?●4 通道 PWM 定時(shí)器和 1 通道內(nèi)部定時(shí)器</p><
87、p> ? ● 看門(mén)狗定時(shí)器 </p><p> ??●117 個(gè)通用 I/O 口和 24 通道外部中斷源。 </p><p> ? ● 功耗控制模式:具有普通,慢速,空閑和掉電模式。 ?</p><p> ● ?8 通道 10 比特 ADC 和觸摸屏接口 </p><p> ? ● 具有日歷功能的 RTC </p>
88、;<p> ? ● 具有 PLL 片上時(shí)鐘發(fā)生器</p><p><b> 3.1.1串口通信</b></p><p> 串口通信的概念,即串口按位(bit)發(fā)送和接收字節(jié) </p><p> 通信協(xié)議是指通信雙方按照約定的數(shù)據(jù)格式、同步方式、傳送速度、傳送步驟等規(guī)程來(lái)進(jìn)行數(shù)據(jù)傳輸 </p><p>
89、; 本次采用異步通信 ,其特點(diǎn)是通信雙方以一個(gè)字符(包括特定附加位)作為數(shù)據(jù)傳輸單位,且發(fā)送方傳送字符的間隔時(shí)間是不定的。在傳輸一個(gè)字符時(shí)總是從起始位開(kāi)始,以停止位結(jié)束。</p><p><b> 如圖1所示:</b></p><p> 圖1 串行數(shù)據(jù)幀格式</p><p> S3C2410的UART提供3個(gè)獨(dú)立的異步串行通信端口,每
90、個(gè)端口可以基于中斷或者DMA進(jìn)行操作。換句話說(shuō),UART控制器可以在CPU和UART之間產(chǎn)生一個(gè)中斷或者DMA請(qǐng)求來(lái)傳輸數(shù)據(jù)。UART在系統(tǒng)時(shí)鐘下運(yùn)行可支持高達(dá)230.4K的波特率,如果使用外部設(shè)備提供的UEXTCLK,UART的速度還可以更高。每個(gè)UART通道各含有兩個(gè)16位的接收和發(fā)送FIFO。</p><p> S3C2410的UART包括可編程的波特率,紅外 接收/發(fā)送,一個(gè)或兩個(gè)停止位插入,5-8位數(shù)
91、據(jù)寬度和奇偶校驗(yàn)。</p><p> 每個(gè)UART包括一個(gè)波特率發(fā)生器、一個(gè)發(fā)送器、一個(gè)接收器和一個(gè)控制單元,如圖11-1所示。波特率發(fā)生器的輸入可以是PCLK或者UEXTCLK。發(fā)送器和接收器包含16位的FIFO和移位寄存器,數(shù)據(jù)被送入FIFO,然后被復(fù)制到發(fā)送移位寄存器準(zhǔn)備發(fā)送,然后數(shù)據(jù)按位從發(fā)送數(shù)據(jù)引腳TxDn輸出。同時(shí),接收數(shù)據(jù)從接收數(shù)據(jù)引腳RxDn按位移入接收移位寄存器,并復(fù)制到FIFO。</p
92、><p><b> 特性</b></p><p> RxD0, TxD0, RxD1, TxD1, RxD2, 和TxD2基于中斷或者DMA操作</p><p> UART Ch 0, 1, 和 2 具有 IrDA 1.0 & 16 字節(jié) FIFO</p><p> UART Ch 0 和 1 具有 nRTS
93、0, nCTS0, nRTS1, 和 nCTS1</p><p><b> 支持發(fā)生/接收握手</b></p><p><b> 3.2 方案設(shè)計(jì)</b></p><p> 圖2 通信系統(tǒng)的組成框圖</p><p> 本系統(tǒng)是以嵌入式芯片S3C2410為核心的最小嵌入式系統(tǒng)構(gòu)建方法,給出
94、了S3C2410的復(fù)位電路、調(diào)試接口、電源電路、存儲(chǔ)器電路和串口電路等硬件組成。</p><p> 3.3 電路設(shè)計(jì)</p><p> 3.3.1 電源設(shè)計(jì)</p><p> S3C2410工作時(shí)內(nèi)核需要1. 8 V電壓,I/ O端口和外設(shè)需要3. 3 V電壓. VDDi/VDDiarm引腳口是供S3C2410內(nèi)核的1. 8 V電壓;VDDalive引
95、腳是功能復(fù)位和端口狀態(tài)寄存器電壓. M12引腳RTCVDD是RT C模塊的1. 8 V電壓,用電池供電保證系統(tǒng)的掉電后保持實(shí)時(shí)時(shí)鐘.VDDOP引腳是I/ O端口3. 3V電壓;V DDM OP引腳是存儲(chǔ)器I/ O端口電壓;還有一系列VSS引腳需要接到電源地上.3. 3 V電壓從SV用A M S 1117- 3. 3轉(zhuǎn)換得到如圖3所示;1.8V從3. 3 V通過(guò)MIC5207-1. 8轉(zhuǎn)換得到。如圖3所示。</p><
96、p><b> 圖 3 電源電路</b></p><p><b> 3.3.2晶振電路</b></p><p> S3C2410內(nèi)部有時(shí)鐘管理模塊,有2個(gè)鎖相環(huán),其中M PLL能夠產(chǎn)生CPU卞頻FCLK,AHB總線外設(shè)時(shí)鐘HCLK和APB總線外設(shè)時(shí)鐘PCLK; UPLL產(chǎn)生USB模塊的時(shí)鐘。OM3,OM2都接地時(shí),主時(shí)鐘源和U SB模
97、塊時(shí)鐘源都由外接晶振產(chǎn)生。在XTIpll和XTOpll之間連接主晶振,可以選擇12 MHz品振,通過(guò)內(nèi)部寄存器的設(shè)置產(chǎn)生不同頻率的FOLK, H CLK和PCLK;在XT Irtc和XTOrtc上需要接32.768 kHz的晶振供RTC模塊使用.同時(shí)在MPLLCAP和UPLLCAP上也要外接5pF的環(huán)路濾波電容。晶振電路如圖4所示。</p><p> 圖 4 晶振電路</p><p>
98、; 3.3.3 復(fù)位電路</p><p> S3C2410的J12引腳為nRESET復(fù)位引腳,nRESET上給4個(gè)FOLK時(shí)間的低電平后就可以復(fù)位.可以設(shè)計(jì)如圖5所小的復(fù)位電路,其中上電復(fù)位是靠RC電路特性完成,開(kāi)關(guān)二極管1N4148在手動(dòng)復(fù)位時(shí)對(duì)電容起快速放電的作用,因此可以把復(fù)位電平快速拉到OV。反響門(mén)74H C 14可以起到延時(shí)作用,保證有足夠的復(fù)位時(shí)間。</p><p>
99、圖5 復(fù)位電路</p><p> 3.3.4 JTAG接口</p><p> S3C2410有標(biāo)準(zhǔn)的JTAG接口,TCI(H6)為測(cè)試時(shí)鐘輸入;TDI(J1)為測(cè)試數(shù)據(jù)輸入;TDO(JS)為測(cè)試數(shù)據(jù)輸出;TMS(J3)為測(cè)試模式選擇,TMS用來(lái)設(shè)置JTA G接日處于某種特定的測(cè)試式;nTRST ( H 5)為測(cè)試復(fù)位,輸入引腳,低電平有效。其nTRST,TMS,TCK,TD
100、I需要接10K的上拉電阻。通過(guò),JTAG日可以完成芯片測(cè)試或在線編程。</p><p> 3.3.5 存儲(chǔ)器設(shè)計(jì)</p><p> S3C2410有32根數(shù)據(jù)線和27根地址線,因此地址線的尋址范圍為128 M;但是S3C2410還有8根存儲(chǔ)器芯片片選信號(hào)線nGCSO-- nGCS7,因此總的尋址空間為128M * 8= 1G。Nand Flash啟動(dòng)模式下復(fù)位時(shí)S3C2410的存儲(chǔ)器
101、映射如圖6所示。如當(dāng)訪問(wèn)物理地址Ox08000000- 0x10000000內(nèi)的地址則nGCSl自動(dòng)為低電平,以此類(lèi)推。</p><p> 通過(guò)圖6可知SDRAM只能連接在nGCS6和nGCS7片選引腳上。S3C2410提供了SDRAM的接口,其中包括nSRAS:行信號(hào)鎖存;nSCAS:列信號(hào)鎖存;nSCS(就是nGCS 6 ):片選信號(hào);</p><p><b> 圖
102、6</b></p><p> DQM[3:0]:數(shù)據(jù)屏蔽 ; SCLI[ 1: 0];時(shí)鐘;SCKE:時(shí)鐘有效;nBE [ 3: 0]:高/低字節(jié)有效;nWBE[ 3:0]:寫(xiě)有效。MT48LC16M16A2P是4塊16位32M的SDRAM存儲(chǔ)器。MT48LC16M16A2P的行地址13位為A 0--A 12,列地址9位為CAO- CA8,行和列地址是復(fù)用的。MT48LC16M16A2P包括4個(gè)塊,
103、通過(guò)BA0,BA1的組合選擇塊。MT48LC16M16A2P是16位存儲(chǔ)器,因此數(shù)據(jù)線為 DQO--DQ15,還有CS片選,CLK時(shí)鐘,CKE時(shí)鐘使能,RAS行鎖存,CAS列鎖存,WE寫(xiě)使能等引腳.圖7表示MT48LC16M16A2P和S3C2410的連接方法,其中BA0, BA1需要連接ADD24和 A DDR25,通過(guò)S3C2410的說(shuō)明可知,因?yàn)閮?nèi)存總大小是64M因此塊選擇信號(hào)必須使用A DDR24和ADDR25。</p&g
104、t;<p> S3C2410內(nèi)部有NAND Flash控制器,支持從NADN Flash啟動(dòng).圖7是K9F1208 64M Flash芯片和S3C2410的連接方式.S3C2410采用一組內(nèi)部寄存器來(lái)完成NAND Flash的操作.</p><p> 圖 7 存儲(chǔ)器連接電路</p><p><b> 3.3.6串口電路</b></p>
105、<p> S3C2410的DART提供了二個(gè)同步串行IO日,圖8是COMO的連接方式。串口數(shù)據(jù)的收發(fā)有查詢(xún)方式、中斷方式和DMA方式等,這些可以在UCONO寄存器中設(shè)置。UTXH0把要發(fā)送的數(shù)據(jù)寫(xiě)入此寄存器。URXH0讀此寄存器獲得串日接收的數(shù)據(jù)。串日一般可以用程序運(yùn)行信息的輸出和程序調(diào)試。</p><p> 圖 8 串口連接電路</p><p> 3.4 軟件設(shè)
106、計(jì)</p><p> 在本系統(tǒng)中,指紋圖像識(shí)別部分的算法主要通過(guò)S3C2410芯片來(lái)完成。</p><p> 當(dāng)S3C2410的OM0,OM1引腳接低電平時(shí)S3C2410就從NADN Flash啟動(dòng).在NAND Flash啟動(dòng)模式下上電后NAND Flash控制器自動(dòng)將NAND Flash的最前面的4k區(qū)域拷貝到所謂的" steppingstone"單面.這一過(guò)程完
107、全由硬件自動(dòng)實(shí)現(xiàn)." steppingstone”實(shí)際上是S3C2410內(nèi)部的一個(gè)SRA M,因?yàn)镹ADN Flash不支持程序片內(nèi)運(yùn)行,因此必須把NAND Flash內(nèi)的指令拷貝到SRAM或SDRAM中才可以運(yùn)行.在拷貝完前4k代碼后,NAND Flash控制器自動(dòng)將“steppingstone”映射到arm地址空間0x00000000開(kāi)始的前4k區(qū)域.在映射過(guò)程完成后NAND Flash控制器將pc指針直接指向arm地址空
108、間的0x00000000位置,準(zhǔn)備開(kāi)始執(zhí)行“steppingstone”上的代碼。而“steppingstone”上從NAND Flash拷貝過(guò)來(lái)的4k代碼,是程序員寫(xiě)的boot loader的前4k代碼。 boot loader之前寫(xiě)好,并己經(jīng)被燒寫(xiě)到NAND Flash的。x00000000開(kāi)始區(qū)域。</p><p> 3.4.1Boot loader 工作原理</p><p>
109、 Boot loader是引導(dǎo)操作系統(tǒng)的程序,也是開(kāi)發(fā)階段目標(biāo)板和 PC機(jī)的通信工具。Boot loader一般都放在NAND Flash的起始位置,這樣上電后Bootbader的第一個(gè)指令被自動(dòng)執(zhí)行。由于Boot Loader的實(shí)現(xiàn)依賴(lài)于CPU的體系結(jié)構(gòu),因此大多數(shù)Boot Loader都分為stage1和stage2兩大部分.依賴(lài)于CPU體系結(jié)構(gòu)的代碼,比如設(shè)備初始化代碼等,通常都放在stagel中,而目通常都用匯編語(yǔ)言來(lái)實(shí)現(xiàn),以達(dá)
110、到短小精悍的目的。而stage2則通常用C語(yǔ)言來(lái)實(shí)現(xiàn),這樣可以實(shí)現(xiàn)復(fù)雜的功能,而目代碼會(huì)具有更好的可讀性和可移植性。階段1和階段2的工作流程如圖9。</p><p> 圖 9 程序流程圖</p><p><b> 3.4.2第一階段</b></p><p> 第一階段的卞要工作是硬件設(shè)備初始化,加載Boot Loader的stage2,
111、準(zhǔn)備RAM空;拷貝Boot Loader的stage2到RAM空間中;設(shè)置好堆棧;跳轉(zhuǎn)到stage2的C入日點(diǎn)</p><p> 下面介紹ADS環(huán)境下開(kāi)始制作簡(jiǎn)單Bootloader的方法.</p><p> 先建立工程命名為myBoot,定義出程序的基本結(jié)構(gòu)如下:</p><p> AREA mvBoot, CODE, READONLY;聲明一個(gè)
112、代碼段,名稱(chēng)為mvBooL</p><p> ENTRY ;程序入口聲明,程序的開(kāi)始執(zhí)行位置</p><p> __ ENTRY ;入口名稱(chēng)為_(kāi)ENTRY</p><p> ………… ;中間寫(xiě)主要代碼</p><p&g
113、t; END ;程序結(jié)束</p><p> 在myBoot工程的Settings中做一些設(shè)置.首先設(shè)置Target/ Target Settings/post Link 中選擇“ARM fromELF"。Linker/Arm Linker/0utput/Link Type選Simple簡(jiǎn)單連接方式;RO Base設(shè)置為0x30008000代碼段連接
114、地址。實(shí)際上RO BA SE指定了程序的靜態(tài)連接地址。程序真正被執(zhí)行時(shí)所在的內(nèi)存地址叫做運(yùn)行地址。如果連接時(shí)用到絕對(duì)地址的話運(yùn)行地址和鏈接地址保持一致時(shí)程序才能正常運(yùn)行,這種代碼叫做與位置有關(guān)代碼。如果連接時(shí)沒(méi)有涉及到絕對(duì)地址那么連接地址和運(yùn)行地址不一樣程序也可以正常運(yùn)行,這種代碼叫做位置無(wú)關(guān)的代碼.但是Bootloader一開(kāi)始時(shí)被加載在0x00位置開(kāi)始運(yùn)行,這會(huì)不會(huì)和RO Bas。設(shè)置地址沖突呢?實(shí)際上是會(huì)沖突的,解決沖突的辦法就采
115、用位置無(wú)關(guān)代碼( PIC)。實(shí)際上Boodloader的絕大部分代4i最后想讓它運(yùn)行在0x30000800開(kāi)始的SDRAM單,只有第一階段代碼運(yùn)行在0x00開(kāi)始的SRAM單,因此把階段1用位置無(wú)關(guān)的匯編代碼實(shí)現(xiàn)整個(gè)程序就正常運(yùn)行了。RW Base是數(shù)據(jù)</p><p> 程序的第一步要設(shè)置中斷向量表。S3C2410有7種中斷,中斷入日地址在0x00開(kāi)始處,每個(gè)中斷占用4個(gè)字節(jié),正好可以放一個(gè)跳轉(zhuǎn)指令.程序如下:
116、</p><p> b ResetH andler;復(fù)位中斷,也是整個(gè)程序的入口,b指令是根據(jù)當(dāng)前PC進(jìn)行跳轉(zhuǎn),因此可以實(shí)現(xiàn)位置無(wú)關(guān)代碼引.在ResetH andler中需要做的工作有:關(guān)閉看門(mén)狗、關(guān)閉所有中斷、設(shè)置主頻、初始化SDRAM、設(shè)置中斷堆棧,最后搬移代碼到SDRAM中。最后一步跳轉(zhuǎn)到C程序的入口函數(shù)m ain中。</p><p> 3. 4. 3第二階段</p&g
117、t;<p> 這階段代碼用C語(yǔ)言編寫(xiě),從m ain函數(shù)開(kāi)始.這個(gè)階段的卞要任務(wù)有串日初始化、MMU的初始化、USB初始化、以太網(wǎng)初始化等.Bootloader工作時(shí)顯示屏可能還沒(méi)有工作,或者日標(biāo)板根本就沒(méi)有顯示屏或鍵盤(pán)等設(shè)備,因此人機(jī)交勻_一般通過(guò)串日來(lái)實(shí)現(xiàn).因此必須初始化串口,通過(guò)串日打印運(yùn)行信息或者接收用戶(hù)輸入.用串日連接到PC上,用專(zhuān)用或通用的串口軟件來(lái)接收信息或輸入信息。</p><p>
118、<b> 總結(jié)與致謝</b></p><p> 本次設(shè)計(jì)設(shè)計(jì)的系統(tǒng)具有成本低廉,體積小,功耗低等特點(diǎn),并且可靠性、可擴(kuò)展性、同時(shí)節(jié)省硬件資源。但同時(shí)存在一些不足,本系統(tǒng)中的代碼是順序執(zhí)行的,運(yùn)行時(shí)間較長(zhǎng)。</p><p> 通過(guò)本次課程設(shè)計(jì),使我對(duì)ARM開(kāi)發(fā)有了一定的掌握和理解,鞏固了我在《嵌入式系統(tǒng)及應(yīng)用》課程中所學(xué)的基本理論知識(shí)和實(shí)驗(yàn)技能,使我對(duì)《嵌入式系統(tǒng)
119、及應(yīng)用》課程有了更深入的了解,熟悉了S3C210 的串口的使用,了解S3C2410的內(nèi)部功能模塊,及內(nèi)核架構(gòu)。進(jìn)一步激發(fā)了我對(duì)所學(xué)專(zhuān)業(yè)學(xué)習(xí)的興趣;提高了我的思考與實(shí)踐能力。</p><p> 在設(shè)計(jì)的過(guò)程和設(shè)計(jì)說(shuō)明書(shū)的撰寫(xiě)過(guò)程中,老師們給予了我熱心的幫助和大力的支持,給我提了諸多的寶貴意見(jiàn),拓寬了我的思路。在此我向老師致以崇高的敬意和衷心的感謝!</p><p> 在我的學(xué)習(xí)過(guò)程中,z
120、z等其它老師也給了我耐心的指導(dǎo)和幫助。我在此對(duì)各位老師表示誠(chéng)摯的感謝!</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 杜春雷.ARM體系結(jié)構(gòu)與編程[M].北京:清華大學(xué)出版社,2003.</p><p> [2] 周立功 .ARM嵌入式Linux系統(tǒng)構(gòu)建與驅(qū)動(dòng)開(kāi)發(fā)范例[M].北京:北京航空航天大學(xué)出版社,2006.
121、</p><p> [3] 斯洛斯(Sloss,A.N.).ARM嵌入式系統(tǒng)開(kāi)發(fā):軟件設(shè)計(jì)與優(yōu)化[M].北京:北京航空航天大學(xué)出版社,2005.</p><p> [4] ARM&Linux嵌入式系統(tǒng)教程.北京:北京航空航天大學(xué)出版社,2004.</p><p> [5] 陳賾.ARM9嵌入式技術(shù)及Linux高級(jí)實(shí)踐教程[M] .北京:北京航空航天大學(xué)
122、出版社,2005.</p><p> [6] 孫天澤,袁文菊.嵌入式設(shè)計(jì)及Linux驅(qū)動(dòng)開(kāi)發(fā)指南——基于ARM9處理器[M] .第2版.北京:電子工業(yè)出版社,2007.</p><p> [7] 田澤.ARM9嵌入式Linux開(kāi)發(fā)實(shí)驗(yàn)與實(shí)踐[M] .北京:北京航空航天大學(xué)出版社,2006.</p><p> [8] 于明.ARM9嵌入式系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)教程[M]
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于arm的串口通信系統(tǒng)的課程設(shè)計(jì)說(shuō)明書(shū)
- 串行通信系統(tǒng)微機(jī)課程設(shè)計(jì)說(shuō)明書(shū)
- 課程設(shè)計(jì)說(shuō)明書(shū)-基于arm的_圖形點(diǎn)陣lcd菜單設(shè)計(jì)
- 移動(dòng)通信ofdm課程設(shè)計(jì)說(shuō)明書(shū)
- 操作系統(tǒng)課程設(shè)計(jì)說(shuō)明書(shū)--基于linux的進(jìn)程之間通信
- 基于dsp課程設(shè)計(jì)說(shuō)明書(shū)
- 課程設(shè)計(jì)說(shuō)明書(shū)
- 課程設(shè)計(jì)說(shuō)明書(shū)
- 工廠管理系統(tǒng)課程設(shè)計(jì)說(shuō)明書(shū)
- 學(xué)生管理系統(tǒng)課程設(shè)計(jì)說(shuō)明書(shū)
- 醫(yī)院管理系統(tǒng)課程設(shè)計(jì)說(shuō)明書(shū)
- vfp課程設(shè)計(jì)--學(xué)生管理系統(tǒng)課程設(shè)計(jì)說(shuō)明書(shū)
- 串口通信c++課程設(shè)計(jì)--基于串口通信的高級(jí)語(yǔ)言控制程序的設(shè)計(jì)
- 倉(cāng)儲(chǔ)管理系統(tǒng)-課程設(shè)計(jì)說(shuō)明書(shū)
- 歌手比賽系統(tǒng)課程設(shè)計(jì)說(shuō)明書(shū)
- 采購(gòu)管理系統(tǒng)課程設(shè)計(jì)說(shuō)明書(shū)
- 前門(mén)課程設(shè)計(jì)說(shuō)明書(shū)
- javaweb課程設(shè)計(jì)說(shuō)明書(shū)
- 后蓋課程設(shè)計(jì)說(shuō)明書(shū)
- 鍋爐課程設(shè)計(jì)說(shuō)明書(shū)
評(píng)論
0/150
提交評(píng)論