當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于ARM控制器LPC2214的嵌入式系統(tǒng)研究與開發(fā)

   1  嵌入式系統(tǒng)ARM

       嵌入式系統(tǒng)以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)。ARM(Advanced RSIC Machines)是一家出售芯片設(shè)計(jì)技術(shù)授權(quán)的公司,目前其設(shè)計(jì)的ARM微處理器占據(jù)了32位RISC(Reduced Instruction Set Computing)微處理器75%以上的市場(chǎng)份額。

       2  ARM體系結(jié)構(gòu)

      
ARM已經(jīng)從V3發(fā)展到V6。目前流行的ARM芯片內(nèi)核有ARM7TDMI、StrongARM、ARM720T、ARM9TDMI、ARM922T、ARM940T、ARM946T、ARM966T、ARM10TDMI等。Philips LPC2214(以下簡(jiǎn)稱LPC2214) 是基于ARM7TDMI-S的高性能32位RISC微控制器,屬于V4T版本。

      2.1  ARM處理器內(nèi)核

       現(xiàn)代的VLS技術(shù)把附加的系統(tǒng)部件與內(nèi)核集成在同一芯片中。其中,內(nèi)核是最為密集和復(fù)雜的部件,是確定一個(gè)新系統(tǒng)時(shí)選擇的關(guān)鍵。LPC2214的內(nèi)核是ARM7TDMI(圖1)的可綜合版本(軟核)。字母意義分別是:T-高密度16位的Thumb指令擴(kuò)展、D-支持片上調(diào)試、M-短時(shí)間64位乘法指令、I-EmbededICE觀察點(diǎn)硬件。


 

                                                     圖   1

       2.2  ARM 微控制器

      
嵌入式微控制器(單片機(jī))就是將整個(gè)計(jì)算機(jī)集成到一塊芯片中。各廠商購(gòu)買ARM公司的核心授權(quán)后,擴(kuò)展與各自領(lǐng)域相關(guān)的片內(nèi)外圍電路,并集成在芯片中,使基于ARM處理器核的芯片多元化。設(shè)計(jì)者應(yīng)盡可能采用片內(nèi)外圍電路完成所需的功能,來(lái)簡(jiǎn)化系統(tǒng)設(shè)計(jì),提高系統(tǒng)可靠性。LPC2214微控制器(如圖2)通過(guò)AHB 到VPB 的橋?qū)PB總線與AHB 總線相連,片內(nèi)外設(shè)(中斷控制器除外)連接在VPB總線上。LPC2214具有:多個(gè)串行接口,2 個(gè)16C550 工業(yè)標(biāo)準(zhǔn)UART、高速I2C 接口(400 kHz)、2 個(gè)SPI 接口;8路10 位A/D 轉(zhuǎn)換器(0~3V測(cè)量范圍),轉(zhuǎn)換時(shí)間可低至2.44uS;2個(gè)32 位定時(shí)器(帶4 路捕獲和4 路比較通道);PWM 單元(6 路輸出);實(shí)時(shí)時(shí)鐘和看門狗;112個(gè)通用I/O 口(可承受5V 電壓);2 個(gè)低功耗模式,空閑和掉電;片上集成高速閃存。

                                                  圖   2

       稅控收款機(jī)是一種帶有計(jì)稅功能的電子收款機(jī),它內(nèi)部裝有自動(dòng)記錄但不能更改和抹掉的計(jì)稅存儲(chǔ)器。稅控收款機(jī)由以下幾部分組成:中文顯示系統(tǒng)、中文打印系統(tǒng)、專用稅控處理系統(tǒng)、外圍設(shè)備驅(qū)動(dòng)、電源、帶物理安全保證的機(jī)箱。稅控機(jī)制由以IC卡為基礎(chǔ)的發(fā)行、管理、申報(bào)、維護(hù)、經(jīng)營(yíng)等系統(tǒng)組成。有關(guān)數(shù)據(jù)由稅務(wù)部門用專用IC卡讀出,以便稽查。

       此系統(tǒng)充分合理地利用了其片內(nèi)實(shí)時(shí)時(shí)鐘、外部存儲(chǔ)器接口、UART等其它外設(shè)接口。片上閃存作為用戶程序的存儲(chǔ)空間,其高速零等待特性保證系統(tǒng)的實(shí)時(shí)運(yùn)行。其片上程序保護(hù)機(jī)制,防止代碼被任意更改和復(fù)制。整個(gè)系統(tǒng)的設(shè)計(jì)結(jié)構(gòu)簡(jiǎn)潔,極具競(jìng)爭(zhēng)優(yōu)勢(shì)。


       3  系統(tǒng)移植

       ARM芯片獲得了許多實(shí)時(shí)操作系統(tǒng)(Real Time Operating System)供應(yīng)商的支持,比較知名的有:Windows CE、Linux、pSOS、VxWorks Nucleus、OSE、eCOS、μC/OS-II等,我們將在稅控收款機(jī)系統(tǒng)上移植μC/OS-II。

       3.1  μC/OS-II移植

      
LPC2214的ARM7TDMI-S內(nèi)核用ARM ADS作為編譯器移植μC/OS-II。包括以下內(nèi)容:

       ① 設(shè)置OS_CPU.H頭文件中與處理器和編譯器相關(guān)的代碼如:整數(shù)、浮點(diǎn)數(shù)、堆棧等數(shù)據(jù)類型定義,打開或者關(guān)閉中斷函數(shù)設(shè)置,定義堆棧增長(zhǎng)方向,任務(wù)切換的執(zhí)行代碼。

       ② 用C語(yǔ)言在OS_CPU_C.C文件中編寫6個(gè)操作系統(tǒng)相關(guān)函數(shù):任務(wù)堆棧初始化函數(shù)OSTaskStkInit( ),μC/OS-II在執(zhí)行某些操作時(shí)調(diào)用的用戶函數(shù):OSTaskCreateHook( )、OSTaskDelHook( )、OSTaskSwHook( )、OSTaskStatHook( )、OSTimeTickHook( )

       ③ 在OS_CPU.ASM文件中用匯編語(yǔ)言編寫四個(gè)與處理器相關(guān)的函數(shù):運(yùn)行優(yōu)先級(jí)最高的就緒任務(wù)OSStartHighRdy( )、任務(wù)級(jí)的任務(wù)切換函數(shù)OSCtxSw( )、中斷級(jí)的任務(wù)切換函數(shù)OSIntCtxSw( )、中斷服務(wù)函數(shù)OSTickISR( )。這里介紹的是通用方法,在具體的項(xiàng)目中還有很多工作要作。

       3.2  建立完整的嵌入式實(shí)時(shí)系統(tǒng)

       μC/OS-II提供的僅僅是一個(gè)任務(wù)調(diào)度的內(nèi)核,要想實(shí)現(xiàn)一個(gè)以LPC2214為主控單元,應(yīng)用于稅控收款機(jī)的嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng),還需相當(dāng)多的擴(kuò)展工作。主要包括:

       ① 建立文件系統(tǒng)相關(guān)的API函數(shù):如初始化文件函數(shù)InitOSFile( )、通過(guò)文件緩沖區(qū)讀寫數(shù)據(jù)函數(shù)ReadOSFile( )和WriteOSFile( )、打開和關(guān)閉文件函數(shù)OpenOSFile( )和CloseOSFile( )。

       ② 為外部設(shè)備建立驅(qū)動(dòng)程序并規(guī)范相應(yīng)的API函數(shù)。外設(shè)驅(qū)動(dòng)程序可以對(duì)系統(tǒng)提供訪問(wèn)外圍設(shè)備接口,把操作系統(tǒng)和外圍設(shè)備分離開來(lái)。當(dāng)外圍設(shè)備改變的時(shí)候,只需更換相應(yīng)的驅(qū)動(dòng)程序,不必修改操作系統(tǒng)的內(nèi)核以及運(yùn)行在操作系統(tǒng)的軟件。如:液晶驅(qū)動(dòng)、鍵盤驅(qū)動(dòng)、UART接口驅(qū)動(dòng)等。

       ③ 創(chuàng)建圖表用戶接口GUI函數(shù),實(shí)現(xiàn)Unicode字庫(kù)的顯示及相關(guān)函數(shù)。

       ④ 系統(tǒng)的消息隊(duì)列。消息相關(guān)函數(shù)在各個(gè)任務(wù)之間、用戶應(yīng)用程序之間以及用戶應(yīng)用程序和系統(tǒng)的各個(gè)任務(wù)之間通常是通過(guò)消息來(lái)傳遞信息和同步的。

       ⑤ 稅控收款機(jī)軟件設(shè)計(jì)采用模塊化思想,其用戶程序的開發(fā)大體分為如下部分:主程序、自檢診斷模塊、IC卡讀寫模塊、UART通訊模塊、開票模塊、液晶顯示和按鍵等人機(jī)接口模塊。

 

                                                   圖   3


       4 ARM體系中的調(diào)試

       調(diào)試階段在整個(gè)系統(tǒng)開發(fā)過(guò)程中所占的比重越來(lái)越大,因此擁有高效、強(qiáng)大的調(diào)試系統(tǒng)可以大大減少開發(fā)時(shí)間,加快產(chǎn)品面市時(shí)間,減輕系統(tǒng)開發(fā)工作量。ARM體系結(jié)構(gòu)包含了完善的調(diào)試手段,下面僅介紹基于JTAG的ICE類型調(diào)試的原理。

       4.1 基于JTAG的ICE類型調(diào)試

       基于JTAG的調(diào)試系統(tǒng)結(jié)構(gòu)(圖4)包括:位于主機(jī)上的調(diào)試器、目標(biāo)系統(tǒng)、主機(jī)和目標(biāo)系統(tǒng)之間進(jìn)行分析和轉(zhuǎn)換的模塊。JTAG調(diào)試是邊界掃描方式,LPC2214微核電路部件的每個(gè)I/O引腳包含一個(gè)電路元件,此元件的接口連接到JTAG二進(jìn)制位移位寄存器上進(jìn)行測(cè)試,這樣每個(gè)引腳都被JTAG采樣或監(jiān)聽(tīng)。ARM7TDMI(圖2)的TAP控制器通過(guò)JTAG接口控制各個(gè)硬件掃描鏈,掃描鏈0可以訪問(wèn)所有外圍部件;掃描鏈1是掃描鏈0的一部分,它可以訪問(wèn)數(shù)據(jù)總線和控制總線BREAKPT;掃描鏈2主要用于訪問(wèn)Embedded ICE邏輯部件中的各寄存器。ARM7TDMI調(diào)試接口建立在IEEE1149-1190標(biāo)準(zhǔn)之上,該標(biāo)準(zhǔn)定義了訪問(wèn)芯片的5個(gè)引腳串行通訊協(xié)議,可以通過(guò)5個(gè)引腳訪問(wèn)芯片內(nèi)部,從而可以進(jìn)行調(diào)試和測(cè)試。JTAG調(diào)試過(guò)程:

       ① 設(shè)置程序斷點(diǎn)、數(shù)據(jù)斷點(diǎn)或相應(yīng)外部請(qǐng)求,以便進(jìn)入調(diào)試狀態(tài);

       ② 當(dāng)程序運(yùn)行到斷點(diǎn)指令時(shí),處理器進(jìn)入調(diào)試狀態(tài),此時(shí)斷點(diǎn)指令還沒(méi)執(zhí)行;

       ③ 在調(diào)試狀態(tài)用戶執(zhí)行所需的調(diào)試能,如停止目標(biāo)程序執(zhí)行、查看目標(biāo)內(nèi)核狀態(tài)、查看和修改存儲(chǔ)器的內(nèi)容等。

                                                           圖   4

       5.結(jié)束語(yǔ) 

        
本文通過(guò)對(duì)嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II中的關(guān)鍵技術(shù)及ARM體系組結(jié)構(gòu)和調(diào)試的分析,結(jié)合LPC2214的硬件結(jié)構(gòu)和運(yùn)行環(huán)境,說(shuō)明了μC/OS-II的移植、PLPC2214的應(yīng)用和調(diào)試。

 

參考文獻(xiàn):
1,Jean J. Labrosse 著,邵貝貝等譯,μC/OS-Ⅱ__源碼公開的嵌入式實(shí)時(shí)操作系統(tǒng).北京:中國(guó)電力出版社,2001.
2,周立功 等編著,ARM控制器基礎(chǔ)與實(shí)戰(zhàn).北京:北京航空航天大學(xué)出版社,2003-11.

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉