基于SH7137嵌入式控制器的研究與開發(fā)
2 μC/OS-II的移植
移植就是使一個(gè)實(shí)時(shí)內(nèi)核能在某個(gè)微處理器或微控制器上運(yùn)行。為了便于內(nèi)核的移植,μC/OS-II的大部分代碼用C語言編寫。移植工作主要集中在os_cpu.h,os_cpu_C.C、os_cpu_a.a(chǎn)sm三個(gè)文件上。os_cpu.h主要涉及到與編譯器相關(guān)的數(shù)據(jù)類型的定義、堆棧類型定義、兩個(gè)宏定義和幾個(gè)函數(shù)說明。os_cpu_C.C包含與移植有關(guān)的10個(gè)C函數(shù),除第一個(gè)任務(wù)堆棧初始化函數(shù)外的9個(gè)函數(shù),需要聲明,由系統(tǒng)函數(shù)調(diào)用,方便用戶可以在操作系統(tǒng)中加入自己需要的功能。os_cpu_a.a(chǎn)sm包含與移植有關(guān)的4個(gè)匯編語言函數(shù):OSStartHighRdy()、OSCtxSw ()、OSIntCtxSw ()、STickISR ()。
控制器采用瑞薩單片機(jī)SH7137,具有SH2的內(nèi)核,支持集成開發(fā)環(huán)境HEW,可以生成重入代碼,有足夠的寄存器來關(guān)、開中斷,指令可以對(duì)堆棧進(jìn)行操作,因此,μC/OS-II可以移植到SH7137控制器上。
3 系統(tǒng)程序設(shè)計(jì)
實(shí)現(xiàn)了嵌入式控制器系統(tǒng)的硬件設(shè)計(jì)和μC/OS-II操作系統(tǒng)的移植,但這只是個(gè)嵌入式控制器的系統(tǒng)平臺(tái)。在實(shí)際應(yīng)用中還必須對(duì)相應(yīng)外圍功能模塊的操作達(dá)到控制目的。針對(duì)外圍功能模塊編寫一個(gè)接口函數(shù),就可以在編寫應(yīng)用軟件時(shí)調(diào)用這些函數(shù)來傳遞數(shù)據(jù),另外,能夠針對(duì)具體應(yīng)用編寫并調(diào)試一些具體有相對(duì)獨(dú)立性的、通用性的函數(shù),將大大簡(jiǎn)化編程結(jié)構(gòu),并使程序模塊化,形成一個(gè)統(tǒng)一的接口的函數(shù)庫。如圖3所示。本文引用地址:http://www.ex-cimer.com/article/150317.htm
在整個(gè)嵌入式控制器的設(shè)計(jì)上,硬件設(shè)計(jì),為整個(gè)控制器最底層,其中包括SOM核心板、底板以及輸入輸入的IO模塊,操作系統(tǒng)的處于控制器的第二層,負(fù)責(zé)與處理底層硬件的接口,同時(shí)為處理上層應(yīng)用程序提供接口,本控制器移植的是開源的嵌入式操作系統(tǒng):μC/OS-II。本系統(tǒng)的第三層為應(yīng)用開發(fā)層,主要是實(shí)現(xiàn)針對(duì)用戶所要求處理問題的應(yīng)用程序,這一層主要面向用戶,其中應(yīng)用開層包含了一個(gè)函數(shù)驅(qū)動(dòng)庫,這是這個(gè)模塊函數(shù)接口,為二次開發(fā)人員提供的,方便其調(diào)用系統(tǒng)的模塊函數(shù)接口,同時(shí)也方便用戶調(diào)用,便于開發(fā),減少用戶利用本控制器開發(fā)產(chǎn)品的周期。
硬件驅(qū)動(dòng)庫主要集成了人機(jī)界面的控制、RS232串口通信訊模塊、RS485通信模塊、CAN接口通信模塊以及IO輸入輸出等模塊的數(shù)據(jù)處理。硬件驅(qū)動(dòng)庫具有統(tǒng)一的數(shù)據(jù)定義和統(tǒng)一的函數(shù)接口。
4 結(jié)束語
本文基于SH7137嵌人式控制器采用核心板+底板的開發(fā)模式,實(shí)現(xiàn)功能模塊化、可配置化的功能,具有通用性、可編程、良好的人機(jī)界面等特點(diǎn)。整個(gè)控制系統(tǒng)可以根據(jù)使用的場(chǎng)合和對(duì)象進(jìn)行模塊配置,為其帶來靈活多變、成本低廉等優(yōu)勢(shì)。
評(píng)論