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





