女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何為物聯(lián)網(wǎng)選擇合適的 RTOS 和微控制器平臺

丫丫119 ? 來源:未知 ? 作者:肖冰 ? 2019-08-06 10:03 ? 次閱讀

開發(fā)物聯(lián)網(wǎng) (IoT) 設備可能比許多開發(fā)人員或公司所設想的更具挑戰(zhàn)性。將嵌入式系統(tǒng)連接至云端極大地增加了系統(tǒng)的時序復雜性。時序復雜性的增加意味著開發(fā)人員需要一種更好的方法,用以管理軟件何時應該運行什么代碼。要避免編寫自定義調度程序或處理裸機時序,最佳方法是使用實時操作系統(tǒng) (RTOS) 來管理時序復雜性。

目前,使用 RTOS 的一項挑戰(zhàn)在于許多開發(fā)人員習慣于沒有操作系統(tǒng) (OS) 的裸機環(huán)境,因而為特定應用選擇合適的 RTOS 難度頗大。對 RTOS 市場的快速網(wǎng)絡調查表明,市面上共有百余種 RTOS 可供開發(fā)人員使用,從開源系統(tǒng)到經(jīng)認證的商業(yè) RTOS。那么,該如何選擇 RTOS 并開始使用呢?

本文將闡示如何評估最適合應用的 RTOS,并介紹支持 RTOS 的STMicroelectronicsRenesas開發(fā)平臺。

RTOS 選擇的考慮因素

實時操作系統(tǒng)是開發(fā)人員構建應用程序代碼的基礎。為確保應用基礎牢固且能經(jīng)受考驗,選擇合適的 RTOS 至關重要。不過在多數(shù)情況下,RTOS 選擇僅依據(jù)單一參數(shù):成本。

雖然成本是一個重要的考慮因素,但不應該是唯一的因素。如果開發(fā)團隊難以連接、實施系統(tǒng)或對所選擇的 RTOS 缺乏支持,即便花費十倍于商業(yè) RTOS 的成本也是很平常的,更不用說因此而損失的項目時間。一般而言,開發(fā)團隊為應用選擇 RTOS 時應考慮八個不同的類別,其中包括:

  • 法律責任與風險
  • 性能
  • 特性
  • 成本
  • 生態(tài)系統(tǒng)
  • 中間件
  • RTOS 供應商
  • 工程偏好

每個類別均可能包含幾項標準,評估各款 RTOS 時應參照這些標準。例如,在法律責任方面,團隊可能需要考慮以下事項:

  • RTOS 侵權責任
  • 賠償
  • 保修
  • 需要從法律角度審查 RTOS

在性能方面,開發(fā)人員可能需要考慮以下事項:

  • 可執(zhí)行內存占用
  • RAM 占用
  • 最高的確定性
  • 運行時效率

開發(fā)和執(zhí)行團隊檢查各個主要類別,確定用于評估 RTOS 的標準。一旦確定了標準,就可以使用 Kepner-Tregoe (KT) 矩陣來評估幾種不同的 RTOS。這種合理的決策模型有助于收集、優(yōu)先排序和評估信息,且側重于評估和確定風險的優(yōu)先級,以期消除決策過程中的個人偏見,進而作出最佳選擇,同時將負面影響降至最低。下面將詳細說明如何使用 KT 矩陣來選擇 RTOS。

使用 KT 矩陣選擇 RTOS

用于 RTOS 選擇的 KT 矩陣如圖 1 和圖 2 所示。整體構想是,確定每個選擇類別的選擇標準并在一列中逐一羅列。為各標準分別確定權重,并按重要性對權重賦值,從 1 到 5,其中 5 代表至關重要(如成本),1 表示不重要(如法律責任)。然后團隊各成員就各標準對每款待評估 RTOS 的重要性進行排名,并將結果逐列填入矩陣中,再對各標準進行加權、求和,進而生成無偏見的數(shù)值結果。具有最高數(shù)值的 RTOS 則是最符合標準的 RTOS。

圖 1:用于 RTOS 選擇的 KT 矩陣上半部分,包括對責任風險、RTOS 性能、特性和成本的評估。(圖片來源:Beningo Embedded Group)

圖 2:用于 RTOS 選擇的 KT 矩陣下半部分,包括對生態(tài)系統(tǒng)、中間件、供應商和業(yè)務的評估。(圖片來源:Beningo Embedded Group)

圖 1 和圖 2 中示例的評估標準數(shù)量多,涵蓋面廣,可能超出了大部分開發(fā)團隊所設想的評估范圍,而只需將權重設置為 0 或隱藏電子表格相應的行,即可輕松刪減標準數(shù)量。

用于著手 RTOS 開發(fā)的平臺

開發(fā)人員認為較難評估 RTOS 的一個領域,可能是確定其是否滿足性能和功能的需求。除非開發(fā)人員深入評估,開始使用該 RTOS 卻使他們陷入困境,否則多數(shù)情況下無從知曉。事實證明,一種簡單又經(jīng)濟的 RTOS 評估和測試方法是利用支持 RTOS 的現(xiàn)有開發(fā)平臺。下面我們將了解一些支持常用開源 FreeRTOS 和 Express Logic 的 ThreadX 操作系統(tǒng)的平臺。

首先介紹的是 STMicroelectronics 的STM32Cube平臺。STM32Cube 平臺支持 FreeRTOS,屬于 STMicroelectronics 的 STM32CubeMx 和 STM32CubeIDE 開發(fā)環(huán)境的一部分。這些工具可讓開發(fā)人員方便地啟用 FreeRTOS,他們只需選中 FreeRTOS 框,然后使用 FreeRTOS 配置工具來設置所有配置值即可。因此開發(fā)人員能夠非常快速地著手運行 FreeRTOS,以便開始評估其功能和性能特點。

在 STMicroelectronics 的工具鏈中,有多種不同的開發(fā)板可供選擇。多年來,一款久經(jīng)考驗的開發(fā)板一直深受青睞,STM32F429 Discovery 板 (STM32F429I-DISC1)(圖 3)。

STM32F429采用 Arm?Cortex?-M4 處理器時鐘速度高達 168 MHz。該微控制器支持 2 MB 的閃存和 256 KB 的 SRAM,代碼和內存足以用于高級應用的開發(fā)。該開發(fā)板還包括 LCD、數(shù)個 LED 和可擴展的 I/O。

圖 3:STM32F429I Discovery 開發(fā)板成本低廉,采用 Arm Cortex-M4 處理器,可為開發(fā)人員提供充分的處理能力以評估 RTOS。(圖片來源:STMicroelectronics)

若基于 RTOS 的物聯(lián)網(wǎng)邊緣設備還需執(zhí)行機器學習,則開發(fā)人員更適合選用 STM32F7 Discovery 板 (STM32F746G-DISCO)(圖 4)。STM32F7 Discovery 板基于 Arm Cortex-M7 處理器,帶緩存,時鐘速度高達 216 MHz,具有 1 MB 的閃存和 340 KB 的 SRAM。此外,該開發(fā)板還包括 4.3 英寸 480 x 272 像素顯示屏、以太網(wǎng)SD 插槽、USB、麥克風和揚聲器連接等。

圖 4:STM32F746G Discovery 開發(fā)板成本低廉,采用 Arm Cortex-M7 處理器。開發(fā)人員不僅可用于評估 RTOS,還可評估物聯(lián)網(wǎng)邊緣設備上所需使用的任何機器學習接口。(圖片來源:STMicroelectronics)

最后介紹的一款開發(fā)板是STM32L0Nucleo 板 (NUCLEO-L073RZ)(圖 5)。STM32L0 Nucleo 板基于 Arm Cortex-M0+,旨在實現(xiàn)最低能耗,非常適合電池供電的低功耗物聯(lián)網(wǎng)邊緣設備。STM32L0 微控制器的時鐘速度高達 24 MHz,具有 192 KB 的閃存和 20 KB 的 SRAM。該開發(fā)板的特性可滿足 RTOS 運行的最低需求,組件很簡單,只包括用戶開關和 LED。

圖 5:NUCLEO-L073RZ STM32L0 開發(fā)板基于 Arm Cortex-M0+ 處理器,旨在為低功耗設備提供高性能。(圖片來源:STMicroelectronics)

接下來介紹的是Renesas Synergy? 平臺。在嵌入式行業(yè)中,該平臺的獨特之處在于附帶豐富的第三方軟件和各供應商的開發(fā)工具。

例如,如果開發(fā)人員使用 STMicroelectronics 開發(fā)板,并希望將 Express Logic 的 ThreadX RTOS 與IAR Systems的 Embedded Workbench 編譯器和開發(fā)環(huán)境結合使用,那么編譯器需要使用 IAR 產(chǎn)品,RTOS 需使用 Express Logic 產(chǎn)品,就必須分別購買使用許可證。但是,開發(fā)人員只需購買 Renesas Synergy 平臺中的某個微控制器,就能免費使用這些工具和 RTOS 以及其他中間件。

若開發(fā)人員希望在高端處理器上測試 ThreadX,Renesas Synergy 的 SK-S7G2 開發(fā)板 (YSSKS7G2E30) 不失為絕佳的選擇(圖 6)。SK-S7G2 基于 Arm Cortex-M4 處理器,時鐘速度達 240 MHz,具有 3 MB 的閃存和 640 KB 的 RAM。該開發(fā)板組件豐富,包括 LCD、大量 LED、I/O 擴展、CAN、PMOD 擴展,可輕松訪問串口和附加 I/O。

圖 6:Renesas Synergy 的 SK-S7G2 開發(fā)板附帶商用開發(fā)工具,包括 Express Logic 的 ThreadX RTOS。(圖片來源:Renesas)

另一款可用于測試 ThreadX 的開發(fā)板是 Renesas Synergy 的 TB-S5D5 (YSTBS5D5E10)(圖 7)。TB-S5D5 開發(fā)板成本低廉,采用 Arm Cortex-M4 處理器,時鐘速度達 120 MHz,具有 1 MB 的閃存和 384 KB 的 SRAM。該開發(fā)板的功能較少,從而能最大限度地降低成本,只包括用戶按鈕、電容式觸控和 LED。

圖 7:Renesas Synergy 的 TB-S5D5 開發(fā)板為開發(fā)人員提供 1 MB 的代碼閃存和 384 KB 的 SRAM,可用于測試 ThreadX。(圖片來源:Renesas)

對于開發(fā)人員,尤其是對物聯(lián)網(wǎng)應用感興趣的開發(fā)人員,其他值得關注的選擇還有 Renesas Synergy 的 AE-Cloud1 物聯(lián)網(wǎng)套件YSAECLOUD1(圖 8)和 Renesas Synergy 的 AE-Cloud2 蜂窩物聯(lián)網(wǎng)套件YSAECLOUD2(圖 9)。

Synergy Cloud1 物聯(lián)網(wǎng)套件讓開發(fā)人員可以通過 Wi-Fi 連接至云端,而 Cloud2 蜂窩物聯(lián)網(wǎng)套件則可通過蜂窩網(wǎng)絡連接。這兩款開發(fā)板均基于 S5D9 處理器,具有板載傳感器和 LED 可從云端進行監(jiān)視和控制。此外,這兩款套件還附帶 ThreadX 等預裝軟件,因此開發(fā)人員可使用自帶 RTOS 測試整個連接解決方案。(開發(fā)人員可以此評估上述 KT 矩陣的中間件部分。)

圖 8:Renesas Synergy 的 AE-Cloud1 物聯(lián)網(wǎng)套件是專為物聯(lián)網(wǎng)設備設計的開發(fā)板,可通過 Wi-Fi 連接至云端。該套件可以控制 LED、監(jiān)控來自 Amazon Web Services (AWS) 或 Microsoft Azure 等云服務提供商的傳感器值。(圖片來源:Renesas)

圖 9:Renesas Synergy 的 AE-Cloud2 蜂窩物聯(lián)網(wǎng)套件是專為物聯(lián)網(wǎng)設備設計的開發(fā)板,可通過 Wi-Fi 或蜂窩網(wǎng)絡連接至云端。該套件可以控制 LED、監(jiān)控來自 AWS 或 Azure 等云服務提供商的傳感器值。(圖片來源:Renesas)

關于上述平臺的一個重要注意事項:評估 RTOS 時,請確保執(zhí)行同環(huán)境比較。例如,若在時鐘速度達 168 MHz 的 STM32F429 Discovery 板上評估 FreeRTOS,則請確保使用相同的開發(fā)板或時鐘速度相同的開發(fā)板來評估其他 RTOS。

RTOS 的使用技巧與訣竅

每款 RTOS 都有各自的“技巧與訣竅”,但有幾條經(jīng)驗法則可以普遍應用于各款 RTOS:

  • 靜態(tài)分配任務和 RTOS 對象。動態(tài)分配任務和對象需要使用內存分配程序 (malloc()),而這具有非確定性,可能會導致堆碎片問題,從而導致性能變差,甚至在最壞的情況下導致系統(tǒng)崩潰。
  • 根據(jù)應用需求更改默認堆棧大小。對于多數(shù)任務而言,許多 RTOS 提供的默認堆棧值過大,這會導致 RAM 浪費。手動配置默認堆棧大小,但請務必根據(jù)任務的功能和需求調整各任務的堆棧大小。
  • 從任務調用的函數(shù)必須可重入。從多個任務調用該函數(shù)時,若被更高優(yōu)先級的任務中斷,即可確保不存在損壞其他任務數(shù)據(jù)的風險。
  • 盡量使用內存塊池(如有)。內存塊池是具有確定性行為的內存池,可用于運行時動態(tài)分配內存。該方法比使用 malloc() 更穩(wěn)妥,但多數(shù)開源操作系統(tǒng)并不具備此內存管理功能。
  • 最大限度地減少應用中使用的任務數(shù)。使用 RTOS 時,許多開發(fā)人員喜歡創(chuàng)建大量任務,但是創(chuàng)建任務就需要任務控制塊及相關的獨立堆棧空間,因此創(chuàng)建不必要的任務會大幅減少可用內存。

總結

物聯(lián)網(wǎng)設備的應用促使嵌入式系統(tǒng)的軟件復雜度相應增加,因此為了幫助開發(fā)人員克服這一挑戰(zhàn)并將復雜性進行抽象化,使用 RTOS 已成為必要之舉。然而,訣竅不僅僅在于選擇 RTOS。每款 RTOS 都各有所長,若選擇的 RTOS 與開發(fā)人員的應用需求不符,則可能會浪費大量的時間和精力。

相反,開發(fā)人員應采取積極主動的方法來選擇 RTOS,仔細評估各個不同方面,不光是 RTOS 本身的特性,還包括 RTOS 供應商以及遇到問題時可用的支持等外圍因素。一種有效方法則是使用 KT 矩陣仔細評估待選 RTOS,然后在完全支持該系統(tǒng)的微控制器平臺上運行所選擇的 RTOS,以確保其適合應用。


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

    關注

    48

    文章

    7908

    瀏覽量

    153721
  • 物聯(lián)網(wǎng)

    關注

    2927

    文章

    45900

    瀏覽量

    388220
  • RTOS
    +關注

    關注

    24

    文章

    841

    瀏覽量

    120780
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    微控制器MCU常用RTOS盤點

    來源 電子時報微控制器(MCU)廣泛應用在各行各業(yè),如各式家電、工業(yè)自動化,實時控制、資料采集等領域,為因應工控所需的實時(Realtime)控制、快速回應等需求,因此MCU大多搭載RTOS
    發(fā)表于 10-27 14:22

    何為嵌入式應用選擇合適微控制器

    一些簡單的步驟,以確保形成適當?shù)?b class='flag-5'>微控制器選擇。如何為嵌入式應用選擇合適微控制器為嵌入式應用
    發(fā)表于 12-21 17:58

    如何選擇合適聯(lián)網(wǎng)模塊?

    聯(lián)網(wǎng)模塊具有廣泛的無 線技術標準,它們提供了各種可能影響聯(lián)網(wǎng)應用成功的功能。那么,您如何為您的解決方案選擇
    發(fā)表于 09-08 17:55

    聯(lián)網(wǎng)微控制器的需求趨勢和應用技巧分享

    聯(lián)網(wǎng)微控制器需求趨勢+應用技巧
    發(fā)表于 01-27 07:00

    使用MCU微控制器實現(xiàn)對聯(lián)網(wǎng)設備的控制

    **PacketTracer模擬器物聯(lián)網(wǎng)教程2—MCU微控制器編程**一、目的使用MCU微控制器實現(xiàn)對聯(lián)網(wǎng)設備的
    發(fā)表于 11-01 07:36

    MCU,RTOS聯(lián)網(wǎng)之間有何關系

    關注+星標公眾號,不錯過精彩內容來源 |小麥大叔概述嵌入式聯(lián)網(wǎng)開發(fā)平臺是一個系統(tǒng),是微控制器++聯(lián)+網(wǎng)+開發(fā)
    發(fā)表于 11-10 08:12

    16位微控制器有哪些優(yōu)勢

    關鍵詞:單片機, 嵌入式較長的電池續(xù)航時間,對提高消費類設備的用戶滿意度至關重要。對于電池供電的聯(lián)網(wǎng) (IoT) 端點,延長電池續(xù)航時間可降低維護成本,提高可靠性。由于這些設備所使用的微控制器功耗
    發(fā)表于 11-26 06:26

    何為聯(lián)網(wǎng)平臺?如何正確選擇合適聯(lián)網(wǎng)平臺

    無論您是聯(lián)網(wǎng)愛好者、或是經(jīng)驗豐富的開發(fā)者、還是高級管理人員,在面對眼花繚亂的聯(lián)網(wǎng)平臺時,選擇
    發(fā)表于 05-18 06:32 ?7908次閱讀
    <b class='flag-5'>何為</b><b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b><b class='flag-5'>平臺</b>?如何正確<b class='flag-5'>選擇</b><b class='flag-5'>合適</b>的<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b><b class='flag-5'>平臺</b>?

    如何去選擇合適聯(lián)網(wǎng)平臺

    如今,聯(lián)網(wǎng)的應用越來越廣泛,很多組織需要學習基礎知識,并根據(jù)其需求選擇合適聯(lián)網(wǎng)
    發(fā)表于 07-03 17:31 ?1152次閱讀

    何為聯(lián)網(wǎng)解決方案選擇合適聯(lián)網(wǎng)模塊

    ,它們提供了各種可能影響聯(lián)網(wǎng)應用成功的功能。那么,您如何為您的解決方案選擇合適
    發(fā)表于 06-16 11:25 ?932次閱讀

    聯(lián)網(wǎng)微控制器的功能介紹

    微控制器聯(lián)網(wǎng)部署中最常用的組件之一,但如何為每個聯(lián)網(wǎng)項目
    發(fā)表于 01-01 09:24 ?2712次閱讀

    聯(lián)網(wǎng)微控制器需求趨勢及應用技巧

    微控制器聯(lián)網(wǎng)部署中最常用的組件之一,但如何為每個聯(lián)網(wǎng)項目
    的頭像 發(fā)表于 01-20 16:25 ?804次閱讀

    聯(lián)網(wǎng)微控制器需求趨勢+應用技巧

    微控制器聯(lián)網(wǎng)部署中最常用的組件之一,但如何為每個聯(lián)網(wǎng)項目
    發(fā)表于 02-02 06:45 ?3次下載
    <b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>的<b class='flag-5'>微控制器</b>需求趨勢+應用技巧

    何為聯(lián)網(wǎng)選擇合適RTOS微控制器平臺

    發(fā)表于 11-25 08:31 ?0次下載
    如<b class='flag-5'>何為</b><b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b><b class='flag-5'>選擇</b><b class='flag-5'>合適</b>的 <b class='flag-5'>RTOS</b> 和<b class='flag-5'>微控制器</b><b class='flag-5'>平臺</b>

    M0L 或 M0G:如何為您的應用選擇合適的 MSP 微控制器

    電子發(fā)燒友網(wǎng)站提供《M0L 或 M0G:如何為您的應用選擇合適的 MSP 微控制器.pdf》資料免費下載
    發(fā)表于 09-09 09:48 ?0次下載
    M0L 或 M0G:如<b class='flag-5'>何為</b>您的應用<b class='flag-5'>選擇</b><b class='flag-5'>合適</b>的 MSP <b class='flag-5'>微控制器</b>