freertos開源協(xié)議
傳統(tǒng)的嵌入式系統(tǒng)開發(fā)人員一般使用不聯(lián)網(wǎng)的設(shè)備在裸機(jī)上工作,但 IoT 卻要求系統(tǒng)連接到因特網(wǎng)。這就要求嵌入式系統(tǒng)開發(fā)人員了解如何連接其設(shè)備和使用較高級(jí)別的操作系統(tǒng),如實(shí)時(shí)操作系統(tǒng) (RTOS)。
有了 Amazon FreeRTOS,開發(fā)人員不需要從頭開始和進(jìn)行面面俱到地學(xué)習(xí),即可以將嵌入式系統(tǒng)安全地連接到因特網(wǎng)。該系統(tǒng)能夠讓開發(fā)人員以安全的方式將設(shè)備快速簡(jiǎn)單地連接到 Amazon Web Services (AWS),從而簡(jiǎn)化其開發(fā)工作。本文將討論并演示如何使用 Amazon FreeRTOS。
Amazon FreeRTOS 簡(jiǎn)介
Amazon FreeRTOS 是一種以開源 FreeRTOS 內(nèi)核為核心的 RTOS,配備有附加組件,以實(shí)現(xiàn)本地和云連接、安全保護(hù)以及無線 (OTA) 更新。FreeRTOS 內(nèi)核是已經(jīng)存在十年以上的知名 RTOS,能提供下列有用的功能:
基于優(yōu)先級(jí)的任務(wù)調(diào)度
信號(hào)
互斥器
消息隊(duì)列
另外,F(xiàn)reeRTOS 免費(fèi)提供,擁有 MIT 軟件許可。
讓 Amazon FreeRTOS 獨(dú)樹一幟并能吸引嵌入式軟件開發(fā)人員的原因是,它向 FreeRTOS 增加了連接庫(kù)和安全性。然后將所有功能結(jié)合到一個(gè)單一聚合框架中,使開發(fā)人員能夠以安全方式將其設(shè)備立刻連接到云服務(wù),開箱即用。
選擇 Amazon FreeRTOS 硬件
FreeRTOS 內(nèi)核本身依賴幾十個(gè)不同的微控制器架構(gòu)才能工作。Amazon FreeRTOS 現(xiàn)已通過 Amazon FreeRTOS Qualification Program 資格認(rèn)證程序,在四個(gè)不同的微控制器供應(yīng)商硬件平臺(tái)上進(jìn)行了充分測(cè)試和集成。具體包括:
Microchip 的Curiosity PIC32MZ EF 開發(fā)板
NXP Semiconductors 的 LPC54018 IoT 模塊(圖 1)
STMicroeletronics 的 STM32L4 Discovery 套件 IoT 節(jié)點(diǎn)
Texas Instruments 的 CC3220SF-LaunchXL
圖 1:NXP Semiconductors 的 LPC54018 IoT 模塊基于帶有 128 Mb Macronix MX25L12835 Quad-SPI 閃存的 Arm® Cortex®-M4 180 MHz 微控制器。一個(gè)可以快速啟動(dòng) Amazon FreeRTOS 的全集成 Wi-Fi 模塊。(圖片來源:NXP Semiconductors)
這些開發(fā)套件全部都進(jìn)行了充分的 Amazon FreeRTOS 測(cè)試,但開發(fā)人員也可以選擇自己偏好的芯片供應(yīng)商。例如,值得注意的是,Amazon FreeRTOS 還支持 OTA,但這種支持目前只在 Texas Instruments CC3220SF-LaunchXL(圖 2)的公測(cè)版中提供。此開發(fā)板基于 Arm® Cortex®-M4 微控制器,并且具有板載溫度傳感器、加速計(jì)、三個(gè) LED 指示燈和可編程用戶按鈕。該模塊提供了一個(gè)可以啟動(dòng) Amazon FreeRTOS 的全集成解決方案。
未來,OTA 毫無疑問也會(huì)支持其它開發(fā)板,但如果當(dāng)前該功能是關(guān)鍵設(shè)計(jì)特性,那就要從 Texas Instruments 解決方案開始著手。
圖 2:Texas Instruments 的 CC3220SF-LaunchXL 是一個(gè)可以啟動(dòng) Amazon FreeRTOS 的全集成解決方案。它還支持 Amazon FreeRTOS OTA 測(cè)試版演示示例。(圖片來源:Texas Instruments)
大多數(shù)開發(fā)套件是單模塊套件,屬于單板解決方案。不過,Microchip Curiosity 開發(fā)套件要求開發(fā)人員購(gòu)買其它模塊,如以太網(wǎng)、Wi-Fi 模塊和 USB 到 UART 轉(zhuǎn)換器。
該開發(fā)板基于 PIC32 微控制器,但為了獲得可與 Amazon FreeRTOS 一起使用的全功能開發(fā)板,開發(fā)人員還需要購(gòu)買其它組件。能夠獲得全功能 Amazon FreeRTOS 的最佳實(shí)例組件是 MikroElektronika 的 MIKROE 擴(kuò)展模塊:
MIKROE-2046 Wi-Fi 模塊
MIKROE USB 到 UART 子板
Microchip LAN8720 子板
之后,完成組裝的開發(fā)板將如圖 3 所示。此時(shí)開發(fā)人員即已準(zhǔn)備就緒,可以運(yùn)行 Amazon RTOS 示例應(yīng)用。
圖 3:Microchip Technology 的 PIC32MZEF Curiosity 開發(fā)套件提供模塊化設(shè)計(jì),便于開發(fā)人員通過其開發(fā)套件定制其應(yīng)用需要的組件。所示的圖片還包含 MIKROE Wi-Fi 以及 MIKROE USB 到 UART 子板。(圖片來源:Microchip Technology)
將 Amazon FreeRTOS 連接到云
在上一節(jié)討論的任何開發(fā)套件上啟動(dòng)并運(yùn)行 Amazon FreeRTOS 都比較簡(jiǎn)單。每個(gè)開發(fā)板都有演示,隨時(shí)可以按照有關(guān)演示的逐步說明來運(yùn)行演示。例如,Microchip 開發(fā)板的說明位于以下鏈接中。
首先,找到該開發(fā)套件的相應(yīng)入門指南。
接下來,安裝硬件。對(duì)于大多數(shù)開發(fā)套件,硬件是全包含的,但如果選擇了 Microchip 解決方案,則需要將每個(gè)模塊板添加到 Curiosity 板上,并且還需要連接一個(gè)外部編程工具,如 ICD4。
圖 4:已組裝并連接到 ICD4 編程工具的 PIC32MZEF Curiosity 開發(fā)套件。此設(shè)置使用有線以太網(wǎng)連接來運(yùn)行演示。(圖片來源:Amazon)
硬件安裝完成后,下一步便是安裝編譯 Amazon FreeRTOS 示例的開發(fā)環(huán)境。例如,使用 Microchip 的開發(fā)人員應(yīng)下載 MPLAB X 以及 XC32 編譯器。
要想能夠訪問 Amazon FreeRTOS 示例,注冊(cè) AWS 并訪問其控制臺(tái)。AWS 提供 12 個(gè)月的免費(fèi)試用套餐,以便開發(fā)人員可以訪問 AWS、Amazon FreeRTOS 和對(duì)開發(fā)連接設(shè)備有幫助的其它功能。單擊此處可以完成帳戶注冊(cè)。一旦帳戶創(chuàng)建完畢,即可訪問 Amazon FreeRTOS 頁(yè)面,該頁(yè)面會(huì)提供 Amazon FreeRTOS 的軟件配置列表。這些配置包括每個(gè)開發(fā)套件的源文件以及 Amazon FreeRTOS 仿真器。下載與開發(fā)套件匹配的預(yù)定義配置,并將其導(dǎo)入開發(fā)環(huán)境中。例如,相應(yīng)的 Curiosity 板應(yīng)使用針對(duì) Curiosity PIC32MZEF 的預(yù)定義“Connect to AWS IoT – Microchip” 配置。