資源描述:
《基于arm控制器lpc2214的嵌入式系統(tǒng)研究與開(kāi)發(fā)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、基于ARM控制器LPC2214的嵌入式系統(tǒng)研究與開(kāi)發(fā)
2、第1摘要:本文首先分析了ARM體系結(jié)構(gòu),重點(diǎn)介紹了LPC2214的組成并舉了應(yīng)用實(shí)例,然后分析了μC/OS-II的移植,最后說(shuō)明了LPC2214的調(diào)試。ResearchingandExploitingEmbeddedSystemBasedonARMControllerLPC2214本文于2005年3月9日收到。張勝茂:碩士生,主要研究方向:嵌入式系統(tǒng)研究與開(kāi)發(fā)。1嵌入式系統(tǒng)與ARM嵌入式系統(tǒng)以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成
3、本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。ARM(AdvancedRSICMachines)是一家出售芯片設(shè)計(jì)技術(shù)授權(quán)的公司,目前其設(shè)計(jì)的ARM微處理器占據(jù)了32位RISC(ReducedInstructionSetputing)微處理器75%以上的市場(chǎng)份額。2ARM體系結(jié)構(gòu)ARM已經(jīng)從V3發(fā)展到V6。目前流行的ARM芯片內(nèi)核有ARM7TDMI、StrongARM、ARM720T、ARM9TDMI、ARM922T、ARM940T、ARM946T、ARM966T、ARM10TDMI等。PhilipsLPC2214(以下簡(jiǎn)稱L
4、PC2214)是基于ARM7TDMI-S的高性能32位RISC微控制器,屬于V4T版本。2.1ARM處理器內(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)硬件。500)this.style.ouseg(this)">2.2ARM微控制器嵌入式微控制器(單
5、片機(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接口(400kHz)、2個(gè)SPI接口;8路10位A/D轉(zhuǎn)換器(0~3V測(cè)量范圍),
6、轉(zhuǎn)換時(shí)間可低至2.44uS;2個(gè)32位定時(shí)器(帶4路捕獲和4路比較通道);P單元(6路輸出);實(shí)時(shí)時(shí)鐘和看門狗;112個(gè)通用I/O口(可承受5V電壓);2個(gè)低功耗模式,空閑和掉電;片上集成高速閃存。稅控收款機(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)充分
7、合理地利用了其片內(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ì)。500)this.style.ouseg(this)">3系統(tǒng)移植ARM芯片獲得了許多實(shí)時(shí)操作系統(tǒng)(RealTimeOperatingSystem)供應(yīng)商的支持,比較知名的有:soPlainTextstyle="MARGIN:0cm0cm0pt">LPC2214的ARM7TDMI-S內(nèi)核用ARMADS作為
8、編譯器移植μC/OS-II。包括以下內(nèi)容:①設(shè)置OS_CPU.H頭文件中與處理器和編譯器相關(guān)的代碼如:整數(shù)、浮點(diǎn)數(shù)、堆棧等數(shù)據(jù)類型定義,打開(kāi)或者關(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()、OSTaskSeTickHook()③在OS_CPU.ASM文件中用匯編語(yǔ)言編寫四個(gè)與處理器相
9、關(guān)的函數(shù):運(yùn)行優(yōu)先級(jí)最高的就緒任務(wù)OSStartHighRdy()、任務(wù)級(jí)的任務(wù)切換函數(shù)OSCtxS0cm0pt">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ò)展工作。主要包括:①建立文