基于VXWORKS的嵌入式開發(fā)設(shè)計(jì)講義
http://一、嵌入式系統(tǒng)簡介
1、 嵌入式系統(tǒng)的基本特征
(1) 專用的嵌入式cpu
該cpu具有高效率、低功耗、體積小和集成度高等特點(diǎn),能夠把通用cpu中許多由板卡完成的任務(wù)集成在芯片內(nèi)部完成,有利于嵌入式系統(tǒng)設(shè)計(jì)趨于小型化,移動能力增強(qiáng),與網(wǎng)絡(luò)耦合緊密。
(2) 專用性和算法的唯一性
設(shè)計(jì)成完成某一特定任務(wù),和相應(yīng)具體任務(wù)有機(jī)結(jié)合在一起,具有較長的生命周期。
(3) 多種技術(shù)的結(jié)合體
計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)以及電子技術(shù)和各行業(yè)的具體應(yīng)用緊密結(jié)合在一起的系統(tǒng)。
(4) 軟硬件緊密的相互依賴性
專用性決定了設(shè)計(jì)目標(biāo)是單一的,硬件和軟件的依賴性強(qiáng),用利于版權(quán)的保護(hù)。
(5) 系統(tǒng)對用戶透明提供各類arm開發(fā)板/開發(fā)工具h(yuǎn)ttp://edmarket.com.cn/plist-3-855.html 用戶使用只是按照預(yù)定方式使用,不需要用戶編程和修改。
(6) 大多具有實(shí)時性
如工業(yè)儀表、控制裝置、數(shù)控系統(tǒng)、信息家電等。
(7) 系統(tǒng)資源有限
速度和存儲容量以及擴(kuò)展接口有限。
(8) 多為分布式系統(tǒng)
更易于保證硬實(shí)時要求、更便宜和更易于實(shí)現(xiàn)。
2、嵌入式軟件的特點(diǎn)
(1) 多具有實(shí)時性
指操作系統(tǒng)內(nèi)核采用了一種算法,使tc(context swich)和ts(system call)盡可能小、盡可能是常量和可確定。所謂可確定是指tc和ts有一個上限,而不是一個統(tǒng)計(jì)的結(jié)果,即不會出現(xiàn)峰值,不會隨系統(tǒng)任務(wù)的增多而增多提供各類arm開發(fā)板/開發(fā)工具h(yuǎn)ttp://edmarket.com.cn/plist-3-855.html。
(2) 有并發(fā)處理能力
能并發(fā)處理各個事件驅(qū)動,采用多任務(wù)運(yùn)行機(jī)制。
(3) 具有快速啟動、出錯處理和自動復(fù)位能力
能從只讀存儲器中快速啟動,具有高容錯機(jī)制,在系統(tǒng)出現(xiàn)死機(jī)前自動重啟。
(4) 應(yīng)用軟件和操作系統(tǒng)一體化設(shè)計(jì)
硬件和軟件一起設(shè)計(jì),以解決特定的問題,不同的系統(tǒng)有不同的配置。
(5) 交叉開發(fā)環(huán)境提供各類arm開發(fā)板/開發(fā)工具h(yuǎn)ttp://edmarket.com.cn/plist-3-855.html
二、嵌入式系統(tǒng)軟件開發(fā)流程
1、需求分析
2、設(shè)計(jì)思路 ?。?) 概要設(shè)計(jì) ?。?) 詳細(xì)設(shè)計(jì) ?。?) 詳細(xì)寫出測試項(xiàng)目(包括測試類別、測試過程、測試預(yù)測結(jié)果)
3、編碼
(1) 各芯片代碼模塊化,有利于移植 ?。?) 需要注意一些小問題(如邊界條件、內(nèi)存越界訪問、空指針等)ⅰtypedef struct{……ushort wtr;uchar delay;uchar mode;} setlogicsubnetreqstruct;void oam_setlogicsubnet_req(uchar* pmsg){datagramhead *pdatagramhead;uchar *pdata;提供各類arm開發(fā)板/開發(fā)工具h(yuǎn)ttp://edmarket.com.cn/plist-3-855.htmlsetlogicsubnetreqstruct *psetlogicsubnetreq;ulong i, count;ushort subnet_id, e_from_tsn1, e_to_tsn1, w_from_tsn1, w_to_tsn1,e_from_tsn2, e_to_tsn2, w_from_tsn2, w_to_tsn2, e_s_b_tsn, e_p_b_tsn, w_s_b_tsn, w_p_b_tsn;uchar selfid, num, e_id, w_id, delay, mode;uchar wtr;……wtr = psetlogicsubnetreq->wtr;……}ⅱstatus syscpmenetaddrget(int unit,uint8 *addr){char *buff = null;#ifdef include_nvramgetcpmmacaddr(buff, max_adr_size);……}
4、測試提供各類arm開發(fā)板/開發(fā)工具h(yuǎn)ttp://edmarket.com.cn/plist-3-855.html
?。?) 單元測試(在單機(jī)上測試) (2) 聯(lián)調(diào)(主要測試接口) ?。?) 系統(tǒng)調(diào)試(測試功能)
三、vxworks嵌入式實(shí)時操作系統(tǒng)
1、bsp(board support package)的概念