日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用嵌入式代碼生成器檢查復(fù)雜性

星星科技指導(dǎo)員 ? 來(lái)源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Lucio Di ? 2022-06-09 11:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Raspberry Pi 產(chǎn)品線于 2017 年 2 月通過(guò) Raspberry Pi Zero W進(jìn)行了擴(kuò)展,這是一款 10 美元的具有無(wú)線連接功能的個(gè)人計(jì)算機(jī)。對(duì)于業(yè)余愛(ài)好者、制造商、修補(bǔ)匠、黑客,以及,是的,我們中為數(shù)不多的真正努力設(shè)計(jì)“真正的”電子產(chǎn)品的人來(lái)說(shuō),這是多么美好的時(shí)光?。?/p>

盡管 Raspberry Pi 的“通用計(jì)算”區(qū)別和微控制器MCU) 的“嵌入式”分類存在細(xì)微差別,但兩者的共同目標(biāo)是為開(kāi)發(fā)人員“控制復(fù)雜性”同時(shí)“吸引新手用戶”。每種類型的平臺(tái)都提供免費(fèi)軟件工具,包括集成開(kāi)發(fā)環(huán)境 (IDE)、編譯器、鏈接器、模擬器、調(diào)試器以及或多或少的開(kāi)放中間件和操作系統(tǒng) (OS)。兩者都嚴(yán)重依賴于相似的(如果不相同的話)基于 GNU 的工具鏈。在中間件級(jí)別,一旦抽象了較低(直至金屬)驅(qū)動(dòng)程序?qū)?,開(kāi)源選項(xiàng)再次非常相似。

盡管他們的使命是通過(guò)降低復(fù)雜性來(lái)支持開(kāi)發(fā)人員,但是文檔膨脹的問(wèn)題在雙方都很明顯。一個(gè)完美的例子是基于 PIC 架構(gòu)的小型 8 位 MCU,PIC16F1619。PIC16F1619 MCU 用于控制小型電器,為此,它在 20 引腳封裝中僅包含 16 kB 閃存、12 個(gè)數(shù)字外設(shè)接口和大約同樣多的模擬支持模塊,但其數(shù)據(jù)表跨越 650 頁(yè)(在添加之前表征數(shù)據(jù)、圖表和圖形)。PIC16F1619 上提供的外設(shè)(例如信號(hào)測(cè)量定時(shí)器 (SMT))需要多達(dá) 50 頁(yè),這幾乎是描述實(shí)際 PIC 內(nèi)核及其整個(gè)指令集所需的頁(yè)數(shù)的兩倍。

Raspberry Pi 方面的問(wèn)題類似,只是按比例放大(高達(dá) 10 倍)。這里有幾個(gè)數(shù)據(jù)表需要考慮,每個(gè)數(shù)據(jù)表只記錄片上系統(tǒng) (SoC) 的一個(gè)組件,例如外圍設(shè)備、GPU 等。僅內(nèi)核就占據(jù)了 750 多頁(yè)。

不能指望沒(méi)有人會(huì)閱讀或簡(jiǎn)單地跟上如此大量的信息。特別是嵌入式開(kāi)發(fā)人員總是承受著巨大的壓力,要在更短的時(shí)間內(nèi)交付應(yīng)用程序以實(shí)現(xiàn)最快的上市時(shí)間。

迷失在嵌入式軟件架構(gòu)的層層中

解決信息泛濫的一種常見(jiàn)解決方案是使用分層架構(gòu)和抽象硬件細(xì)節(jié)的標(biāo)準(zhǔn)化外圍庫(kù)對(duì)應(yīng)用程序進(jìn)行分區(qū)。這些層可以表示為一個(gè)整齊的堆棧,“應(yīng)用程序”位于硬件抽象層 (HAL) 的頂部。如果需要,可以進(jìn)一步細(xì)化堆棧以識(shí)別 HAL 和其上的中間件層,以實(shí)現(xiàn)常見(jiàn)的服務(wù)/功能,例如網(wǎng)絡(luò)、文件系統(tǒng)和圖形用戶界面 (GUI)(圖 1)。

poYBAGKhZBuAB5dAAABOG8pCf5s001.png

【圖1 | 此處顯示的是嵌入式應(yīng)用程序的軟件堆棧的表示,可以通過(guò)分離驅(qū)動(dòng)程序和電路板支持層來(lái)進(jìn)一步細(xì)化。]

該軟件架構(gòu)模型源自“計(jì)算”世界,適用于大多數(shù)通用情況。不幸的是,它在嵌入式應(yīng)用程序中存在兩個(gè)基本缺點(diǎn):

只要關(guān)注中間件層提供的標(biāo)準(zhǔn)功能,分層架構(gòu)就可以簡(jiǎn)化文檔膨脹問(wèn)題。在應(yīng)用范圍的低端,中間件層非常薄,如果存在的話,結(jié)果主要是混淆。因此,開(kāi)發(fā)人員必須依靠大型應(yīng)用程序編程接口 (API) 形式的 HAL 文檔,這是一個(gè)同樣龐大的材料體,可以跨越數(shù)千頁(yè),而不會(huì)真正揭示設(shè)備的細(xì)節(jié)。當(dāng)出現(xiàn)問(wèn)題時(shí),開(kāi)發(fā)人員會(huì)陷入困境或被迫深入研究大量外來(lái)代碼。

HAL 層為標(biāo)準(zhǔn)中間件服務(wù)提供了巨大的支持,但由于其嚴(yán)格的性質(zhì),通常最終會(huì)抹去特定設(shè)備的獨(dú)特差異化功能。否則,這些功能可以為特定應(yīng)用程序提供技術(shù)優(yōu)勢(shì),并且可能是首先選擇特定設(shè)備的原因。

代碼生成器:讓機(jī)器做它最擅長(zhǎng)的事情!

由于堆疊的軟件架構(gòu)會(huì)導(dǎo)致性能損失和獨(dú)特功能的扁平化,現(xiàn)代 MCU 開(kāi)發(fā)人員在使用標(biāo)準(zhǔn)化 HAL 時(shí)獲得的收益會(huì)減少。然而,強(qiáng)調(diào)快速開(kāi)發(fā)的嵌入式控制市場(chǎng)的新一代代碼生成器為解決這個(gè)難題提供了一條出路。

代碼配置器/生成器做機(jī)器最擅長(zhǎng)的事情,顯著縮短或消除重復(fù)和容易出錯(cuò)的搜索數(shù)據(jù)表以配置硬件外圍設(shè)備和構(gòu)建 HAL 的過(guò)程。用戶還可以從單個(gè)代碼配置器界面了解特定的硬件外圍功能,從而完全減少對(duì)數(shù)據(jù)表的需求。因此,HAL 成為嵌入式開(kāi)發(fā)項(xiàng)目的靈活組成部分,可以在工程師優(yōu)化應(yīng)用程序性能時(shí)快速且頻繁地重新生成。

代碼配置器工具的顯著特點(diǎn)包括:

與流行的 IDE 完全集成,允許工具(和用戶)隨時(shí)了解項(xiàng)目上下文(涉及的型號(hào)/部件號(hào)、使用中的中間件庫(kù)等)

支持獨(dú)特而復(fù)雜的外圍設(shè)備,例如前面提到的 SMT。例如,SMT 可以在一個(gè)頁(yè)面/對(duì)話框中直觀地呈現(xiàn)給用戶,其中包括一些直觀的滾動(dòng)列表和復(fù)選框(圖 2)。

一個(gè)模板引擎,將用戶配置轉(zhuǎn)換為一小組完全定制的函數(shù),減少必須傳遞給每個(gè)函數(shù)的參數(shù)數(shù)量,并保證大多數(shù)硬件抽象在編譯時(shí)靜態(tài)執(zhí)行。生成的 API 是最小的,需要學(xué)習(xí)的功能很少,并利用一致和直觀的命名約定。這提高了性能和代碼密度(代碼示例 1)。

由非常短的(C 語(yǔ)言)源文件組成的輸出,可以由用戶完全檢查,提供學(xué)習(xí)和手動(dòng)優(yōu)化的機(jī)會(huì)?,F(xiàn)代代碼配置器以靈活的方式將生成的代碼與用戶代碼混合在一起,從而保持完整性并允許充分利用高級(jí)硬件功能。

pYYBAGKhZBWATcC5AADtmaIGywg199.png

【圖2 | 此處顯示的是 Microchip Technology, Inc. 的 MPLAB 代碼配置器 (MCC) 中的信號(hào)測(cè)量定時(shí)器 (SMT) 選項(xiàng)的屏幕截圖。]

poYBAGKhZA6AWVUsAAMHJ88JxWU091.png

[代碼示例 1 | SMT 外圍源文件 (smt1.c) 的此示例部分顯示了 MCC 生成的代碼的節(jié)儉性。]

一旦外圍配置完成,開(kāi)發(fā)人員可以立即專注于應(yīng)用程序。使用代碼生成器,嵌入經(jīng)典的“Hello, World!” 示例(總是轉(zhuǎn)換為閃爍的 LED)變成了兩行代碼練習(xí)。

pYYBAGKhZAiAA3USAAAe4I6dglE111.png

[代碼示例 2 | 創(chuàng)建“Hello, World!”只需要兩行代碼。使用 MCC 的應(yīng)用程序。]

在《In 10 Lines of Code》[5] 一書中可以找到其他 20 個(gè)有效使用快速開(kāi)發(fā)工具的實(shí)際示例。

對(duì)抗復(fù)雜性

當(dāng)我在 Pi Zero W 上觀看 Eben Upton 的視頻公告時(shí),我不禁想起了我的早年時(shí)光。那時(shí)是80年代中期。我買不起 BBC 電腦或豪華的 Amiga,但我確實(shí)把所有的錢都花在了 Sinclair ZX Spectrum 上。Eben 讓計(jì)算“人人都買得起”的努力真的引起了我的共鳴。

畢竟,將一臺(tái)功能強(qiáng)大的 PC 擠進(jìn)一個(gè) 6 厘米 x 3 厘米的微型印刷電路板 (PCB) 中,所達(dá)到的創(chuàng)紀(jì)錄的低價(jià)點(diǎn)仍然讓我感到驚訝。我經(jīng)常想知道,是否正是 Spectrum 的節(jié)儉和諸多限制教會(huì)我更深入地研究電子產(chǎn)品并讓我愛(ài)上了那個(gè)奇怪的機(jī)器世界——今天我們稱之為嵌入式的軟件和硬件之間的邊界。

隨著小型 MCU 成長(zhǎng)為小型片上系統(tǒng) (SoC),或者 PC 縮小為 Raspberry Pi,復(fù)雜性不一定是技術(shù)進(jìn)步的必然結(jié)果?,F(xiàn)代代碼配置器可以幫助我們?cè)鰪?qiáng)我們的軟件開(kāi)發(fā)過(guò)程,并最終恢復(fù)我們對(duì)快速增長(zhǎng)的可用功能的控制。

是呢環(huán)保局:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • pcb
    pcb
    +關(guān)注

    關(guān)注

    4418

    文章

    23979

    瀏覽量

    426361
  • soc
    soc
    +關(guān)注

    關(guān)注

    40

    文章

    4635

    瀏覽量

    230277
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3375

    瀏覽量

    124649
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    探索 SN54LS181、SN54S181、SN74LS181 和 SN74S181 算術(shù)邏輯單元/函數(shù)生成器

    探索 SN54LS181、SN54S181、SN74LS181 和 SN74S181 算術(shù)邏輯單元/函數(shù)生成器 在電子工程師的日常設(shè)計(jì)工作中,選擇合適的芯片是實(shí)現(xiàn)高效、可靠電路的關(guān)鍵。今天,我們就來(lái)
    的頭像 發(fā)表于 04-22 16:40 ?275次閱讀

    ICS2008B:SMPTE時(shí)間碼接收器/生成器的技術(shù)解析

    ICS2008B:SMPTE時(shí)間碼接收器/生成器的技術(shù)解析 在多媒體技術(shù)飛速發(fā)展的今天,時(shí)間碼的精確控制對(duì)于音視頻同步至關(guān)重要。ICS2008B作為一款SMPTE時(shí)間碼接收器/生成器芯片,為多媒體
    的頭像 發(fā)表于 04-13 18:10 ?390次閱讀

    探索ICS9FG104E:PCIe Gen1/2、USB3.0等設(shè)備的頻率生成器解決方案

    探索ICS9FG104E:PCIe Gen1/2、USB3.0等設(shè)備的頻率生成器解決方案 在電子設(shè)備的設(shè)計(jì)中,頻率生成器扮演著至關(guān)重要的角色,它為各種高速接口提供穩(wěn)定的時(shí)鐘信號(hào),確保設(shè)備的正常運(yùn)行
    的頭像 發(fā)表于 03-29 17:05 ?925次閱讀

    探索Renesas 9FGV0431:低功耗PCIe時(shí)鐘生成器的卓越之選

    探索Renesas 9FGV0431:低功耗PCIe時(shí)鐘生成器的卓越之選 引言 在當(dāng)今的電子設(shè)計(jì)領(lǐng)域,PCIe技術(shù)的廣泛應(yīng)用對(duì)時(shí)鐘生成器提出了更高的要求。Renesas的9FGV0431作為一款專為
    的頭像 發(fā)表于 03-15 17:25 ?1149次閱讀

    知識(shí)分享-嵌入式系統(tǒng)可靠模型

    嵌入式系統(tǒng)可靠設(shè)計(jì)技術(shù)及案例解析1.3嵌入式系統(tǒng)可靠模型嵌入式系統(tǒng)可靠模型分為兩種:串聯(lián)結(jié)
    的頭像 發(fā)表于 03-11 16:43 ?414次閱讀
    知識(shí)分享-<b class='flag-5'>嵌入式</b>系統(tǒng)可靠<b class='flag-5'>性</b>模型

    半導(dǎo)體嵌入式單元測(cè)試的核心技術(shù)、工具選型與落地全流程

    一、半導(dǎo)體嵌入式軟件的質(zhì)量危機(jī)與單元測(cè)試的核心價(jià)值1.1 半導(dǎo)體嵌入式軟件的復(fù)雜性演進(jìn)在摩爾定律的驅(qū)動(dòng)下,半導(dǎo)體芯片的集成度呈指數(shù)級(jí)增長(zhǎng),嵌入式軟件作為芯片功能的核心載體,其
    發(fā)表于 03-06 14:55

    什么是嵌入式應(yīng)用開(kāi)發(fā)?

    系統(tǒng)中,用于控制、監(jiān)測(cè)或通信等特定用途。與一般計(jì)算機(jī)系統(tǒng)不同,嵌入式系統(tǒng)通常具有較小的存儲(chǔ)容量、處理能力和功耗,且需要滿足特定的實(shí)時(shí)、可靠和安全性要求?。 應(yīng)用領(lǐng)域 嵌入式系統(tǒng)
    發(fā)表于 01-12 16:13

    嵌入式軟件單元測(cè)試中AI自動(dòng)化與人工檢查的協(xié)同機(jī)制研究:基于專業(yè)工具的實(shí)證分析

    裁決者?。嵌入式系統(tǒng)中,人工檢查不是冗余環(huán)節(jié),而是保障功能安全與系統(tǒng)可靠的核心防線。 ?1. 引言:嵌入式軟件的測(cè)試特殊****?
    發(fā)表于 12-31 11:22

    C語(yǔ)言單元測(cè)試在嵌入式軟件開(kāi)發(fā)中的作用及專業(yè)工具的應(yīng)用

    ,提高整體系統(tǒng)的穩(wěn)定性和可靠 嵌入式C語(yǔ)言單元測(cè)試面臨的特殊挑戰(zhàn)包括: 硬件依賴強(qiáng),測(cè)試環(huán)境搭建復(fù)雜 實(shí)時(shí)性要求高,測(cè)試不能影響系統(tǒng)性能 資源受限,測(cè)試
    發(fā)表于 12-18 11:46

    深入探討AMD嵌入式開(kāi)發(fā)框架的三大基石

    隨著嵌入式系統(tǒng)復(fù)雜性日趨提升,嵌入式開(kāi)發(fā)已不再只是編寫軟件/固件,更是關(guān)乎對(duì)軟硬件生態(tài)系統(tǒng)進(jìn)行協(xié)調(diào)。硬件與軟件的相互依賴與系統(tǒng)復(fù)雜性,實(shí)際
    的頭像 發(fā)表于 11-24 09:52 ?717次閱讀
    深入探討AMD<b class='flag-5'>嵌入式</b>開(kāi)發(fā)框架的三大基石

    如何通過(guò)地址生成器實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)特征圖的padding?

    涉及到相應(yīng)地址的時(shí)候,直接輸入零數(shù)據(jù),第二種則是在對(duì)應(yīng)padding地址存入零數(shù)據(jù),正常讀取數(shù)據(jù)。 兩種實(shí)現(xiàn)方式的主要區(qū)別在于:稀疏地址生成器的控制邏輯更為復(fù)雜,但其相比于直接輸入零數(shù)據(jù)的方式可以節(jié)省
    發(fā)表于 10-22 08:15

    嵌入式軟件測(cè)試與專業(yè)測(cè)試工具的必要深度解析

    MSO?:提供電源完整測(cè)試、時(shí)序分析、數(shù)字信號(hào)驗(yàn)證等硬件調(diào)試功能,以及中斷處理分析、代碼執(zhí)行流程跟蹤等軟件調(diào)試能力。 測(cè)試工具選型建議選擇嵌入式軟件測(cè)試工具時(shí)應(yīng)考慮以下因素: ?測(cè)試階段需求
    發(fā)表于 09-28 17:42

    嵌入式工程師為什么要學(xué)QT?

    受限的環(huán)境。 Qt的實(shí)現(xiàn)主要是采用p-impl手法,實(shí)現(xiàn)接口與實(shí)現(xiàn)分離,它有很好的消息循環(huán)機(jī)制,有助于在資源受限的嵌入式設(shè)備上運(yùn)行。 提升代碼質(zhì)量 Qt的設(shè)計(jì)理念和架構(gòu)可以幫助嵌入式工程師編寫更加
    發(fā)表于 08-14 15:15

    Linux嵌入式和單片機(jī)嵌入式的區(qū)別?

    Processor Unit)。 2. 單片機(jī)嵌入式(也稱為嵌入式微控制器MCU): 定義:一種集成電路,能夠在一個(gè)芯片上完成各種計(jì)算、控制和管理任務(wù)。 特點(diǎn):小型化、低功耗、成本低、可靠
    發(fā)表于 06-20 09:46

    ETAS全新的嵌入式AI解決方案

    “將訓(xùn)練后的AI神經(jīng)網(wǎng)絡(luò)模型,自動(dòng)化生成安全且高效的C代碼,用于嵌入式系統(tǒng)” ,近日ETAS攜全新的智能化工具Embedded AI Coder亮相2025上海國(guó)際車展。
    的頭像 發(fā)表于 05-07 11:43 ?2332次閱讀
    ETAS全新的<b class='flag-5'>嵌入式</b>AI解決方案
    朝阳区| 陆丰市| 怀化市| 乡宁县| 垫江县| 察隅县| 当涂县| 永德县| 荥经县| 高平市| 池州市| 会理县| 民乐县| 栖霞市| 射阳县| 通海县| 沭阳县| 漳浦县| 永宁县| 绥滨县| 阿图什市| 五莲县| 阜宁县| 台山市| 通化县| 澎湖县| 巧家县| 措勤县| 房山区| 水富县| 蓝田县| 惠东县| 湘潭县| 台安县| 唐河县| 泸溪县| 秭归县| 铜川市| 永定县| 芒康县| 邓州市|