基于S3C44B0X及uClinux操作系統(tǒng)的汽車(chē)黑匣子設(shè)計(jì)
在這里需要注意的是Flash的讀寫(xiě)特點(diǎn)是其可隨機(jī)讀,但無(wú)法隨機(jī)寫(xiě)。Flash在寫(xiě)之前必須先擦除,而一擦又必須擦一個(gè)Block或者一個(gè)sector,因此在擦除某Block或sector 之前必須保存同一個(gè)Block或sector 中有關(guān)的數(shù)據(jù)。如果每收到一次數(shù)據(jù)就進(jìn)行一次擦、保存、寫(xiě)的操作,系統(tǒng)任務(wù)將十分繁重,無(wú)法及時(shí)響應(yīng)USB Host 端的請(qǐng)求,因此這個(gè)需要通過(guò)設(shè)置一定大小的緩沖區(qū)來(lái)解決。
3 uClinux操作系統(tǒng)
在進(jìn)行嵌入式系統(tǒng)設(shè)計(jì)中,對(duì)操作系統(tǒng)的選擇是至關(guān)重要的,對(duì)于系統(tǒng)需求不同需要運(yùn)用不同的操作系統(tǒng)。本系統(tǒng)考慮的主要是穩(wěn)定性和安全性,所以運(yùn)用uClinux操作系統(tǒng)。uClinux操作系統(tǒng)是基本上跟Linux操作系統(tǒng)是一樣的。(1)它是免許可證用費(fèi)同時(shí)具有很高的穩(wěn)定性、安全性和可裁剪性。(2)支持強(qiáng)大的網(wǎng)絡(luò)功能,這個(gè)使我們的系統(tǒng)有更好的擴(kuò)展性,比如以后在上面實(shí)現(xiàn)GPRS等網(wǎng)絡(luò)功能(3)具有豐富的開(kāi)放工具,提供C、C++、JAVA以及很多其它的開(kāi)發(fā)工具,這個(gè)為我們的應(yīng)用程序的開(kāi)發(fā)提供了很大方便。(4)具有大量的文檔可供我們參考。它們之間最大的不同是是uClinux是了為了滿足沒(méi)有MMU的處理器而特別設(shè)計(jì)的,即uClinux不能使用處理器的虛擬內(nèi)存管理技術(shù)而是采用的是實(shí)存儲(chǔ)器管理策略。
這里有主要的三個(gè)方面在移植的過(guò)程中是需要注意的。1、如果處理器的核不被uClinux支持,這就需要我們?cè)趗clinux/linux-2.4.x/arch/中增加一個(gè)新的體系結(jié)構(gòu),這個(gè)工作量將是巨大的。但在我們的這個(gè)系統(tǒng)中ARM7TDMI體系結(jié)構(gòu)已經(jīng)存在uclinux/linux-2.4.x/arch/armnommu/目錄中。2、在相同體系結(jié)構(gòu)目錄中找一個(gè)與你的處理器比較接近的處理器的配置文件進(jìn)行修改,使之適合你的處理器。如果沒(méi)有合適的就需要你自己寫(xiě),同樣這個(gè)工作量也是相當(dāng)大的。3、如果本系統(tǒng)的一些外圍設(shè)備電路不被uClinux所支持,需要自己編寫(xiě)其的設(shè)備驅(qū)動(dòng)程序。
4 結(jié)束語(yǔ)
本汽車(chē)黑匣是建立在以32位三星的S3C44B0X微處理器為核心及uClinux操作系統(tǒng)的嵌入式系統(tǒng),可以更好的滿足系統(tǒng)穩(wěn)定性和運(yùn)用程序的多樣性,因此可以更加完整、精確和多樣性的記錄下汽車(chē)的行駛狀態(tài),為事故的分析提供準(zhǔn)確的依據(jù),同時(shí)也對(duì)抑制交通事故起到很大的重要。另外在本系統(tǒng)中我們把整個(gè)系統(tǒng)做成U盤(pán),這樣可以把記錄的數(shù)據(jù)方便、迅速的傳輸?shù)接?jì)算機(jī)或者PDA上。
評(píng)論