999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

抑制嵌入式系統(tǒng)設(shè)計的復(fù)雜性

2019-09-10 07:22:44LucioDiJasio
關(guān)鍵詞:嵌入式單片機(jī)功能

Lucio Di Jasio

Ra spbe rry Pi系列不久前通過全新的Raspberry Pi Zero Wl(2017年2月)擴(kuò)充了產(chǎn)品線,這是一臺支持無線連接的個人計算機(jī),售價僅10美元。對于業(yè)余愛好者、制造商、工匠和黑客而言,它的意義非同尋常。此前,我們之中很少有人真正嘗試做好這個工作,即設(shè)計真正的電子產(chǎn)品!當(dāng)我最近觀看Eben Upton的視頻公告時,忍不住想起早年的經(jīng)歷。那是80年代中期,我買不起B(yǎng)BC電腦,也負(fù)擔(dān)不起奢侈的Amiga。但我花光所有的錢購買了SinclairZX Spectrum。因此,Eben努力實現(xiàn)“讓所有人都買得起”的目標(biāo)確實讓我產(chǎn)生了共鳴。

一臺功能強(qiáng)大的個人計算機(jī)塞進(jìn)一塊小巧的印刷電路板(PCB)上,確切地說是6 x 3cm的印刷電路板,達(dá)到這種小尺寸的新記錄著實讓我驚嘆。經(jīng)過進(jìn)一步思考,我經(jīng)常想弄清楚是否正是Spectrum的簡約及其諸多限制促使我深入研究計算機(jī)并最終沉醉于這一奇妙領(lǐng)域——軟件和硬件之間的邊界,我們今天稱之為嵌入式。

小型片上系統(tǒng)

Raspberry Pi Zero設(shè)計基于片上系統(tǒng)(SoC)

(BCM2835),其中包括一個1 GHzARM內(nèi)核和一個圖形處理單元(GPU)、一個視頻接口、多個串行接口(USB、UART、SPI和12C),以及一個外部存儲器接口,用于管理運(yùn)行Linux操作系統(tǒng)(OS)所需的大容量RAM(512 MB DDR2)和大容量存儲卡(sD卡)。對于單芯片器件來說,這些都是令人印象深刻的功能,特別是與我年輕時看到的早期個人計算機(jī)相比。我們可能會爭辯,與目前在各種嵌入式控制應(yīng)用中常用的最新簡單型單片機(jī)相比,這并非不成比例。雖然時鐘速度和處理能力都要低得多(從10MHz到100MHz不等),但今天所有小型單片機(jī)本身都是真正的小型片上系統(tǒng)奇跡。正如人們對單片機(jī)期望的那樣,所有RAM和閃存都位于芯片上。存在串行接口(USB、UART、SPI和12C),但也集成了所有電源調(diào)節(jié)和電壓監(jiān)控電路。片上通常有五個或更多不同的(精密)振蕩器,以便獲得更大的靈活性并控制功耗。此外,還有幾個具有大輸入/輸出多路開關(guān)的模擬外設(shè)(ADC、DAC、運(yùn)算放大器和模擬比較器……),取代了RaspberryPi幻想視頻中的功能,一直以來反映出偏愛嵌入式超過計算的設(shè)計選擇中的顯著不同。

事實上,當(dāng)Raspberry Pi用戶需要與現(xiàn)實世界連接時,對于使常用LED閃爍等最平和I/O應(yīng)用以外的應(yīng)用而言,由更小的單片機(jī)(實際上通常為8位單片機(jī))通過“帽子” (小型子板)提供必要的I/O接口和所需電壓轉(zhuǎn)換并不意外。

我不想在兩個截然不同的世界之間將這種不公平的對比一直拖下去,但我必須指出,在支持開發(fā)人員方面,兩者有一個共同關(guān)注的問題:“控制復(fù)雜性”,最終“吸引新用戶”。毋庸置疑,它們的解決方案類似,但終究有所不同。

這兩個平臺都是由提供免費(fèi)軟件工具開始,包括集成開發(fā)環(huán)境(IDE)、編譯器、鏈接器、模擬器、調(diào)試器(在專業(yè)版中提供,只需少量費(fèi)用)、或多或少的開放式中間件和(RT-)OS以及一小部分硬件(板)選項。兩個陣營(嵌入式計算和通用計算)之間的差異比我們想象的要小。兩者最終都依賴于類似的(如果不相同)工具鏈,這些工具鏈大部分都基于GNU。在中間件級別,一旦正確抽取下級(下至金屬)驅(qū)動程序?qū)?,開源選項會再次變得極其相似。操作系統(tǒng)級別的差異最大,因為許多單片機(jī)將很愿意運(yùn)行RTOS,但無法承受完整Linux內(nèi)核的負(fù)擔(dān)。這反映了真正的行業(yè)差異。實時是操作系統(tǒng)“工作說明”的一部分。

查看文檔時會發(fā)現(xiàn),兩者的復(fù)雜度在膨脹。我最喜歡的一個例子是基于流行8位PIC架構(gòu)的小巧而簡單的單片機(jī)。PICl6F1619經(jīng)常用于控制小家電,為此,它將小容量閃存(16KB)封裝在20引腳微型封裝中,具有十幾個數(shù)字外設(shè)接口和幾乎同樣多的模擬支持模塊。其數(shù)據(jù)手冊長達(dá)650頁,之后還增加了特性數(shù)據(jù)、表和圖。

此小型soc上提供的一些外設(shè)(例如信號測量定時器)需要長達(dá)50頁的篇幅才能適當(dāng)記錄。這幾乎是描述實際PIC內(nèi)核及其整個指令集所需頁數(shù)的兩倍。在Raspberry Pi方面,如果只是按比例放大(10倍),則問題類似,因為有多個數(shù)據(jù)手冊需要考慮,每個數(shù)據(jù)手冊只記錄片上系統(tǒng)硬件組件的一部分(SoC外設(shè)、GPU和內(nèi)核),內(nèi)核單獨(dú)占用超過750頁的篇幅。

嵌入式軟件架構(gòu)

很明顯,沒有人能夠閱讀或跟上如此龐大的信息量。特別是嵌入式開發(fā)人員,他們總是承擔(dān)著極大的壓力,需要在更短的時間內(nèi)完成應(yīng)用,以實現(xiàn)最快的產(chǎn)品上市速度。常見的解決方案是使用分層架構(gòu)對應(yīng)用進(jìn)行分區(qū),并使用標(biāo)準(zhǔn)化外設(shè)庫來抽取硬件詳細(xì)信息。這些層可以整齊地形成協(xié)議棧,其中“應(yīng)用”位于硬件抽象層(HAL)的頂部。實際上,可以進(jìn)一步細(xì)化此圖片來完全識別HAL,HAL上方的中間件層將負(fù)責(zé)實現(xiàn)諸如網(wǎng)絡(luò)、文件系統(tǒng)和圖形uI(如果存在/需要)一類的通用服務(wù)/功能。

注:通常通過從HAL分離驅(qū)動程序?qū)雍碗娐钒逯С謱觼磉M(jìn)一步細(xì)化協(xié)議棧,但是在以下考慮中,我們不需要詳細(xì)到這種程度。

此軟件架構(gòu)直接來源于“計算”領(lǐng)域,可以很好地對大多數(shù)通用案例進(jìn)行建模。遺憾的是,由于它適用于嵌入式應(yīng)用,因此有幾個基本缺點(diǎn):

只要重點(diǎn)放在頂層中間件層提供的標(biāo)準(zhǔn)功能上,分層架構(gòu)就可以簡化文檔篇幅過長的問題。在應(yīng)用范圍的底端,當(dāng)中間件層(如果存在)非常薄時,結(jié)果大多比較模糊。開發(fā)人員必須依賴以大型應(yīng)用編程接口(API)形式存在的HAL文檔,這份材料的篇幅同樣較長(可達(dá)數(shù)千頁),但始終未真正研究器件的任何細(xì)節(jié)。出現(xiàn)問題時,他/她將身陷窘境或被迫深入研究陌生領(lǐng)域和大量代碼。

HAL層為支持標(biāo)準(zhǔn)中間件服務(wù)提供了巨大幫助,但由于其性質(zhì)極其嚴(yán)格,因此最終會清除特定器件的任何獨(dú)特差異化功能。否則,這些獨(dú)特功能可以為特定應(yīng)用提供技術(shù)優(yōu)勢,并且可能成為選擇特定器件型號的原因。

在應(yīng)用范圍的頂端,中間件層非常厚,例如Raspberry Pi,僅Linux OS內(nèi)核就添加了數(shù)百萬行代碼來應(yīng)對問題。雖然可以說這是開源代碼,但對于希望自己永遠(yuǎn)不必深入了解到如此程度的普通開發(fā)人員而言,它幾乎無法帶來安慰。

讓計算機(jī)盡其所能

最終,Raspberry Pi開發(fā)人員將能夠依靠“計算”性能帶來的巨大收益和小電路板提供的大量資源。標(biāo)準(zhǔn)Linux操作系統(tǒng)的便利性遠(yuǎn)不止彌補(bǔ)API的復(fù)雜性和廣泛性。我最關(guān)心的是全新小型SoC的開發(fā)人員:現(xiàn)代單片機(jī)用戶。對于他們而言,使用標(biāo)準(zhǔn)化HAL的好處減少了,因為性能存在損失,而且堆疊軟件架構(gòu)使獨(dú)特的功能變得單一。

用于快速開發(fā)的新一代軟件工具代表了擺脫這一難題的巧妙方式。這是最近出現(xiàn)在嵌入式控制市場中的一種新型代碼生成器或配置器。盡管最初時持有明顯(但通常合理)的懷疑態(tài)度,但事實證明,這些工具不僅有效,對于任何嚴(yán)格的嵌入式開發(fā)人員也必不可少。

我們發(fā)現(xiàn)的顯著特征包括:

完全集成在常見的IDE中,這有助于其了解項目上下文:型號(器件編號)選擇和中間件庫感知。

支持獨(dú)特和復(fù)雜的外設(shè)。例如,先前示例中提到的信號測量定時器(SMT)可以在單個頁面/對話框中直觀地呈現(xiàn)給用戶,其中僅包含少數(shù)滾動列表、復(fù)選框和一些直觀選項。有關(guān)來自Microchip的PIC單片機(jī)的旗艦快速開發(fā)工具M(jìn)PLAB代碼配置器(MCC)的屏幕截圖,請參見圖2。

利用模板引擎,將配置選項轉(zhuǎn)換為一小部分完全自定義的函數(shù)。這意味著只需通過少量待學(xué)習(xí)的函數(shù)以及一致且直觀的命名約定便可生成最小API。函數(shù)定制保證大多數(shù)硬件抽象是在編譯時(實際上在編譯前)靜態(tài)執(zhí)行的。這有助于減少傳遞到每個函數(shù)所需的參數(shù)列表,從而提高性能和代碼密度。有關(guān)MPLAB代碼配置器的典型簡約用例,請參見列表1。

輸出由非常短的(c語言)源文件組成,這些源文件可由用戶全面檢查(可將其作為一次學(xué)習(xí)機(jī)會),但也會經(jīng)過專家進(jìn)一步手動優(yōu)化?,F(xiàn)代化的代碼生成器將其代碼與用戶代碼靈活地混合,既可保持完整性,也允許充分利用寶貴的高級硬件功能。

從根本上說,代碼配置器/生成器可將“計算機(jī)”執(zhí)行的操作做到最好。構(gòu)建HAL是硬件外設(shè)配置重復(fù)且容易出錯的階段,通常會導(dǎo)致在數(shù)據(jù)手冊中花費(fèi)大量時間進(jìn)行乏味的搜索,現(xiàn)在,這一階段現(xiàn)已然消失或顯著縮短,只留下一些更加趣味橫生、啟發(fā)思維的探索與創(chuàng)造時間。事實上,用戶可以從同一個用戶界面了解特定的硬件外設(shè)功能,從根本上消除(或至少極大減少)對數(shù)據(jù)手冊的需求。硬件抽象層成為項目的靈活部分,實際上可以根據(jù)需要頻繁、快速地重新生成,從而優(yōu)化應(yīng)用性能。

十(二進(jìn)制)行代碼

處理完(外設(shè))配置后,可將注意力立即集中到應(yīng)用上,這是設(shè)計中更智能的部分(在應(yīng)用層上),這一部分位于“主循環(huán)”之內(nèi),而不是之前。最后要說的是,憑借代碼生成器,即使在嵌入式領(lǐng)域中,經(jīng)典的“Hello World”示例(總是轉(zhuǎn)換為使LED閃爍)也會成為令人耳目一新的兩行代碼練習(xí)。

對抗復(fù)雜性

在小型單片機(jī)發(fā)展成為小型SoC或者個人計算機(jī)縮小為Raspberry Pi的過程中,不僅會浪費(fèi)時間和造成認(rèn)知負(fù)擔(dān),還會在我們操作無法完全理解/掌握的系統(tǒng)時引入漏洞。

復(fù)雜性不是技術(shù)進(jìn)步的必然結(jié)果?,F(xiàn)代化的代碼配置器/生成器可以通過擴(kuò)展我們的軟件開發(fā)流程、實現(xiàn)自動化并最終恢復(fù)我們對快速增長的可用功能/選項數(shù)量的掌握來幫助我們。

猜你喜歡
嵌入式單片機(jī)功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
基于單片機(jī)的SPWM控制逆變器的設(shè)計與實現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機(jī)的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機(jī)的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
搭建基于Qt的嵌入式開發(fā)平臺
關(guān)于非首都功能疏解的幾點(diǎn)思考
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
Microchip推出兩個全新PIC單片機(jī)系列
Altera加入嵌入式視覺聯(lián)盟
中西醫(yī)結(jié)合治療甲狀腺功能亢進(jìn)癥31例
主站蜘蛛池模板: 国产成人1024精品下载| 国产美女自慰在线观看| 国产对白刺激真实精品91| yjizz视频最新网站在线| 亚洲人成在线精品| 国内精品久久久久鸭| 亚洲国产天堂久久综合226114| 日韩精品亚洲一区中文字幕| 日韩激情成人| 一本一道波多野结衣av黑人在线| 午夜精品久久久久久久无码软件| 欧美高清视频一区二区三区| 丰满人妻久久中文字幕| 欧美一区福利| 欧美19综合中文字幕| 亚洲第一精品福利| 欧美国产日本高清不卡| 久久久久亚洲AV成人人电影软件 | 五月天香蕉视频国产亚| 91精品国产91久无码网站| 国产成年女人特黄特色大片免费| 免费a级毛片18以上观看精品| 精品综合久久久久久97| 无码精品福利一区二区三区| 97在线免费视频| 久久亚洲国产一区二区| 欧美精品v| 国产精品视频第一专区| 亚洲色图狠狠干| 97国产在线视频| 四虎在线观看视频高清无码| 国产产在线精品亚洲aavv| 久久久久免费看成人影片| 久久久久亚洲AV成人网站软件| 视频在线观看一区二区| 国产日韩欧美精品区性色| 波多野结衣亚洲一区| 国产h视频在线观看视频| 国产成人精品一区二区免费看京| 亚洲成人精品| 日韩av电影一区二区三区四区| 国产综合另类小说色区色噜噜 | 日本高清视频在线www色| 亚洲视频在线青青| 99久久国产精品无码| 热久久综合这里只有精品电影| 日韩精品一区二区三区视频免费看| 国产亚洲现在一区二区中文| 国产制服丝袜91在线| 国产人在线成免费视频| 伊人成人在线视频| 国产va在线观看免费| 青草精品视频| 秋霞午夜国产精品成人片| 国产成人精品一区二区三区| 999精品在线视频| 国产va在线观看免费| 亚洲黄色激情网站| 美女高潮全身流白浆福利区| 国产欧美日韩18| 18禁色诱爆乳网站| 国产精品无码久久久久AV| 免费国产高清视频| 欧美福利在线观看| 欧美在线观看不卡| 亚洲一区二区三区国产精品 | 欧美三级视频在线播放| 999国内精品视频免费| 色婷婷电影网| 成人毛片免费在线观看| 亚洲国产日韩欧美在线| 91成人免费观看| 在线免费a视频| 波多野结衣无码中文字幕在线观看一区二区| 日本在线免费网站| 久久婷婷五月综合97色| 亚洲品质国产精品无码| 午夜三级在线| 日韩国产欧美精品在线| 色婷婷成人网| 中文字幕2区| 99久久精彩视频|