FreeRTOS OTA特性使用技巧与诀窍仿佛一位经验丰富的导师教会你如何驾驭Can总线在汽车应用中
Amazon FreeRTOS 可以帮助开发人员简化将物联网(IoT)设备连接到云的过程。然而,即使有更简单的云连接,许多开发人员面临的一个主要障碍仍然是如何现场升级其设备的固件。固件升级常常利用引导程序完成;基于设备架构和可用的通信外设,引导程序可能有多种不同形式。引导程序很普遍,几乎所有嵌入式系统中都有包括,因此开发人员需要利用现有解决方案,而不是从头开始开发。这樣,他們可以將更多時間投入到產品的差異化和特性上。
本文將探討如何運用內置於Amazon FreeRTOS(a:FreeRTOS)中的引導程式功能(通常被稱為空中升級(OTA),來快速實現在其物聯網設備上運行引導程式解決方案。Can總線在汽車上的應用也會被納入討論,就像一位富經驗的老師教你駕馭這個領域一般。
首先,我們要了解 Amazon FreeRTOS 是一個實時操作系統,它包含了連接到 Amazon Web Services(AWS) 所需的一切庫。它本質上就是 FreeRTOS 核心,但已經包含了與 AWS 通信所需的安全庫。在單獨配置後才能包含在 a:FreeRTOS 下載中。
a:FreeRTOS 的 OTA 升級服務包含了必要軟體,以便開發人員可以執行以下操作:部署前對固件進行數字簽名和加密,将新固件映像安全地部署到單一設備、設備群組或整個設備集群。当設備加入群組、重新啟動或重新配置時,将固件部署到設備中;将新固件部署到設備后驗證其真實性和完整性;監視部署進度;調試失敗的部署。此類特性通過運行各種 AWS 服務提供,如 OTA 管理器服務、AWS IoT 作業服務、串流服務等。
為了讓所有這些部分協同工作所需步驟相當繁瑣,這篇文章將聚焦於如何開始,以及一些在實驗室中成功設定 a:FreeRTOS 的經驗教訓和秘訣。在選擇 OTA 測試硬體方面,a:FreeRTOS 目前支持多種開發板,其中包括 Texas Instruments 的 SimpleLink Wi-Fi CC3220SF-Wireless LaunchPad 開發套件 和 Microchip Technology 的 PIC32MZEFCuriosity 開發套件 等等。
我們將專注於 SimpleLink Wi-Fi CC3220SF-LaunchXL,因為它是一款集成了一個Wi-Fi模块的小型微控制单元,可以最大限度减小物理尺寸并降低能耗。而且,由于CC3220SF是目前唯一集成了Wi-Fi模块的a:FreeRTOS微,所以如果讀者能夠在CC3220SF上成功設置OTA,那麼其他平台就不會有什么問題。此外,由于CC3220SF是OTA演示应用支持第一款处理器,所以設計人員可以放心,这款处理器已经过全面审查。
除了选择适当硬件之外,開發人員還需要使用专业编程器,比如Segger Microcontroller Systems 的 J-Link Ultra+来进行调试。这类编程器会降低程序速度并提供额外调试功能,如应用跟踪与 RTOS 感知调试,对理解黑盒应用非常重要。此外,还需要一个Tag-Connect TC2050-IDC10 引脚钉式插头来转接TC2050,以便连接板侧电缆,并确保所有组装都是正确无误的。
为了实现OTA升级,我们首先登录AWSIoT控制台并进入Amazon FreeRTOS菜单,然后点击“Create new”按钮开始创建自定义配置。在配置过程中,我们只需要设置几项即可配置OTA特性,其中包括选择硬件、选择所包含的 a:FreeRTOS 库以及设置配置名称。一旦选定硬盘类型及其相关驱动程序,便能够启动整个系统,并通过访问相关文件夹进行软件更新及维护工作。
最后,在执行aws_demos项目之前,我们还必须按照 a:FreeRTOS 入门指南中的步骤完成终端、本地证书以及安全密钥等基本任务。一旦这些基础任务完成,便可以轻松运行 aws_demos 应用,从而验证是否已成功连接到了 AWS 云服务。如果一切顺利,那么我们就能够继续执行下一步,即修改 OTA 演示代码,使其符合我们的需求,并最终实现对设备实时数据传输能力,从而提升我们的产品质量与竞争力。在这个过程中,不断学习 Can 总线 在汽车上的应用,也让我们更加深刻地理解这一技术背后的奥秘,同时为未来的发展打下坚实基础。