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