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