LPC2294的實(shí)時(shí)時(shí)鐘顯示工程設(shè)計(jì)分析
摘要 LPC2294是飛利浦半導(dǎo)體公司生產(chǎn)的基于ARM7TDMI-S內(nèi)核的芯片。本文介紹一個(gè)基于LPC2294的完整的時(shí)鐘顯示設(shè)計(jì)工程,給出啟動(dòng)代碼的詳細(xì)設(shè)計(jì)過(guò)程,以廈時(shí)鐘顯示應(yīng)用程序的主要函敷說(shuō)明。其中的啟動(dòng)代碼設(shè)計(jì)過(guò)程可供一般的基于ARM7TDMI-S內(nèi)核的嵌入式處理囂芯片參考使用。
本文引用地址:http://cafeforensic.com/article/86235.htm關(guān)鍵詞 LPC2294,ARM嵌入式系統(tǒng)啟動(dòng)代碼,RTC模塊,定時(shí)器模塊,VFD模塊PT6311
引言
嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)于應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。嵌入式系統(tǒng)有復(fù)雜和簡(jiǎn)單之分。通常代碼量少的系統(tǒng)完成的功能有限,可以不使用嵌人式操作系統(tǒng),直接在裸機(jī)上開(kāi)發(fā),使用的開(kāi)發(fā)工具可以是匯編語(yǔ)言和C語(yǔ)言;復(fù)雜的嵌入式系統(tǒng)推薦使用嵌入式操作系統(tǒng)。
ARM(Advarlced RISC Machine)是設(shè)計(jì)這種處理器內(nèi)核的公司的名字,ARM核并非芯片。ARM核與其他部件,如RAM、ROM、片內(nèi)外設(shè),組合在一起才構(gòu)成現(xiàn)實(shí)的芯片。ARM作為一類微處理器的通稱,作為一種低功耗、高性能的32位嵌入式微處理器,現(xiàn)在已經(jīng)被廣泛應(yīng)用在各個(gè)領(lǐng)域中。
ARM應(yīng)用的開(kāi)發(fā)工具主要包括集成開(kāi)發(fā)環(huán)境IDE、評(píng)估板和JTAG仿真器等。國(guó)內(nèi)使用較多的IDE為ARM公司的SDT、ADS以及英蓓特公司的Embest IDE。仿真器有ARM公司的Muti-ICE和英蓓特公司的Embest系列ARM JTAG仿真器等。
可以在PC機(jī)上開(kāi)發(fā)一個(gè)嵌入式系統(tǒng),利用集成開(kāi)發(fā)環(huán)境編寫并編譯鏈接產(chǎn)生ARM處理器執(zhí)行代碼。然后用仿真器等調(diào)試工具調(diào)試,并下載代碼到硬件上,如圖1所示。
在嵌入式系統(tǒng)的編程開(kāi)發(fā)過(guò)程中,技術(shù)難點(diǎn)主要在于系統(tǒng)引導(dǎo)程序的編寫。為此提供一個(gè)較完整的小工程,詳細(xì)分析在ARM7基礎(chǔ)上開(kāi)發(fā)嵌入式系統(tǒng)時(shí)引導(dǎo)程序的關(guān)鍵代碼,并簡(jiǎn)要介紹應(yīng)用程序的主要函數(shù)。
LPC2294是基于一個(gè)支持實(shí)時(shí)仿真和跟蹤的16/32位ARM7TDMI-SCPU,帶有256 KB嵌入的高速Flash存儲(chǔ)器。它有極低的功耗、多個(gè)32位定時(shí)器、RTC模塊、WDT模塊等。
本文主要是在以LPC2294為核心的ARM小系統(tǒng)中,在不采用操作系統(tǒng)的情況下,試編寫了一個(gè)工程,并下載到該開(kāi)發(fā)板的外部存儲(chǔ)器(該開(kāi)發(fā)板的片外存儲(chǔ)器為4 MB片外32位數(shù)據(jù)總線寬度Flash存儲(chǔ)器),接上VFD顯示模塊后,脫機(jī)運(yùn)行時(shí),顯示實(shí)時(shí)時(shí)鐘成功。
該工程利用ADS開(kāi)發(fā)軟件,在CodeWarrior IDE集成開(kāi)發(fā)環(huán)境下,編寫編譯并使用AXD和技創(chuàng)公司的techorICE仿真器訶試,并下載程序,VFD模塊采用PT6311驅(qū)動(dòng)芯片。
工程的程序主要分兩部分:系統(tǒng)引導(dǎo)(BOOT)部分和應(yīng)用程序部分。
1 系統(tǒng)引導(dǎo)部分
系統(tǒng)引導(dǎo)(BOOT)是芯片復(fù)位后進(jìn)入應(yīng)用程序之前執(zhí)行的一段代碼,主要是為運(yùn)行應(yīng)用程序提供基本的運(yùn)行環(huán)境,對(duì)系統(tǒng)硬件和軟件運(yùn)行環(huán)境進(jìn)行初始化。這些工作是用匯編語(yǔ)言和C語(yǔ)言完成的,是嵌入式系統(tǒng)中應(yīng)用程序的開(kāi)頭部分,與應(yīng)用程序一起固化在ROM中,并首先在系統(tǒng)上運(yùn)行。
設(shè)計(jì)好系統(tǒng)引導(dǎo)(BOOT)是設(shè)計(jì)嵌入式程序的關(guān)鍵,也是系統(tǒng)能夠正常工作的前提。系統(tǒng)引導(dǎo)(BOOT)所執(zhí)行的操作主要依賴于CPU內(nèi)核的類型,以及正在開(kāi)發(fā)的嵌入式系統(tǒng)軟件中需要使用的CPU芯片上的資源。針對(duì)該款芯片和應(yīng)用程序的系統(tǒng)引導(dǎo)(B00T)代碼的流程如圖2所示。
以下按在片內(nèi)RAM調(diào)試該工程時(shí),順序出現(xiàn)的啟動(dòng)代碼的有關(guān)文件,給出關(guān)鍵代碼分析:;中斯向量表,給出CPU芯片出現(xiàn)異常時(shí)應(yīng)該轉(zhuǎn)去執(zhí)行的程序
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論