嵌入式系统设计(一)
嵌入式系統(tǒng)設(shè)計(jì)
【課程來源:電子科技大學(xué) 陳虹老師 研究生課程 《嵌入式系統(tǒng)設(shè)計(jì)》】 【說明:個(gè)人課程筆記,僅供參考】課程體系:
- 理論與實(shí)踐相結(jié)合
- 以嵌入式硬件的核心嵌入式微處理器及嵌入式軟件的核心嵌入式實(shí)時(shí)操作系統(tǒng)為重點(diǎn),以應(yīng)用為目的,全面介紹嵌入式系統(tǒng)
- 使大家既能對嵌入式系統(tǒng)及開發(fā)有一個(gè)全景的把握,又能深入理解嵌入式微處理器及嵌入式實(shí)時(shí)操作系統(tǒng)
- 配套嵌入式微處理器ARM及多平臺(tái)嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II實(shí)驗(yàn),提供豐富的實(shí)驗(yàn)和手冊
課程主要內(nèi)容:
-
嵌入式系統(tǒng)導(dǎo)論,約3學(xué)時(shí)
什么是嵌入式系統(tǒng)?嵌入式系統(tǒng)分類、發(fā)展歷程、特點(diǎn)、應(yīng)用領(lǐng)域、發(fā)展趨勢 -
嵌入式硬件系統(tǒng)基礎(chǔ),約7學(xué)時(shí)
基本組成,嵌入式微處理器:ARM、MIPS、X86、PPC、SH等,總線、存儲(chǔ)系統(tǒng)、輸入/輸出與典型接口,典型的嵌入式系統(tǒng) -
嵌入式微處理器ARM及應(yīng)用,約8學(xué)時(shí)
ARM體系結(jié)構(gòu)、編程模型、指令集介紹、 異常處理 -
嵌入式軟件系統(tǒng)基礎(chǔ),約3學(xué)時(shí)
分類、特點(diǎn)、體系結(jié)構(gòu)、運(yùn)行流程、操作系統(tǒng)、開發(fā)工具 -
嵌入式實(shí)時(shí)內(nèi)核,約15學(xué)時(shí)
任務(wù)管理與調(diào)度(任務(wù)、任務(wù)管理、調(diào)度算法), 約6學(xué)時(shí)
同步、互斥與通信(信號量、信箱、隊(duì)列、事件、異步信號) , 約4學(xué)時(shí)
中斷和時(shí)間管理(中斷分類、處理過程、中斷管理機(jī)制、硬件時(shí)鐘設(shè)備、與OS的管理關(guān)系、時(shí)間管理機(jī)制) , 約4學(xué)時(shí)
內(nèi)存管理和I/O管理(特點(diǎn)和管理機(jī)制) , 約3學(xué)時(shí) -
嵌入式系統(tǒng)軟件的開發(fā), 約4學(xué)時(shí)
嵌入式系統(tǒng)開發(fā)模式
軟件分析設(shè)計(jì)方法
教材:
- 《嵌入式系統(tǒng)及應(yīng)用》(羅蕾、李允、陳麗蓉主編,電子工業(yè)出版社.)
參考資料:
- ARM Limited. ARM Architecture Reference Manual.
- Jean J.Labrosse. 嵌入式實(shí)時(shí)操作系統(tǒng)uC/OS-II(第2版). 北京航空航天大學(xué)出版社.及uC/OS-II ebook
國家精品課程網(wǎng)站,點(diǎn)擊進(jìn)入:
導(dǎo)論
初步了解嵌入式系統(tǒng)
嵌入式定義很多,我們可以看到業(yè)界對它的各種定義,下面給出IEEE的定義:
IEEE給出定義:嵌入式系統(tǒng)是以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。通俗來講,它是包含有計(jì)算機(jī),但又不是通用計(jì)算機(jī)的計(jì)算機(jī)應(yīng)用系統(tǒng),也可理解為面向最終用戶的專業(yè)設(shè)備
核心:應(yīng)用(以應(yīng)用為中心來構(gòu)成)、多學(xué)科交叉
例如汽車、飛機(jī)上的系統(tǒng),是為汽車、飛機(jī)的功能、安全的運(yùn)行提供各種服務(wù)
解釋:
1.嵌入式系統(tǒng)是將先進(jìn)的計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)與各個(gè)行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物,因此一般人看到嵌入式系統(tǒng),不會(huì)認(rèn)為它是計(jì)算機(jī),因此常常不叫嵌入式計(jì)算機(jī)系統(tǒng)。例如手機(jī)是嵌入式系統(tǒng) ,它不具有鼠標(biāo)、鍵盤、主機(jī)等這樣的標(biāo)準(zhǔn)配置
2.嵌入式系統(tǒng)一般不能被用戶編程, 它有一些專用的I/O設(shè)備, 對用戶的接口是應(yīng)用專用的,因此嵌入式系統(tǒng)也不會(huì)作為通用的開發(fā)平臺(tái)
應(yīng)用:非常廣,汽車上擁有幾十個(gè)微處理器,高端的超過100個(gè),工業(yè)控制領(lǐng)域、航空航天領(lǐng)域、醫(yī)療領(lǐng)域、軍事領(lǐng)域、大量采用嵌入式系統(tǒng),越發(fā)達(dá)的國家嵌入式系統(tǒng)的使用比例越大
嵌入式設(shè)備無處不在:
無處不在的計(jì)算機(jī)(包括通用計(jì)算機(jī)和嵌入式計(jì)算機(jī)系統(tǒng))是計(jì)算機(jī)與使用者的比率達(dá)到和超過100:1的階段,在100:1比例中95%以上都是嵌入式計(jì)算機(jī)系統(tǒng),并非通用計(jì)算機(jī)
但桌面系統(tǒng)還依然有用
附:通用計(jì)算機(jī)與嵌入式系統(tǒng)對比
嵌入式系統(tǒng)的組成:
1.嵌入式硬件:包含微處理器的SoC為核心集成存儲(chǔ)器和系統(tǒng)專用的輸入/輸出設(shè)備
2.嵌入式軟件:初始化代碼及驅(qū)動(dòng)、嵌入式操作系統(tǒng)和應(yīng)用程序等,這些軟件有機(jī)地結(jié)合在一起,形成系統(tǒng)特定的一體化軟件
如下為示意圖:
最后需要嵌入式系統(tǒng)設(shè)計(jì)人員進(jìn)行軟硬件一體化設(shè)計(jì)、系統(tǒng)集成和驗(yàn)證,如智能花盆、可支付的穿戴設(shè)備
嵌入式系統(tǒng)的發(fā)展歷程:
嵌入式系統(tǒng)的出現(xiàn)和興起(1960-1970)
出現(xiàn):20世紀(jì)60年代以晶體管、磁芯存儲(chǔ)為基礎(chǔ)的計(jì)算機(jī)開始用于航空等軍用領(lǐng)域
興起:在1965~1970年,當(dāng)時(shí)計(jì)算機(jī)已開始采用集成電路,即第三代計(jì)算機(jī)。在軍事、航空航天領(lǐng)域、工業(yè)控制的需求推動(dòng)下
嵌入式系統(tǒng)開始走向繁榮,軟件和硬件日臻完善:(1971-1989)
1.嵌入式系統(tǒng)大發(fā)展是在微處理器問世之后
2.單片機(jī)、DSP出現(xiàn):
- 隨著微電子工藝水平的提高, 集成電路設(shè)計(jì)制造商開始把嵌入式應(yīng)用所需要的微處理器、I/O接口、A/D、D/A轉(zhuǎn)換、串行接口以及RAM、ROM通通集成到一個(gè)VLSI中, 制造出面向I/O設(shè)計(jì)的微控制器,就是我們俗稱的單片機(jī)。
- 專門用于高速實(shí)時(shí)信號處理的數(shù)字信號處理器DSP
3.軟件技術(shù)的進(jìn)步使嵌入式系統(tǒng)日臻完善
- 在微處理器出現(xiàn)的初期,為了保障嵌入式軟件的時(shí)間、空間效率,軟件只能用匯編語言編寫
- 由于微電子技術(shù)的進(jìn)步,對軟件的時(shí)空效率的要求不再那么苛刻了,嵌入式計(jì)算機(jī)的軟件開始使用PL/M、C等高級語言。
- 對于復(fù)雜的嵌入式系統(tǒng)來說除了需要高級語言開發(fā)工具外,還需要嵌入式實(shí)時(shí)操作系統(tǒng)的支持
- 80年代初開始出現(xiàn)了一批軟件公司,推出商品化的嵌入式實(shí)時(shí)操作系統(tǒng)和各種開發(fā)工具
- 商用嵌入式實(shí)時(shí)操作系統(tǒng)和開發(fā)工具的出現(xiàn)和推廣應(yīng)用,使嵌入式系統(tǒng)的開發(fā)從作坊式向分工協(xié)作規(guī)模化的方向發(fā)展,促使嵌入式應(yīng)用擴(kuò)展到更廣闊的領(lǐng)域
附:微處理器的演變
注:ARM:全球用量最大的微處理器,超過了Intel
嵌入式系統(tǒng)應(yīng)用走向縱深(1990年-現(xiàn)在)
進(jìn)入20世紀(jì)90年代, 在分布控制、柔性制造、數(shù)字化通信和數(shù)字化家電等巨大需求的牽引下,嵌入式系統(tǒng)的硬件、軟件技術(shù)進(jìn)一步加速發(fā)展、應(yīng)用領(lǐng)域進(jìn)一步擴(kuò)大
目前,嵌入式系統(tǒng)已大量采用嵌入式操作系統(tǒng):
- 嵌入式操作系統(tǒng)功能不斷的擴(kuò)大和豐富,由80年代只有內(nèi)核、發(fā)展為包括內(nèi)核、網(wǎng)絡(luò)、文件、圖形接口、嵌入式JAVA、嵌入式CORBA及分布式處理等豐富功能的集合
- 嵌入式開發(fā)工具更加豐富,其集成度和易用性不斷提高,目前不同廠商已開發(fā)出不同類型的嵌入式開發(fā)工具,可以覆蓋嵌入式軟件開發(fā)過程各個(gè)階段,提高嵌入式軟件開發(fā)效率
嵌入式系統(tǒng)的特點(diǎn)
1. 形式多樣、面向特定應(yīng)用
一般用于特定的任務(wù),其硬件和軟件都必須高效率地設(shè)計(jì),量體裁衣、去除冗余,而通用計(jì)算機(jī)則是一個(gè)通用的計(jì)算平臺(tái),嵌入式系統(tǒng)通常具有低功耗、體積小、集成度高等特點(diǎn),能夠把通用微處理器中許多由板卡完成的任務(wù)集成在芯片內(nèi)部
2. 需要多種類型的處理器和處理器體系結(jié)構(gòu)的支持
在嵌入式微處理器產(chǎn)業(yè)鏈上,IP設(shè)計(jì)、面向應(yīng)用的特定嵌入式微處理器的設(shè)計(jì)、芯片的制造已形成巨大的產(chǎn)業(yè)。大家分工協(xié)作,形成多贏模式。有上千種的嵌入式微處理器和幾十種嵌入式微處理器體系結(jié)構(gòu)可以選擇
3. 通常極其關(guān)注成本,特別是量大的消費(fèi)類數(shù)字化產(chǎn)品,其成本是產(chǎn)品競爭的關(guān)鍵因素之一
嵌入式的系統(tǒng)成本包括:
一次性的開發(fā)成本NRE(Non-Recurring Engineering)成本
產(chǎn)品成本:硬件BOM、外殼包裝和軟件版稅等
批量產(chǎn)品的總體成本=NRE成本+每個(gè)產(chǎn)品成本*產(chǎn)品總量
每個(gè)產(chǎn)品的最后成本=總體成本/產(chǎn)品總量=NRE成本/產(chǎn)品總量+每個(gè)產(chǎn)品成本
4. 有實(shí)時(shí)性和可靠性的要求
實(shí)時(shí)性要求:一方面大多數(shù)實(shí)時(shí)系統(tǒng)都是嵌入式系統(tǒng),另一方面嵌入式系統(tǒng)多數(shù)有實(shí)時(shí)性的要求,軟件一般是固化運(yùn)行或直接加載到內(nèi)存中運(yùn)行,具有快速啟動(dòng)的功能,對實(shí)時(shí)的強(qiáng)度要求各不一樣,可分為硬實(shí)時(shí)和軟實(shí)時(shí)
可靠性要求:嵌入式系統(tǒng)一般要求具有出錯(cuò)處理和自動(dòng)復(fù)位功能,特別是對于一些在極端環(huán)境下運(yùn)行的嵌入式系統(tǒng)而言,其可靠性設(shè)計(jì)尤其重要。 在大多數(shù)嵌入式系統(tǒng)的軟件中一般都包括一些機(jī)制,比如硬件的看門狗定時(shí)器,軟件的內(nèi)存保護(hù)和重啟動(dòng)機(jī)制
5. 使用適應(yīng)多種處理器、可剪裁、輕量型、實(shí)時(shí)可靠、可固化的嵌入式操作系統(tǒng)
嵌入式操作系統(tǒng)規(guī)模小,所需的資源有限如內(nèi)核規(guī)模在幾十KB,能與應(yīng)用軟件一樣固化運(yùn)行,它一般包括一個(gè)實(shí)時(shí)內(nèi)核,其調(diào)度算法一般采用基于優(yōu)先級的可搶占的調(diào)度算法。高可靠嵌入式操作系統(tǒng):時(shí)、空、數(shù)據(jù)隔離
6. 開發(fā)需要專門工具和特殊方法
多數(shù)嵌入式系統(tǒng)開發(fā)意味著軟件與硬件的并行設(shè)計(jì)和開發(fā),嵌入式應(yīng)用軟件的開發(fā)需要強(qiáng)大的開發(fā)工具和操作系統(tǒng)的支持,考慮嵌入式系統(tǒng)的需求:可適應(yīng)不同的嵌入式硬件平臺(tái),且具有可移植、可伸縮、功能強(qiáng)大、可配置、良好的實(shí)時(shí)性、可靠性、高可用方向發(fā)展。使用先進(jìn)的OS技術(shù)
其開發(fā)過程一般分為幾個(gè)階段:產(chǎn)品定義、軟件與硬件設(shè)計(jì)與實(shí)現(xiàn)、軟件與硬件集成、產(chǎn)品測試與發(fā)布和維護(hù)與升級
下面是嵌入式開發(fā)基本過程圖:
嵌入式開發(fā)工具包括設(shè)計(jì)、編譯、調(diào)試、測試等工具,目前的需求:
支持多種硬件平臺(tái),覆蓋嵌入式軟件開發(fā)過程各個(gè)階段,高效,高度集成的工具集方向發(fā)展
采用交叉開發(fā)的方式進(jìn)行,交叉開發(fā)環(huán)境如圖所示:
嵌入式系統(tǒng)的分類:
我們接著上圖重點(diǎn)講述多任務(wù)系統(tǒng):
出現(xiàn)需求:
1.采用中斷處理程序加一個(gè)后臺(tái)主程序這種軟件結(jié)構(gòu)難以實(shí)時(shí)的、準(zhǔn)確的、可靠的完成
2.存在一些互不相關(guān)的過程需要在一個(gè)計(jì)算機(jī)中同時(shí)處理
單處理器多任務(wù)系統(tǒng)結(jié)構(gòu):由多個(gè)任務(wù),多個(gè)中斷處理過程,實(shí)時(shí)操作系統(tǒng)組成的有機(jī)的整體
流程如下:
總結(jié):
1.宏觀并行,微觀串行。RTOS對共享的設(shè)備和數(shù)據(jù)進(jìn)行管理(也增加系統(tǒng)的開銷),保證系統(tǒng)的實(shí)時(shí)性
2.每個(gè)程序都被編制成無限循環(huán)的程序,等待特定的輸入,執(zhí)行相應(yīng)的任務(wù)等,降低了系統(tǒng)復(fù)雜性
3.這種程序模型將系統(tǒng)分成相對簡單的,相互合作的模塊,因此模塊化好,系統(tǒng)維護(hù)性高
改進(jìn):
導(dǎo)致線程間的競爭,需要在OS的支持下,進(jìn)行線程間的協(xié)調(diào),如同步和通信功能,并對每個(gè)共享資源做互斥處理
多處理器多任務(wù)系統(tǒng)結(jié)構(gòu):可運(yùn)行在多個(gè)處理器上,由操作系統(tǒng)統(tǒng)一調(diào)度和處理
宏觀上和微觀上看都是并發(fā)的,多處理機(jī)系統(tǒng)分為緊耦合系統(tǒng)(tightly-coupled system)和松耦合系統(tǒng)(loosely-coupled system)兩種
以下內(nèi)容了解即可:
嵌入式系統(tǒng)的應(yīng)用領(lǐng)域:
嵌入式系統(tǒng)廣泛地應(yīng)用于消費(fèi)電子、通信、汽車、國防、航空航天、工業(yè)控制、儀表、辦公自動(dòng)化等領(lǐng)域
嵌入式系統(tǒng)的發(fā)展趨勢:
以信息家電、移動(dòng)終端、汽車電子、網(wǎng)絡(luò)設(shè)備等為代表的互聯(lián)網(wǎng)時(shí)代的嵌入式系統(tǒng),不僅為嵌入式市場展現(xiàn)了美好前景,注入了新的生命,同時(shí)也對嵌入式系統(tǒng)技術(shù),提出新的挑戰(zhàn):
支持日趨增長的功能密度
靈活的網(wǎng)絡(luò)聯(lián)接
輕便的移動(dòng)應(yīng)用
多媒體的信息處理、低功耗、人機(jī)界面友好互動(dòng)
支持二次開發(fā)和動(dòng)態(tài)升級等
隨著航空、汽車電子、工業(yè)、醫(yī)療等實(shí)時(shí)、安全關(guān)鍵領(lǐng)域(Safety-Critical System)應(yīng)用復(fù)雜度和可靠性的提高,也對嵌入式系統(tǒng)技術(shù),提出新的挑戰(zhàn):
高可靠的嵌入式實(shí)時(shí)操作系統(tǒng)
基于模型,正確構(gòu)造的高可靠嵌入式開發(fā)工具
高可靠的認(rèn)證體系
高可信要求:Reliability,Maintainability,Availability,Safety,Security
形成行業(yè)的標(biāo)準(zhǔn):行業(yè)性嵌入式軟硬件平臺(tái):
嵌入式系統(tǒng)是以應(yīng)用為中心的系統(tǒng),不會(huì)象PC一樣只有一種平臺(tái)
吸取PC的成功經(jīng)驗(yàn),形成不同行業(yè)的標(biāo)準(zhǔn)
統(tǒng)一的行業(yè)標(biāo)準(zhǔn)具有開放、設(shè)計(jì)技術(shù)共享、軟硬件重用、構(gòu)件兼容、維護(hù)方便和合作生產(chǎn)的特點(diǎn),是增強(qiáng)行業(yè)性產(chǎn)品競爭能力的有效手段
如歐共體汽車產(chǎn)業(yè)聯(lián)盟規(guī)定以O(shè)SEK標(biāo)準(zhǔn)作為開發(fā)汽車嵌入式系統(tǒng)的公用平臺(tái)和應(yīng)用編程接口
面向應(yīng)用領(lǐng)域的、高度集成的、以32位嵌入式微處理器為核心的SOC(System On Chip)將成為應(yīng)用主流:
SoC給系統(tǒng)帶來高性能之外更多更重要的好處:穩(wěn)定性、體積、散熱、功耗 · · ·
嵌入式系統(tǒng)聯(lián)網(wǎng)成為必然趨勢,驅(qū)動(dòng)了大量新的應(yīng)用,因此:
1.針對外部聯(lián)網(wǎng)要求,嵌入系統(tǒng)必需配有通信接口,需要TCP/IP協(xié)議簇軟件支持
2.針對內(nèi)部聯(lián)網(wǎng)要求,新一代嵌入式系統(tǒng)還需具備IEEE1394、USB、CAN、Bluetooth或IrDA通信接口,同時(shí)也需要提供相應(yīng)的通信組網(wǎng)協(xié)議軟件和物理層驅(qū)動(dòng)軟件
3.為了支持網(wǎng)絡(luò)交互的應(yīng)用,還需內(nèi)置XML瀏覽器和Web Server
互聯(lián)的價(jià)值:
1.嵌入式設(shè)備的互聯(lián)性可提高對各種服務(wù)、內(nèi)容和信息的訪問能力
2.為動(dòng)態(tài)修改嵌入式軟件提供了可能,如:
- 修改系統(tǒng)代碼或“固件”
- 增添新的應(yīng)用軟件模塊
3.增強(qiáng)了系統(tǒng)和設(shè)備的可管理性
嵌入式系統(tǒng)向新的嵌入式計(jì)算模型方向發(fā)展:
1.支持自然的人機(jī)交互和互動(dòng)的、圖形化、多媒體的嵌入式人機(jī)界面。操作簡便、直觀、無須學(xué)習(xí)。如司機(jī)操縱高度自動(dòng)化的汽車主要還是通過習(xí)慣的方向盤、腳踏板和操縱桿
2.可編程的嵌入式系統(tǒng)。嵌入式系統(tǒng)可支持二次開發(fā)如采用嵌入式Java/HTML5技術(shù),可動(dòng)態(tài)加載和升級軟件,增強(qiáng)嵌入式系統(tǒng)功能
3.支持分布式計(jì)算。與其他嵌入式系統(tǒng)和通用計(jì)算機(jī)系統(tǒng)互聯(lián)構(gòu)成分布式計(jì)算環(huán)境
總結(jié)
以上是生活随笔為你收集整理的嵌入式系统设计(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: raspberry pi pico|爷青
- 下一篇: java信息管理系统总结_java实现科