嵌入式系統的開發與即時作業系統的選擇

作者:DigiKey Editor

當您確定了嵌入式系統的指令集架構之後,便可以開始選擇與該指令集架構相對應的評估板、開發板,並選擇合適的即時作業系統(RTOS)來展開系統的開發工作。本文將為您介紹評估板、開發板與即時作業系統的特性與選擇的考量要素。

加快新產品開發速度的評估板與開發板

在展開任何新產品的開發時,工程師會先開始思考系統的原型製作、功能改進和生產設計等階段,為了幫助設計師完成此設計過程,便有一系列可供實驗、開發和生產使用的電路板,來協助工程師進行開發工作。

電子產品設計中的評估板(Evaluation Board)和開發板(Development Board)是兩個常見的工具,用於協助工程師評估和開發新的電子產品。此外,還有擴充板與模組系統(SoM)可用於提升開發的效率與擴充功能。

在電子產品設計的過程中,評估板和開發板可以一起使用,評估板用於快速評估硬體性能,而開發板則用於進行軟體開發和整合,這樣的組合有助於加快產品上市的速度,同時提高整體設計的可靠性和效能。

評估板

評估板是用於進行第一個原型或進行實驗時採用的電路板,是供工程師評估特定晶片或元件性能的硬體平台,評估板上會有重點關注的相關晶片的基本電路,以及具有形成可執行電路所需的最少數量元件。

工程師可以使用評估板來快速評估目標元件的性能、測試其功能,並了解如何整合這些元件到最終的電子產品中,其設計雖然簡單,但它們的面積通常會較大,可以提供空間來劃分晶片的每條線路,從而使設計人員能夠準確挑選啟用或連接的電路。評估板通常提供了一個友好的介面,以方便工程師進行實驗和評估。

Sparkfun开发板Sparkfun開發板

開發板

開發板是用於原型開發和軟體編寫的硬體平台,通常會將正在試驗的晶片與所有外部通訊線路斷開,以便於存取可用的介面和程式選項。電源由板上穩壓器或其他功率元件控制,使開發人員能夠專注於試驗核心晶片功能,而不是其他的支援電路。開發板通常包含目標處理器、記憶體、連接埠和其他必要的硬體,使開發人員能夠進行軟體開發、測試和除錯。

最受歡迎的開發板系列通常在製造商或產品線之間具有一定的交互相容性,以便擴充板可以在多個裝置上重複使用。Arduino系列就是這樣的例子,其插頭/插座的排列規範,已經成為許多開發板的標準。

Arduino 开发板Arduino 開發板

擴充板

在大多數情況下,為了輕鬆整合感測器、顯示器、馬達驅動器或其他晶片,大多數製造商已經將外部晶片和所需元件放置在相容的即插即用板上,稱為擴充板。擴充板可以簡單地安裝在開發板的頂部,並提供可供下載的開發環境軟體函式庫。

Microchip的模块系统Microchip的模組系統

模組系統

除了評估板與開發板之外,還有一種模組系統(SoM)是用於將專案從工作台轉移到生產線的最後一步。SoM是電路板最重要的部分,被壓縮到盡可能小的空間中,以便直接整合到應用電路板上。

通常,SoM的佔地面積非常小,最大的整體面積通常只有幾平方英寸,並由表面黏著元件製成,大多數SoM都有一個開發平台,將SoM直接放置在分線板上,以供大規模使用和實驗。

可以依需求選擇的多樣化擴充板

擴充板用與擴充系統的功能,通常這些擴充板會有一個系列名稱或主題功能來將它們與主機板聯繫起來,這裡列出一些最受歡迎的開發板系列和擴充板的一小部分清單。

Arduino系列Arduino系列

Arduino是一個開源電子原型平台,用於簡化硬體和軟體的原型開發。其擴充板有常規UNO R3格式或更大的MEGA R3格式,Arduino R3電路板佈局已成為事實上的標準,許多公司和第三方製造商都使用相同的標準格式來生產電路板。

Beaglebone系列Beaglebone系列

Beaglebone是一款由德州儀器與DigiKey和Newark element14合作生產的低能耗開源的單板電腦(Single Board Computer, SBC)。它也是為運行開源軟體而建構的一個系統,其主板是以開源硬體/軟體能力為導向而設計。

Raspberry Pi系列Raspberry Pi系列

Raspberry Pi是一種廉價、小型、高性能的單板電腦,由英國的Raspberry Pi基金會開發。其HAT(Hardware Attached on Top)這個實體擴充模組可能有較舊的26接腳變體或較新的40接腳變體。pHAT(部分式HAT)是一種變體,旨在匹配Raspberry Pi Zero和Zero W板的形式。

Feather系列Feather系列

Feather是Adafruit Feather開發的一個開源硬體平台,用於製作輕量、小型的嵌入式系統和可積木化的電子原型。其開發板系統的附加板和擴展板,允許添加原型、感測和馬達控制、有線和無線連接選項、音訊和顯示,旨在提供靈活、可擴展和易於使用的解決方案。

STM32 Nucleo系列STM32 Nucleo系列

STM32 Nucleo是由STMicroelectronics推出的一個開發板平台,旨在簡化STM32微控制器的原型開發和應用開發。這些擴充板允許為基本STM32 Nucleo板新增附加功能,可以添加的功能包括感測、控制、連接、電源和音訊。

MikroE系列MikroE系列

MikroE的Click板(mikroBUS™ Click™)是MikroE的擴充板系列,具有超過1000種不同的選項,在添加感測器、通訊、顯示和資料儲存時,可提供無與倫比的設計選擇和速度。為了節省電路板更多空間,MikroE ShuttleClick Ribbon纜線系統允許將最多四個不同的Click板添加到相同資料匯流排上。

MicroMod系列MicroMod系列

MicroMod是一個由SparkFun Electronics推出的模塊化嵌入式平台,旨在簡化和加速嵌入式系統的原型開發,其中核心模塊包含主要的處理器和基本周邊,而功能擴展模塊(Carrier Boards)則提供了額外的周邊和連接選項,包含處理器、通訊和感測器均可輕易的連接。

DigiKey的擴充板會根據功能進行分類,您通常可以在附件(開發板、套件、程式設計器)以及評估板、擴充板、子卡中找到這些電路板。具有無線通訊功能的擴充板也可以在射頻評估和開發套件、電路板頁面中找到。

NL-AB-BBCL扩充板 PRUCAPE扩充板 103030035 扩充板NL-AB-BBCL擴充板 PRUCAPE擴充板 103030035 擴充板

即時作業系統滿足運算資源有限系統的需求

即時作業系統(RTOS)是小型輕量級作業系統,通常設計為在運算資源有限的小型嵌入式系統上運行,是一種專門設計用於滿足即時系統要求的作業系統。RTOS對任務的回應時間非常敏感,需要在規定的時間內完成任務的處理,因此RTOS被廣泛應用於需要高度可靠性和確定性的領域,如航太、醫療設備、工業控制、汽車電子系統等。

实时操作系统(RTOS)即時作業系統(RTOS)

RTOS注重任務的即時性,確保任務在規定的時間內完成,並要求能夠提供任務執行的可預測性,即任務完成的時間可以在一定範圍內被預測。RTOS使用一種特殊的調度演算法,確保高優先順序的任務能夠在規定的時間內得到執行。由於即時系統需要對外部事件作出快速回應,RTOS通常具有高效率的中斷處理機制。

RTOS會提供有效的資源管理機制,確保各個任務能夠按照優先順序和時間要求存取系統資源,包括共用記憶體、裝置存取等。由於即時系統通常應用於嵌入式系統和資源受限的環境,因此RTOS通常具有可裁剪性,可以根據應用需求進行精簡。

一些知名的RTOS包括FreeRTOS、Zephyr、VxWorks、RTOS-32、QNX等。選擇適當的RTOS取決於具體應用的需求,例如即時性要求、系統資源限制、開發成本、系統的複雜性,以及可用的硬體資源等。

ZephyrZephyr

免費開源的Zephyr與FreeRTOS即時作業系統

ZephyrFreeRTOS是目前最熱門的RTOS選擇,兩者均是完全開源的系統,專為嵌入式系統和物聯網(IoT)裝置所設計。Zephyr是由Linux基金會所支持,採用Apache License 2.0授權,FreeRTOS則是採用MIT授權,這使得開發者可以免費獲取、自由查看、修改和分發原始碼。Zephyr與FreeRTOS均支援多種處理器架構,Zephyr支持ARM、x86、RISC-V等,FreeRTOS則支持ARM、MIPS、RISC-V等,使其可以在不同的硬體平臺上運行,適用於各種不同類型的嵌入式系統和IoT裝置。

相較之下,Zephyr RTOS支持較為完整的網路通訊協定堆疊,內置了完整的TCP/IP網路通訊協定堆疊,是方便實現網路連接的嵌入式系統。Zephyr注重安全性,提供了安全相關的特性,如TrustZone支援、加密函式庫等,滿足對物聯網裝置的安全需求,並提供了豐富的周邊和驅動支援,包括感測器、通訊匯流排等,使其更容易與各種硬體和周邊裝置整合。

不過由於Zephyr RTOS的功能較為豐富,Zephyr可能對初學者具有一定難度的學習曲線,且相較於一些羽量級RTOS,Zephyr的核心可能相對較大,可能不適用於資源極為有限的系統。

相關的Zephyr即時作業系統包括SparkFun WRL-17354NXP MIMXRT1060-EVKBNordic半導體THINGY53Raspberry Pi SC0915,Zephyr RTOS相容板的完整列表:https://docs.zephyrproject.org/latest/boards/index.html

FreeRTOS的設計注重羽量級,適用於資源受限的嵌入式系統,具有較小的儲存空間和記憶體佔用。FreeRTOS擁有廣泛的硬體支援,可以運行在多種處理器架構上,使其在不同的硬體平臺上具有通用性。FreeRTOS擁有龐大的社群支援,豐富的文件檔、範例程式碼和論壇資源,使得開發者能夠輕鬆入手並解決問題。

不過,相對於Zephyr,FreeRTOS的網路支援相對較為有限,可能需要額外的工作來實現複雜的網路連接,且對於一些對功能要求較為複雜的應用,FreeRTOS可能在一些高階功能上不如一些更為全面的RTOS。

相關的FreeRTOS還包括STMicroelectronics NUCLEO-L476RGMicrochip Technology DM320003-3Infineon KITXMC13BOOT001TOBO1,完整的FreeRTOS相容產品線列表:https://www.freertos.org/RTOS_ports.html

選擇使用Zephyr還是FreeRTOS取決於具體的應用需求、硬體平臺以及開發者的經驗和偏好。如果對網路支援、安全性和多架構支援有較高要求,Zephyr可能是更好的選擇。如果注重羽量級、廣泛硬體支援和簡單的學習曲線,FreeRTOS可能更適合一些資源有限的應用。

即時作業系統 優點 缺點 選擇建議
Zephyr 多架構支援,具有完整的網路通訊協定堆疊,提供安全性功能與周邊和驅動支援。 學習曲線較陡峭,具有相對較大的核心。 適合對網路支援、安全性和多架構支援有較高要求的應用。
FreeRTOS 羽量級核心,具有廣泛的硬體支援和成熟的社群和生態系統。 網路支援較為有限,相對簡化的功能。 羽量級與較輕易的學習曲線,適合一些資源有限的應用。

結語

嵌入式系統與微控制器的開發過程中需要透過評估板、開發板的協助來加快產品的開發速度,選擇合適的即時作業系統也是系統開發過程的要素。DigiKey提供了多種評估板與開發板供客戶選擇,並提供即時作業系統的支援,設計師可以到DigiKey的應用與技術網頁參考更詳細的資訊,若有更多需求,也可與DigiKey聯繫以獲得更多詳細的訊息。

更多相關技術與精選內容

聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 DigiKey 的意見、理念和觀點,亦非 DigiKey 的正式原則。

精選產品

圖片製造商零件編號說明現有數量價格查看詳情
IC MOD CORTEX-A5 500MHZ 1GB 64MBATSAMA5D27-SOM1IC MOD CORTEX-A5 500MHZ 1GB 64MB108 - 即時供貨$331.40查看詳情
ARDUINO NANO EVERY WITH HEADERSABX00033ARDUINO NANO EVERY WITH HEADERS262 - 即時供貨$120.70查看詳情
ARDUINO NANO ATMEGA328 EVAL BRDA000005ARDUINO NANO ATMEGA328 EVAL BRD3750 - 即時供貨$204.45查看詳情
BEAGLEBONE GREEN AM3358BZCZ102010027BEAGLEBONE GREEN AM3358BZCZ0 - 即時供貨$384.27查看詳情
BEAGLEBONE BLK REV C AM3358BZCZ102110420BEAGLEBONE BLK REV C AM3358BZCZ7569 - 即時供貨$441.51查看詳情
BEAGLEBONE BLK REV C AM3358BZCZBBB01-SC-505BEAGLEBONE BLK REV C AM3358BZCZ5448 - 即時供貨$626.09查看詳情
OSD335X-SM EVAL BRDOSD3358-SM-REDOSD335X-SM EVAL BRD7 - 即時供貨$2,873.85查看詳情
RASPBERRY PI PICO RP2040SC0915RASPBERRY PI PICO RP204012997 - 即時供貨See Page for Pricing查看詳情
NUCLEO-64 STM32F401RE EVAL BRDNUCLEO-F401RENUCLEO-64 STM32F401RE EVAL BRD1676 - 即時供貨$113.48查看詳情

關於作者

DigiKey Editor