- 相關(guān)推薦
嵌入式系統(tǒng)開(kāi)發(fā)流程
嵌入式編程開(kāi)發(fā)是目前大多數(shù)軟件開(kāi)發(fā)程序員都在學(xué)習(xí)的一個(gè)編程開(kāi)發(fā)技術(shù),以下想是小編搜集整理的關(guān)于嵌入式系統(tǒng)開(kāi)發(fā)流程的內(nèi)容,一起來(lái)看看吧,希望能夠幫助到你!
第一步:建立開(kāi)發(fā)環(huán)境
操作系統(tǒng)一般使用Redhat Linux,選擇定制安裝或全部安裝,通過(guò)網(wǎng)絡(luò)下載相應(yīng)的GCC交叉編譯器進(jìn)行安裝(比如,arm-linux-gcc、arm-uclibc-gcc),或者安裝產(chǎn)品廠家提供的相關(guān)交叉編譯器;
第二步:配置開(kāi)發(fā)主機(jī)
配置MINICOM,一般的參數(shù)為波特率115200 Baud/s,數(shù)據(jù)位8位,停止位為1,9,無(wú)奇偶校驗(yàn),軟件硬件流控設(shè)為無(wú)。在Windows下的超級(jí)終端的配置也是這樣。MINICOM軟件的作用是作為調(diào)試嵌入式開(kāi)發(fā)板的信息輸出的監(jiān)視器和鍵盤(pán)輸入的工具。配置網(wǎng)絡(luò)主要是配置NFS網(wǎng)絡(luò)文件系統(tǒng),需要關(guān)閉防火墻,簡(jiǎn)化嵌入式網(wǎng)絡(luò)調(diào)試環(huán)境設(shè)置過(guò)程。
第三步:建立引導(dǎo)裝載程序BOOTLOADER
從網(wǎng)絡(luò)上下載一些公開(kāi)源代碼的BOOTLOADER,如U.BOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT等,根據(jù)具體芯片進(jìn)行移植修改。有些芯片沒(méi)有內(nèi)置引導(dǎo)裝載程序,比如,三星的ARV17、ARM9系列芯片,這樣就需要編寫(xiě)開(kāi)發(fā)板上FLASH的燒寫(xiě)程序,可以在網(wǎng)上下載相應(yīng)的燒寫(xiě)程序,也有Linux下的公開(kāi)源代碼的J-FLASH程序。如果不能燒寫(xiě)自己的開(kāi)發(fā)板,就需要根據(jù)自己的具體電路進(jìn)行源代碼修改。這是讓系統(tǒng)可以正常運(yùn)行的第一步。如果用戶購(gòu)買(mǎi)了廠家的仿真器比較容易燒寫(xiě)FLASH,雖然無(wú)法了解其中的核心技術(shù),但對(duì)于需要迅速開(kāi)發(fā)自己的應(yīng)用的人來(lái)說(shuō)可以極大提高開(kāi)發(fā)速度。
第四步:下載已經(jīng)移植好的Linux操作系統(tǒng)
如MCLiunx、ARM-Linux、PPC-Linux等,如果有專門(mén)針對(duì)所使用的CPU移植好的Linux操作系統(tǒng)那是再好不過(guò),下載后再添加特定硬件的驅(qū)動(dòng)程序,然后進(jìn)行調(diào)試修改,對(duì)于帶MMU的CPU可以使用模塊方式調(diào)試驅(qū)動(dòng),而對(duì)于MCLiunx這樣的系統(tǒng)只能編譯內(nèi)核進(jìn)行調(diào)試。
第五步:建立根文件系統(tǒng)
下載使用BUSYBOX軟件進(jìn)行功能裁減,產(chǎn)生一個(gè)最基本的根文件系統(tǒng),再根據(jù)自己的應(yīng)用需要添加其他的程序。由于默認(rèn)的啟動(dòng)腳本一般都不會(huì)符合應(yīng)用的需要,所以就要修改根文件系統(tǒng)中的啟動(dòng)腳本,它的存放位置位于/etc目錄下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile等,自動(dòng)掛裝文件系統(tǒng)的配置文件/etc/fstab,具體情況會(huì)隨系統(tǒng)不同而不同。根文件系統(tǒng)在嵌入式系統(tǒng)中一般設(shè)為只讀,需要使用mkcramfs genromfs等工具產(chǎn)生燒寫(xiě)映像文件。
第六步:建立應(yīng)用程序的FLASH磁盤(pán)分區(qū)
一般使用JFFS2或YAFFS文件系統(tǒng),這需要在內(nèi)核中提供這些文件系統(tǒng)的驅(qū)動(dòng),有的系統(tǒng)使用一個(gè)線性FLASH(NOR型)512KB~32MB,有的系統(tǒng)使用非線性FLASH(NAND型)8MB~512MB,有的兩個(gè)同時(shí)使用,需要根據(jù)應(yīng)用規(guī)劃FLASH的分區(qū)方案。
第七步:開(kāi)發(fā)應(yīng)用程序
可以放入根文件系統(tǒng)中,也可以放入YAFFS、JFFS2文件系統(tǒng)中,有的應(yīng)用不使用根文件系統(tǒng),直接將應(yīng)用程序和內(nèi)核設(shè)計(jì)在一起,這有點(diǎn)類似于μC/OS-II的方式。
第八步:燒寫(xiě)內(nèi)核
根文件系統(tǒng)和應(yīng)用程序,發(fā)布產(chǎn)品。
常見(jiàn)的嵌入式系統(tǒng)有這么多:
Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX 、Rtems 、QNX、INTEGRITY、OSE、C Executive、autosar......
什么是嵌入式操作系統(tǒng)?
嵌入式操作系統(tǒng)是一種支持嵌入式系統(tǒng)應(yīng)用的操作系統(tǒng)軟件,它是嵌入式系統(tǒng)的重要組成部分。嵌入時(shí)操作系統(tǒng)具有通用操作系統(tǒng)的基本特點(diǎn),能夠有效管理復(fù)雜的系統(tǒng)資源,并且把硬件虛擬化。
從應(yīng)用角度可分為通用型嵌入式操作系統(tǒng)和專用型嵌入式操作系統(tǒng)。常見(jiàn)的通用型嵌入式操作系統(tǒng)有Linux、VxWorks、Windows CE.net等。常用的專用型嵌入式操作系統(tǒng)有Smart Phone、Pocket PC、Symbian等。
按實(shí)時(shí)性可分為兩類:
實(shí)時(shí)嵌入式操作系統(tǒng)主要面向控制、通信等領(lǐng)域。如WindRiver公司的VxWorks、ISI的pSOS、QNX系統(tǒng)軟件公司的QNX、ATI的Nucleus,很多汽車電子行業(yè)都是利用實(shí)時(shí)性很強(qiáng)的操作系統(tǒng)等。
非實(shí)時(shí)嵌入式操作系統(tǒng)主要面向消費(fèi)類電子產(chǎn)品。這類產(chǎn)品包括PDA、移動(dòng)電話、機(jī)頂盒、電子書(shū)、WebPhone等。如微軟面向手機(jī)應(yīng)用的Smart Phone操作系統(tǒng)。
嵌入式系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)而言,基本上需要四種不同的工作:系統(tǒng)設(shè)計(jì)工作,硬件設(shè)計(jì)工作,驅(qū)動(dòng)程序和操作系統(tǒng)移植工作和應(yīng)用程序設(shè)計(jì)開(kāi)發(fā)工作。
1、系統(tǒng)設(shè)計(jì)工作
在系統(tǒng)的設(shè)計(jì)階段,系統(tǒng)分析師將根據(jù)需求確定系統(tǒng)的硬件的基本構(gòu)成,根據(jù)系統(tǒng)的需求選擇使用那種處理器,使用哪種操作系統(tǒng),使用那些軟件開(kāi)發(fā)工具。系統(tǒng)分析師往往是較為完整的參與過(guò)嵌入式系統(tǒng)設(shè)計(jì)的全過(guò)程,對(duì)于系統(tǒng)應(yīng)用的行業(yè)較為了解,對(duì)于嵌入式系統(tǒng)本身的開(kāi)發(fā)流程十分清楚的人。
2、硬件設(shè)計(jì)工作
系統(tǒng)硬件設(shè)計(jì)人員需要根據(jù)系統(tǒng)分析師的設(shè)計(jì)結(jié)果,進(jìn)行硬件原理圖的設(shè)計(jì)。通常需要硬件設(shè)計(jì)人員熟悉嵌入式系統(tǒng)的硬件構(gòu)成。硬件設(shè)計(jì)人員需要了解常用的嵌入式系統(tǒng)處理器,存儲(chǔ)器(Flash,SDRAM),以太網(wǎng)MAC芯片,音頻/視頻編解碼芯片,電源管理芯片,總線接口電路 (USB,PCI),液晶顯示模塊,可編程邏輯器件(FPGA/CPLD),無(wú)線網(wǎng)絡(luò)通信模塊(Bluetooth,WLAN,GPRS)等硬件電路構(gòu)成元素的基本工作原理,連接使用方法,使用注意事項(xiàng),基本調(diào)試方法等內(nèi)容。在網(wǎng)絡(luò)上能找到很多公司的評(píng)估板的原理圖,對(duì)于這些原理圖要仔細(xì)研究,摸清處理器同存儲(chǔ)器,網(wǎng)卡,液晶模塊等器件的連接方法和原因。通過(guò)對(duì)這些電路的研究,能夠較快地了解整個(gè)嵌入式系統(tǒng)的構(gòu)成,這些電路同實(shí)際產(chǎn)品中的電路雖有一定差別的,特別是對(duì)于手持設(shè)備,但這些差別不影響初學(xué)者學(xué)習(xí)嵌入式系統(tǒng)的硬件設(shè)計(jì)基本構(gòu)成。
1)學(xué)習(xí) Linux系統(tǒng)安裝、 常用命令、應(yīng)用程序安裝。
2) 學(xué)習(xí) Linux 下的 C 編程、這本書(shū)必學(xué)《UNIX 環(huán)境高級(jí)編程》、《UNIX 網(wǎng)絡(luò)編程》,Rechard Stevens 寫(xiě)的,C 高手大都學(xué)習(xí)過(guò) 《C 和指針》、《C 缺陷與陷阱》、《高質(zhì)量C/C++編程指南》、《C 專家編程》、《The C programming Language》
3)程序員大都要學(xué):數(shù)據(jù)結(jié)構(gòu),嵌入式程序員數(shù)據(jù)結(jié)構(gòu)必學(xué)!
4)底層開(kāi)發(fā)人員大都要學(xué):微機(jī)原理、計(jì)算機(jī)體系結(jié)構(gòu),嵌入式開(kāi)發(fā)人員必學(xué)!
5)單片機(jī)可以讓一個(gè)從事軟件開(kāi)發(fā)的人了解和如何操作硬件,有必要學(xué),因?yàn)橐婚_(kāi)始就從 ARM 入手,不太現(xiàn)實(shí)!
6)ARM 體系結(jié)構(gòu),其中有匯編。
7)數(shù)字電路有必要學(xué)習(xí),不然你在做底層開(kāi)發(fā)時(shí)真的會(huì)不知道怎么看原理圖,起碼也得懂與或門(mén)吧。
8)ARM + Linux 應(yīng)用程序開(kāi)發(fā)。(前提是要有開(kāi)發(fā)板)
9)要做底層開(kāi)發(fā),就必須知道軟硬件之間是如何銜接和配合工作的,那么電子技術(shù)應(yīng)該要好好學(xué)習(xí)了,很多時(shí)候會(huì)用到模擬電路知識(shí),這是區(qū)別好手與菜鳥(niǎo)的不同之處之一。
10)Linux 下的匯編要學(xué),這樣你才能真正了解你寫(xiě)的程序是如何在一個(gè)特定的硬件上跑的。這是區(qū)別好手與菜鳥(niǎo)的不同之處之二。
11)TCP/IP 協(xié)議棧要學(xué),所有的嵌入式高手都得掌握的東西,這是區(qū)別好手與菜鳥(niǎo)的不同之處之三。
12)有了這些東西,拿下 Linux 驅(qū)動(dòng) 已經(jīng)不再話下,需要你去學(xué)習(xí) Linux 內(nèi)核源代碼和Linux驅(qū)動(dòng)程序設(shè)計(jì),這是一個(gè)技術(shù)升華。
13)音頻、視頻的解碼譯碼技術(shù)你得學(xué)。
14)各種 IC ,各種 bootloader 你能夠參與其開(kāi)發(fā)設(shè)計(jì)。
15)自行設(shè)計(jì)開(kāi)發(fā)新產(chǎn)品,新技術(shù)。
學(xué)到這個(gè)地步差不多要花個(gè)3年的時(shí)間吧。但是后面的路該怎么走呢?嵌入式系統(tǒng)性的東西搞了一個(gè)產(chǎn)品之后,基本上一些套路都摸清楚了。
不同的行業(yè),對(duì)于系統(tǒng)的要求是不一樣的,比如汽車行業(yè),航空航天行業(yè)等一些高精度,高安全的需要對(duì)實(shí)時(shí)性要求非常之高,對(duì)于安全性和可靠性的要求非常嚴(yán)格。而有些行業(yè)比如消費(fèi)類產(chǎn)品,娛樂(lè)類的,生活用具方面的對(duì)于用戶體驗(yàn)是不一樣的,數(shù)碼產(chǎn)品對(duì)于一些圖像聲音的處理,要求更高,需要高清,高品質(zhì)的。而對(duì)于一些通信設(shè)備類對(duì)于網(wǎng)絡(luò)的應(yīng)答數(shù)據(jù)傳輸要求就非常嚴(yán)格,等等。這些根據(jù)不同的要求,選擇符合自己的操作系統(tǒng),能對(duì)開(kāi)發(fā)工作有更大的幫助。
計(jì)算機(jī)四級(jí)嵌入式系統(tǒng)開(kāi)發(fā)工程師考試復(fù)習(xí)知識(shí)點(diǎn)
1、實(shí)時(shí)系統(tǒng)的調(diào)度
。1)調(diào)度:給定一組實(shí)時(shí)任務(wù)和系統(tǒng)資源,確定每個(gè)任務(wù)何時(shí)何地執(zhí)行的整個(gè)過(guò)程。
(2)搶占式調(diào)度:通常是優(yōu)先級(jí)驅(qū)動(dòng)的調(diào)度,如uCOS。優(yōu)點(diǎn)是實(shí)時(shí)性好、反應(yīng)快,調(diào)度算法相對(duì)簡(jiǎn)單,可以保證高優(yōu)先級(jí)任務(wù)的時(shí)間約束;缺點(diǎn)是上下文切換多。
。3)非搶占式調(diào)度:通常是按時(shí)間片分配的調(diào)度,不允許任務(wù)在執(zhí)行期間被中斷,任務(wù)一旦占用處理器就必須執(zhí)行完畢或自愿放棄,如WinCE。優(yōu)點(diǎn)是上下文切換少;缺點(diǎn)是處理器有效資源利用率低,可調(diào)度性不好。
。4)靜態(tài)表驅(qū)動(dòng)策略:系統(tǒng)在運(yùn)行前根據(jù)各任務(wù)的時(shí)間約束及關(guān)聯(lián)關(guān)系,采用某種搜索策略生成一張運(yùn)行時(shí)刻表,指明各任務(wù)的起始運(yùn)行時(shí)刻及運(yùn)行時(shí)間。
。5)優(yōu)先級(jí)驅(qū)動(dòng)策略:按照任務(wù)優(yōu)先級(jí)的高低確定任務(wù)的執(zhí)行順序。
。6)實(shí)時(shí)任務(wù)分類:周期任務(wù)、偶發(fā)任務(wù)、非周期任務(wù)。
。7)實(shí)時(shí)系統(tǒng)的通用結(jié)構(gòu)模型:數(shù)據(jù)采集任務(wù)實(shí)現(xiàn)傳感器數(shù)據(jù)的采集,數(shù)據(jù)處理任務(wù)處理采集的數(shù)據(jù)、并將加工后的數(shù)據(jù)送到執(zhí)行機(jī)構(gòu)管理任務(wù)控制機(jī)構(gòu)執(zhí)行。
2、嵌入式微處理器體系結(jié)構(gòu)
(1)馮諾依曼結(jié)構(gòu):程序和數(shù)據(jù)共用一個(gè)存儲(chǔ)空間,程序指令存儲(chǔ)地址和數(shù)據(jù)存儲(chǔ)地址指向同一個(gè)存儲(chǔ)器的不同物理位置,采用單一的地址及數(shù)據(jù)總線,程序和數(shù)據(jù)的寬度相同。例如:8086、ARM7、MIPS…
。2)哈佛結(jié)構(gòu):程序和數(shù)據(jù)是兩個(gè)相互獨(dú)立的存儲(chǔ)器,每個(gè)存儲(chǔ)器獨(dú)立編址、獨(dú)立訪問(wèn),是一種將程序存儲(chǔ)和數(shù)據(jù)存儲(chǔ)分開(kāi)的存儲(chǔ)器結(jié)構(gòu)。例如:AVR、ARM9、ARM10…
。3)CISC與RISC的特點(diǎn)比較(參照教程22頁(yè))。計(jì)算機(jī)執(zhí)行程序所需要的時(shí)間P可以用下面公式計(jì)算:P=I×CPI×T
I:高級(jí)語(yǔ)言程序編譯后在機(jī)器上運(yùn)行的指令數(shù)。
CPI:為執(zhí)行每條指令所需要的平均周期數(shù)。
T:每個(gè)機(jī)器周期的時(shí)間。
。4)流水線的思想:在CPU中把一條指令的串行執(zhí)行過(guò)程變?yōu)槿舾芍噶畹淖舆^(guò)程在CPU中重疊執(zhí)行。
。5)流水線的指標(biāo):
吞吐率:?jiǎn)挝粫r(shí)間里流水線處理機(jī)流出的結(jié)果數(shù)。如果流水線的子過(guò)程所用時(shí)間不一樣長(zhǎng),則吞吐率應(yīng)為最長(zhǎng)子過(guò)程的倒數(shù)。
建立時(shí)間:流水線開(kāi)始工作到達(dá)最大吞吐率的時(shí)間。若m個(gè)子過(guò)程所用時(shí)間一樣,均為t,則建立時(shí)間T=mt。
。6)信息存儲(chǔ)的字節(jié)順序A、存儲(chǔ)器單位:字節(jié)(8位)
B、字長(zhǎng)決定了微處理器的尋址能力,即虛擬地址空間的大小。
C、32位微處理器的虛擬地址空間位232,即4GB。
D、小端字節(jié)順序:低字節(jié)在內(nèi)存低地址處,高字節(jié)在內(nèi)存高地址處。
E、大端字節(jié)順序:高字節(jié)在內(nèi)存低地址處,低字節(jié)在內(nèi)存高地址處。F、網(wǎng)絡(luò)設(shè)備的存儲(chǔ)順序問(wèn)題取決于OSI模型底層中的數(shù)據(jù)鏈路層。
3、邏輯電路基礎(chǔ)
(1)根據(jù)電路是否具有存儲(chǔ)功能,將邏輯電路劃分為:組合邏輯電路和時(shí)序邏輯電路。
。2)組合邏輯電路:電路在任一時(shí)刻的輸出,僅取決于該時(shí)刻的輸入信號(hào),而與輸入信號(hào)作用前電路的狀態(tài)無(wú)關(guān)。常用的邏輯電路有譯碼器和多路選擇器等。
。3)時(shí)序邏輯電路:電路任一時(shí)刻的輸出不僅與該時(shí)刻的輸入有關(guān),而且還與該時(shí)刻電路的狀態(tài)有關(guān)。因此,時(shí)序電路中必須包含記憶元件。觸發(fā)器是構(gòu)成時(shí)序邏輯電路的基礎(chǔ)。常用的時(shí)序邏輯電路有寄存器和計(jì)數(shù)器等。
。4)真值表、布爾代數(shù)、摩根定律、門(mén)電路的概念。
。5)NOR(或非)和NAND(與非)的門(mén)電路稱為全能門(mén)電路,可以實(shí)現(xiàn)任何一種邏輯函數(shù)。
(6)譯碼器:多輸入多輸出的組合邏輯網(wǎng)絡(luò)。
每輸入一個(gè)n位的二進(jìn)制代碼,在m個(gè)輸出端中最多有一個(gè)有效。當(dāng)m=2n是,為全譯碼;當(dāng)m<2n時(shí),為部分譯碼。
。7)由于集成電路的高電平輸出電流小,而低電平輸出電流相對(duì)比較大,采用集成門(mén)電路直接驅(qū)動(dòng)LED時(shí),較多采用低電平驅(qū)動(dòng)方式。液晶七段字符顯示器LCD利用液晶有外加電場(chǎng)和無(wú)外加電場(chǎng)時(shí)不同的光學(xué)特性來(lái)顯示字符。
。8)時(shí)鐘信號(hào)是時(shí)序邏輯的基礎(chǔ),它用于決定邏輯單元中的狀態(tài)合適更新。同步是時(shí)鐘控制系統(tǒng)中的主要制約條件。
。9)在選用觸發(fā)器的時(shí)候,觸發(fā)方式是必須考慮的因素。觸發(fā)方式有兩種:電平觸發(fā)方式:具有結(jié)構(gòu)簡(jiǎn)單的有點(diǎn),常用來(lái)組成暫存器。
邊沿觸發(fā)方式:具有很強(qiáng)的抗數(shù)據(jù)端干擾能力,常用來(lái)組成寄存器、計(jì)數(shù)器等。
計(jì)算機(jī)四級(jí)嵌入式系統(tǒng)開(kāi)發(fā)工程師考試的復(fù)習(xí)要點(diǎn)
1、嵌入式系統(tǒng)的定義
。1)定義:以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。
。2)嵌入式系統(tǒng)發(fā)展的4個(gè)階段:無(wú)操作系統(tǒng)階段、簡(jiǎn)單操作系統(tǒng)階段、實(shí)時(shí)操作系統(tǒng)階段、面向Internet階段。
(3)知識(shí)產(chǎn)權(quán)核(IP核):具有知識(shí)產(chǎn)權(quán)的、功能具體、接口規(guī)范、可在多個(gè)集成電路設(shè)計(jì)中重復(fù)使用的功能模塊,是實(shí)現(xiàn)系統(tǒng)芯片(SOC)的基本構(gòu)件。
。4)IP核模塊有行為、結(jié)構(gòu)和物理3級(jí)不同程度的設(shè)計(jì),對(duì)應(yīng)描述功能行為的不同可以分為三類:軟核、固核、硬核。
2、嵌入式系統(tǒng)的組成:硬件層、中間層、系統(tǒng)軟件層和應(yīng)用軟件層
。1)硬件層:嵌入式微處理器、存儲(chǔ)器、通用設(shè)備接口和I/O接口。
嵌入式核心模塊=微處理器+電源電路+時(shí)鐘電路+存儲(chǔ)器Cache:位于主存和嵌入式微處理器內(nèi)核之間,存放的是最近一段時(shí)間
微處理器使用最多的程序代碼和數(shù)據(jù)。它的主要目標(biāo)是減小存儲(chǔ)器給微處理器內(nèi)核造成的存儲(chǔ)器訪問(wèn)瓶頸,使處理速度更快。
。2)中間層(也稱為硬件抽象層HAL或者板級(jí)支持包BSP):它將系統(tǒng)上層軟件和底層硬件分離開(kāi)來(lái),使系統(tǒng)上層軟件開(kāi)發(fā)人員無(wú)需關(guān)系底層硬件的具體情況,根據(jù)BSP層提供的接口開(kāi)發(fā)即可。
BSP有兩個(gè)特點(diǎn):硬件相關(guān)性和操作系統(tǒng)相關(guān)性。設(shè)計(jì)一個(gè)完整的BSP需要完成兩部分工作:
A、嵌入式系統(tǒng)的硬件初始化和BSP功能。
片級(jí)初始化:純硬件的初始化過(guò)程,把嵌入式微處理器從上電的默認(rèn)狀態(tài)逐步設(shè)置成系統(tǒng)所要求的工作狀態(tài)。
板級(jí)初始化:包含軟硬件兩部分在內(nèi)的初始化過(guò)程,為隨后的系統(tǒng)初始化和應(yīng)用程序建立硬件和軟件的運(yùn)行環(huán)境。
系統(tǒng)級(jí)初始化:以軟件為主的初始化過(guò)程,進(jìn)行操作系統(tǒng)的初始化。
B、設(shè)計(jì)硬件相關(guān)的設(shè)備驅(qū)動(dòng)。
(3)系統(tǒng)軟件層:由RTOS、文件系統(tǒng)、GUI、網(wǎng)絡(luò)系統(tǒng)及通用組件模塊組成。
RTOS是嵌入式應(yīng)用軟件的基礎(chǔ)和開(kāi)發(fā)平臺(tái)。
。4)應(yīng)用軟件:由基于實(shí)時(shí)系統(tǒng)開(kāi)發(fā)的應(yīng)用程序組成。
3、實(shí)時(shí)系統(tǒng)
(1)定義:能在指定或確定的時(shí)間內(nèi)完成系統(tǒng)功能和對(duì)外部或內(nèi)部、同步或異步時(shí)間做出響應(yīng)的系統(tǒng)。
(2)區(qū)別:通用系統(tǒng)一般追求的是系統(tǒng)的平均響應(yīng)時(shí)間和用戶的使用方便;而實(shí)時(shí)系統(tǒng)主要考慮的是在最壞情況下的系統(tǒng)行為。
。3)特點(diǎn):時(shí)間約束性、可預(yù)測(cè)性、可靠性、與外部環(huán)境的交互性。
。4)硬實(shí)時(shí)(強(qiáng)實(shí)時(shí)):指應(yīng)用的時(shí)間需求應(yīng)能夠得到完全滿足,否則就造成重大安全事故,甚至造成重大的生命財(cái)產(chǎn)損失和生態(tài)破壞,如:航天、軍事。
。5)軟實(shí)時(shí)(弱實(shí)時(shí)):指某些應(yīng)用雖然提出了時(shí)間的要求,但實(shí)時(shí)任務(wù)偶爾違反這種需求對(duì)系統(tǒng)運(yùn)行及環(huán)境不會(huì)造成嚴(yán)重影響,如:監(jiān)控系統(tǒng)、實(shí)時(shí)信息采集系統(tǒng)。
(6)任務(wù)的約束包括:時(shí)間約束、資源約束、執(zhí)行順序約束和性能約束。
【嵌入式系統(tǒng)開(kāi)發(fā)流程】相關(guān)文章:
嵌入式系統(tǒng)開(kāi)發(fā)特點(diǎn)08-09
嵌入式系統(tǒng)開(kāi)發(fā)簡(jiǎn)介07-22
嵌入式系統(tǒng)開(kāi)發(fā)核心技術(shù)06-25
嵌入式系統(tǒng)開(kāi)發(fā)工程師考試要點(diǎn)08-24
2017嵌入式系統(tǒng)開(kāi)發(fā)工程師知識(shí)點(diǎn):嵌入式系統(tǒng)簡(jiǎn)介09-27
2017年嵌入式系統(tǒng)開(kāi)發(fā)技術(shù)考試預(yù)測(cè)題及答案06-15
2016嵌入式系統(tǒng)開(kāi)發(fā)技術(shù)知識(shí)點(diǎn):ARM10-10