ARM嵌入式系統(tǒng)軟件實(shí)時(shí)時(shí)鐘的設(shè)計(jì)
在PC機(jī)上建立起uclinux的編譯環(huán)境,在終端中運(yùn)行博創(chuàng)開發(fā)板自帶光盤上的install.sh文件,它將在你的PC機(jī)上安裝交叉編譯環(huán)境和一個(gè)在44B0X上運(yùn)行uclinux-2.4.x文件夾和許多有用的文件夾。建立交叉編譯環(huán)境也可以通過下在通用的gcc編譯器來實(shí)現(xiàn),它是一個(gè).sh文件,其運(yùn)行方法在后面有介紹。實(shí)際上就是建立uclinux的庫文件的過程。開源的好處就在于這一切都是透明的,不需要你去配置,只要會(huì)安裝就可以了。
通過串口燒寫uclinux內(nèi)核和根文件系統(tǒng),這在Windows下使用超級終端。Linux下使用minicom?;驹O(shè)置是波特率115200,8個(gè)數(shù)據(jù)位,無奇偶校驗(yàn),停止位1,無數(shù)據(jù)流控制。
同時(shí)要在PC機(jī)上建立NFS文件共享服務(wù),本文的共享目錄是/root/nfs。進(jìn)入服務(wù)器配置選項(xiàng),里面有NFS,網(wǎng)絡(luò)服務(wù)器配置等。配置過程時(shí)建立要選擇共享的目錄和訪問的IP段。
7 PCF8563的讀寫程序
PCF8563 使用的是I2C總線,他的讀寫過程遵循總線的讀寫過程,S3C44B0X的I2C總線控制器為一個(gè)多主的控制器,其讀寫流程如圖2所示。
根據(jù)流程編寫了PCF8563的讀寫程序。該程序通過uclinux的交叉編譯工具編譯成為可以在S3C44B0X上面運(yùn)行的程序,過程如下:該程序和它的頭文件放到同一個(gè)目錄下,然后打開終端在終端下執(zhí)行:
cd 所在目錄
arm-elf-gcc -elf2flt rtc main.c
這樣就會(huì)生成一個(gè)uclinux下的可執(zhí)行文件,通過NFS掛載過去,步驟如下:
ifconfig eth0 202.204.96.196
mount -t nfs 202.204.96.198:/root/nfs /host
用cd命令進(jìn)入所掛載的目錄,直接執(zhí)行就可以了。
該過程在實(shí)際操作過程中可以用一種簡便的方法來實(shí)現(xiàn),這也是經(jīng)行uclinux下開發(fā)程序的簡便之處,那就是makefile文件。我們在一臺服務(wù)器主機(jī)上建立一個(gè)虛擬機(jī)VM work station,里面安裝的是linux系統(tǒng)和uclinux的交叉編譯環(huán)境,在需要編譯的文件所在目錄下建立一個(gè)makefile文件,內(nèi)容如下:
all: main.c //編譯的文件
arm-elf-gcc -elf2flt -o rtc main.c//編譯讀寫程序
cp rtc /root/nfs//復(fù)制rtc到NFS共享目錄下
chmod +x /root/nfs/rtc//改變可執(zhí)行文件rtc的屬性
通過telnet獲得虛擬機(jī)的root權(quán)限。然后進(jìn)入main.c所在目錄。這時(shí)候的編譯就只需要在main.c所在目錄下運(yùn)行make命令就可以了,它會(huì)自動(dòng)生成可執(zhí)行文件rtc,自動(dòng)復(fù)制到NFS共享文件夾中。在開發(fā)板上進(jìn)入NFS共享文件夾,運(yùn)行其中的應(yīng)用程序。這種方法對程序的開發(fā)極其的方便,這也是linux下程序開發(fā)調(diào)試的優(yōu)勢之一。
8 結(jié)論:
本文使用PCF8563來代替CPU上集成的實(shí)時(shí)時(shí)鐘,使系統(tǒng)時(shí)間不會(huì)丟失,在硬件上保證了實(shí)時(shí)性;精度相對集成實(shí)時(shí)時(shí)鐘得到了提高。在其讀寫程序的編寫編譯過程中,還對uclinux下的高效程序開發(fā)方法進(jìn)行了實(shí)踐。在有較高的精度要求時(shí),可以對時(shí)鐘的精度進(jìn)行調(diào)整以適應(yīng)需求。同時(shí)這種擴(kuò)展方法具有一定的通用性,可以在各種單片機(jī)和ARM應(yīng)用系統(tǒng)中使用,有一定的使用和借鑒價(jià)值。
評論