LPC2294的實(shí)時(shí)時(shí)鐘顯示設(shè)計(jì)
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)用的開發(fā)工具主要包括集成開發(fā)環(huán)境IDE、評估板和JTAG仿真器等。國內(nèi)使用較多的IDE為ARM公司的SDT、ADS以及英蓓特公司的Embest IDE。仿真器有ARM公司的Muti-ICE和英蓓特公司的Embest系列ARM JTAG仿真器等。
可以在PC機(jī)上開發(fā)一個(gè)嵌入式系統(tǒng),利用集成開發(fā)環(huán)境編寫并編譯鏈接產(chǎn)生ARM處理器執(zhí)行代碼。然后用仿真器等調(diào)試工具調(diào)試,并下載代碼到硬件上,如圖1所示。
在嵌入式系統(tǒng)的編程開發(fā)過程中,技術(shù)難點(diǎn)主要在于系統(tǒng)引導(dǎo)程序的編寫。為此提供一個(gè)較完整的小工程,詳細(xì)分析在ARM7基礎(chǔ)上開發(fā)嵌入式系統(tǒng)時(shí)引導(dǎo)程序的關(guān)鍵代碼,并簡要介紹應(yīng)用程序的主要函數(shù)。
LPC2294是基于一個(gè)支持實(shí)時(shí)仿真和跟蹤的16/32位ARM7TDMI-SCPU,帶有256 KB嵌入的高速Flash存儲器。它有極低的功耗、多個(gè)32位定時(shí)器、RTC模塊、WDT模塊等。
本文主要是在以LPC2294為核心的ARM小系統(tǒng)中,在不采用操作系統(tǒng)的情況下,試編寫了一個(gè)工程,并下載到該開發(fā)板的外部存儲器(該開發(fā)板的片外存儲器為4 MB片外32位數(shù)據(jù)總線寬度Flash存儲器),接上VFD顯示模塊后,脫機(jī)運(yùn)行時(shí),顯示實(shí)時(shí)時(shí)鐘成功。
該工程利用ADS開發(fā)軟件,在CodeWarrior IDE集成開發(fā)環(huán)境下,編寫編譯并使用AXD和技創(chuàng)公司的techorICE仿真器訶試,并下載程序,VFD模塊采用PT6311驅(qū)動芯片。
工程的程序主要分兩部分:系統(tǒng)引導(dǎo)(BOOT)部分和應(yīng)用程序部分。
【詳情參閱:LPC2294的實(shí)時(shí)時(shí)鐘顯示設(shè)計(jì)】
基于ARM9的媒體播放器的設(shè)計(jì)方案
1 引言
計(jì)算機(jī)多媒體技術(shù)和網(wǎng)絡(luò)技術(shù)飛速發(fā)展使得基于流媒體的多媒體應(yīng)用也被運(yùn)用在多種領(lǐng)域,特別是網(wǎng)絡(luò)可視電話、遠(yuǎn)程監(jiān)控、視頻點(diǎn)播領(lǐng)域。伴隨著計(jì)算機(jī)多媒體壓縮技術(shù)的成熟和網(wǎng)絡(luò)傳輸技術(shù)的發(fā)展,開發(fā)實(shí)時(shí)可靠、多功能、數(shù)字化、操作簡單的基于計(jì)算機(jī)網(wǎng)絡(luò)通訊技術(shù)和多媒體應(yīng)用的網(wǎng)絡(luò)化流媒體播放器已成為計(jì)算機(jī)、通信、消費(fèi)電子產(chǎn)品領(lǐng)域(3C 產(chǎn)業(yè)-Computer、Communication、Consumer Electronics)技術(shù)發(fā)展的主要方向之一。
2 系統(tǒng)硬件設(shè)計(jì)
本文使用TQ2440 開發(fā)板作為硬件平臺。
S3C2440AL 是控制核心,負(fù)責(zé)控制所有輔助設(shè)備。存儲器采用SDRAM 和Flash 兩種類型,能滿足系統(tǒng)運(yùn)行和調(diào)試的需要?;?a target="_blank">端口包括以太網(wǎng)接口、USB 接口、兩個(gè)RS232 的串口。A/D 和D/A 模塊主要用于現(xiàn)場數(shù)據(jù)的采集與控制信號的輸出。DC/DC 模塊主要負(fù)責(zé)整個(gè)系統(tǒng)的供電。
S3C 2440AL 是三星公司設(shè)計(jì)開發(fā)的基于精簡指令集的ARM9 核的CPU, 工作頻率可以達(dá)到400MHz,且具有豐富的內(nèi)部設(shè)備,其中主要包括:存儲器管理單元MMU、16kB 的指令緩沖器和16kB 數(shù)據(jù)緩沖器、存儲器控制器(SDRAM 控制器)、NANDFlash 和NOR Flash 控制器、4 通道的外部DMA 請求控制、3 個(gè)串行口、SD 存儲卡讀取接口、USB 主機(jī)、USB 設(shè)備、5 個(gè)脈寬調(diào)制定時(shí)器。目前,S3C2440AL 已廣泛地應(yīng)用于PDA、智能手機(jī)、數(shù)字多媒體等方面。
3 系統(tǒng)的軟件設(shè)計(jì)
系統(tǒng)的軟件組成包括:嵌入式Linux 操作系統(tǒng)、設(shè)備驅(qū)動程序、圖形界面和瀏覽器程序,這些只是IPTV 機(jī)頂盒軟件組成的關(guān)鍵部分。
3.1 嵌入式操作系統(tǒng)的選擇及移植
本系統(tǒng)采用Linux 作為操作系統(tǒng),并選用Linux2.6內(nèi)核在嵌入式微處理器S3C2410 上移植,具體移植方法如下:
?。?)準(zhǔn)備Linux2.6 內(nèi)核移植所必需的文件(內(nèi)核壓縮包linux-2.6.tar.bz2 及交叉編譯器arm -linuxgcc-3.4.1.tar.bz2),這些文件可到Linux 官方網(wǎng)站免費(fèi)下載。
?。?)利用Linux 命令(mkdir,tar,mv 及export)安裝交叉編譯器arm-linux-gcc-3.4.1.
(3)修改Makefile 文件及相關(guān)硬件文件。由于內(nèi)核的編譯是根據(jù)Makefile 文件的指示進(jìn)行的,Makefile 文件來組織內(nèi)核的各模塊之間的關(guān)系,記錄了各個(gè)模塊之間的相互聯(lián)系和依賴關(guān)系。所以,開發(fā)人員要首先修改Linux2.6 根目錄下的Makfile 文件,修改的主要內(nèi)容是目標(biāo)代碼的類型和為編譯內(nèi)核指定一個(gè)編譯器。
?。?)運(yùn)用Make 命令編譯內(nèi)核生成內(nèi)核鏡像文件zImage 文件,通過相應(yīng)的固化軟件把這個(gè)文件固化在系統(tǒng)相應(yīng)的存儲器中,完成Linux2.6 內(nèi)核在ARM 微處理器上的移植。
3.2 媒體播放器的總體架構(gòu)
系統(tǒng)實(shí)現(xiàn)原理:在嵌入式微處理器S3C2440AL的控制下,TQ2440 開發(fā)板通過網(wǎng)絡(luò)接口接收來自內(nèi)容服務(wù)提供商的音視頻廣播信息,之后運(yùn)行圖形界面程序獲取音視頻信息,并在此基礎(chǔ)上生成音視頻節(jié)目清單,將信號傳至顯示屏進(jìn)行顯示,將節(jié)目呈現(xiàn)給用戶。用戶利用顯示系統(tǒng)提供的圖形界面和瀏覽器使用鍵盤、鼠標(biāo)進(jìn)行控制,觀看節(jié)目,其總體架構(gòu)如圖1 所示。
【詳情參閱:基于ARM9的媒體播放器的設(shè)計(jì)方案】
評論