精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

RT-Thread軟件包定義和使用

RTThread物聯網操作系統 ? 來源:未知 ? 作者:李倩 ? 2018-05-21 11:29 ? 次閱讀

1、軟件包的目的

軟件包在高級語言中非常常見,很多高級語言都有對應的軟件包平臺,比如 Python 的 PyPi,Ruby 的 Gems 等等。軟件包生態對于一門語言的選擇至關重要,因為這些軟件包具有很強的可重用性,模塊化程度很高,極大的方便應用開發者在最短時間內,打造出自己想要的軟件。

從工具的角度去看軟件包,我們很容易聯想到高級動物與低級動物的差別:無外乎就是使用和制造工具的熟練程度。這個道理對于我們程序員世界也同樣適用,比如高級的程序員和初級程序員的差距可以歸納為:開發工具和軟件包的熟練程度上,甚至在于是否會創造適用面廣的軟件包(圓輪子)或開發工具。

所以,想要成為高級程序員就快來使用、創造軟件包吧~

2、軟件包的定義

RT-Thread 軟件包:運行于 RT-Thread 物聯網操作系統平臺上,面向不同應用領域的通用軟件組件。軟件包由描述信息,源代碼或庫文件組成。

RT-Thread 同時提供了開放的軟件包平臺,這里存放了官方提供或開發者提供的軟件包。該平臺為開發者提供了眾多可重用軟件包的選擇,這也是 RT-Thread 生態的重要組成部分。

3、軟件包的使用

RT-Thread 為開發者提供的全面的使用教程,詳情如下:

入門文檔教程:位于 RT-Thread 官網,文檔->開發指南->env 工具用戶手冊

軟件包制作教程:位于 RT-Thread 官網,文檔->開發指南->package 開發指南

4、軟件包匯總

RT-Thread 已經支持的軟件包數量已經達到40+。所有軟件包已經按照軟件功能的角度,在 menuconfig 中進行了分類。每個分類下的軟件包都可以在menuconfig->RT-Thread online packages菜單里對應的子菜單下找到。

為了降低大家的上手門檻,每個軟件包在其項目首頁都有詳細的使用說明文檔及示例代碼。

4.1 物聯網相關的軟件包

物聯網(IoT) 是 RT-Thread 當前非常重視一個環節,與其相關的軟件包也非常龐大。你所開發的任何物聯網應用,幾乎都可以在這里找到對應的軟件包,目前包括如下:

Paho MQTT:基于 Eclipse 開源的 Paho MQTT,對于做了很多功能及性能優化,比如:增加了斷線自動重連功能,采用 pipe 模型,支持非阻塞 API,支持 TLS 加密傳輸等等;

WebClient:簡單易用的 HTTP 客戶端,支持 HTTP GET/POST 等常見請求功能,支持 HTTPS ,斷點續傳等功能;

mongoose:嵌入式 Web 服務器網絡庫,類似嵌入式世界里的 Nginx 。授權許可不夠友好,商業需要收費;

WebTerminal:網友 @armink 開發的,可以在瀏覽器訪問 Finsh/MSH Shell 的軟件包,甚至是手機端;

cJSON:超輕量級的 JSON 解析庫;

ljson:網友 @qiaoqidui 開發的 json 到 struct 的解析,輸出庫;

ezXML: XML 文件解析庫,目前還不支持解析 XML 數據;

nanopb:Protocol Buffers 格式數據解析庫,Protocol Buffers 格式比 JSON、XML 格式資源占用更少;

GAgent:接入機智云的軟件包;

Marvell WiFi:Marvell WiFi 驅動;

Wiced WiFi:Wiced 接口的 WiFi 驅動;

CoAP:移植 libcoap 的 CoAP 通信軟件包;

nopoll:移植的開源 WebSocket 通信軟件包;

netutils:實用的網絡調試小工具集合,包括:ping、TFTP、iperf、NetIO、NTP、Telnet 等;

OneNet:與中國移動 OneNet 云對接的軟件包;

4.2 安全相關的軟件包

安全一直是 RT-Thread 非常重視一個領域,尤其是在 RT-Thread 3.0 IoT OS 發布以后。接入網絡的設備對于網絡安全需求更是強烈,主要軟件包:

mbedtls:ARM 公司開源的、可移植的適合嵌入式領域的 SSL 庫,一些物聯網包中的一些加密通信都會依賴它;

libsodium:現代化的、可移植的、易于使用的加密庫,libsodium 的目標是提供構建高層密碼學工具所需的核心算法;

TinyCrypt:輕量級、可配置的加密庫,支持 MD5、base64、AES、SHA1、SHA256 算法;

4.3 腳本語言相關的軟件包

高級語言中的一些特性非常人性化,也很大程度上降低的開發門檻,但一直受限于嵌入式的資源。隨著 MCU 技術的逐步發展,資源也是越來越多了。未來,也許 C 將不在是 MCU 編程的主流選擇。目前 RT-Thread 支持的腳本語言如下:

JerryScript:超輕量級的 JavaScript 引擎;

MicroPython:針對嵌入式領域的 Python 語言實現軟件包。這塊也是 RT-Thread 最近一直在熱推的技術,只要是支持的 RT-Thread 并有一定資源(ROM: 190KB, RAM: 8KB)的開發板,都可以跑 MicroPython 在官網文檔中能找到 RTT 最新出爐的《MicroPython 開發手冊》。MicroPython 現在也被廣泛應用于產品原型驗證、教育、創客 DIY硬件測試等領域;

4.4 多媒體相關的軟件包

Openmv:基于 MicroPython 的開源的機器視覺庫;

mupdf:網友 @rtoslab 移植的輕量級 PDF, XPS, E-book解析/渲染庫。用 RTT DIY 一個 Kindle 不是夢;

4.5 工具類軟件包

這里主要是一些輔助開發、調試的實用工具。這些專業化的工具,使用以后能夠很大程度上提高大家的開發效率,節省我們程序員的寶貴開發時間。

CmBacktrace:網友 @armink 開源的 ARM Cortex-M 系列 MCU 的 HardFault 錯誤追蹤庫。目前已對 RTT 做了無縫對接,不用在修改任何移植代碼,下載即用;

EasyFlash:網友 @armink 開源的輕量級 Flash 閃存庫,非常適用于物聯網產品的參數存儲、日志記錄的場景;

EasyLogger:網友 @armink 開源的超輕量級日志庫。日志支持異步輸出模式,各級別日志格式(包括顏色)可獨立設置,并支持日志關鍵詞過濾功能。極大的方便的開發者的調試過程。

SystemView:可以實時查看、追蹤、分析 RT-Thread 各線程等資源使用情況,對于性能分析很有幫助。這里有很多是網友 @ArdaFu 的貢獻;

4.6 系統相關的軟件包

系統類的軟件包,更多的是與操作系統精密聯系在一起的軟件組件:

RTGUI:RT-Thread GUI 繪圖引擎。RT-Thread 的 Persimmon 柿餅 UI 組件,就依賴于該軟件包;

Persimmon UI:適合嵌入式的,支持手勢識別、滑動特效等類 Android 的 UI 庫;

lwext4:來自網友 @parai 移植的,適合嵌入式的 ext2/3/4 文件系統庫;

partition:一個簡單的適合塊設備的分區管理庫;

SQLite:一個高可靠的、適合嵌入式領域的SQL數據庫引擎。SQLite 也是 Android 內部集成的數據庫,有一定的應用領域;

RT-Thread Insight:簡寫是 RTI ,一個用于 RT-Thread 的探測工具,用來幫助分析系統的內部行為;

LittlevGL2RTT:網友 @liu2guang 移植的 LittlevGl GUI 庫,這是一個最近新出的嵌入式 GUI 庫;

4.7 外設庫和驅動類軟件包

STM32F4_HAL:STM32 F4 系列的 HAL 固件函數庫;

STM32F4_Drivers:STM32 F4 系列的 標準 固件函數庫;

4.8 其他的軟件包

Fastlz:一個可移植的、實時的壓縮庫;

miniLZO:一個類 LZO 壓縮庫的小型實時壓縮庫;

QuickLZ:一個號稱是世界上壓縮速度最快的壓縮庫;

MultiButton:由網友 @liu2guang 移植的簡單易用的,基于事件驅動型的按鍵驅動庫,可無限量擴展按鍵;

CanFestival:Canfestival (一個開源的 CANopen 協議棧)在 RT-Thread 系統上的移植,由網友 @gbcwbz 移植。提供了 CANopen 的一些示例,力圖做到開箱即用;

samples:RT-Thread 的示例代碼。這是一個降低新手入門學習門檻的軟件包,里面從基礎、內核、文件系統、網絡以及驅動這幾個方面,由淺入深,逐個引導大家去上手使用 RT-Thread 。不僅有詳細代碼及注釋,還有完善的文檔。把這個軟件包都學會,就算已經入 RT-Thread 的門了;

hello:這是一個軟件包的模板,如果想要制作軟件包,需要可以借鑒它。

5、軟件包的未來

從去年 9 月 RT-Thread 3.0 發布至今,RT-Thread 官方團隊和我們開發者在半年多的時間里積累下來 40 多個軟件包足以說明的 RT-Thread 軟件生態的強大。當然我們并沒有滿足于此,未來已經有更多的、更高質量的軟件包在我們開放計劃中了,例如:

AT 命令庫:同時支持 AT 服務器及客戶端,提供 CLI 命令行交互調試模式,自動檢測參數格式等等實用功能。已經進入發布倒計時;

低功耗框架:超低功耗設計、系統自動休眠,動態調頻調壓,應用不需要關心低功耗狀態;

軟件包的積累將會是一個量變到質變過程,能夠匯集到更多大家常用的軟件組件。真正做到,底層使用 RT-Thread 操作系統,上層使用搭積木方式開發應用。

當然,距離這個目標還是有一定的距離。RT-Thread 作為國內最為活躍嵌入式開源社區,深刻體會到了開放的心態所能產生的價值。期待更多的人來使用、反饋甚至是創建自己的軟件包。換個角度去想,也許今天你的分享所產生的積累,未來可能會是你解決明天困難的“鑰匙”。

最后,借用一句歌詞:如果人人都貢獻(包括反饋)軟件包,嵌入式將變成美好的明天

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

    關注

    2894

    文章

    43298

    瀏覽量

    366344
  • 軟件包
    +關注

    關注

    0

    文章

    97

    瀏覽量

    11533
  • RT-Thread
    +關注

    關注

    31

    文章

    1239

    瀏覽量

    39425

原文標題:RT-Thread 軟件包介紹

文章出處:【微信號:RTThread,微信公眾號:RTThread物聯網操作系統】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    RT-Thread記錄(十八、SHT21與24C02軟件包

    本文學習測試一下幾款典型設備的 RT-Thread I2C軟件包
    的頭像 發表于 07-08 11:07 ?3066次閱讀
    <b class='flag-5'>RT-Thread</b>記錄(十八、SHT21與24C02<b class='flag-5'>軟件包</b>)

    RT-Thread Studio添加軟件包報錯怎么解決?

    RT-Thread Studio添加軟件包報錯ImportError: No module named psutil
    發表于 03-01 08:41

    RT-Thread OneNET軟件包的功能特點是什么?

    有哪位大神能否介紹一下OneNET 平臺 。 RT-Thread OneNET 軟件包功能特點是什么?
    發表于 04-02 06:39

    介紹RT-Thread軟件包

    學習要點介紹 RT-Thread軟件包;簡介 nRF24L01 軟件包的使用,講解如何使用此軟件包將數據正確發送和接收;學習線程間的通信,IPC 的使用,即獲取溫度的線程 A 與無
    發表于 07-27 06:07

    使用menuconfig配置基于RT-Thread的NimBLE軟件包

    controller 功能的選項,當其沒有被定義時,NimBLE 軟件包中藍牙 controller 部分功能則會被屏蔽失效。還有一些宏可以用于定義運行參數,例如棧大小、線程優先級等,關于
    發表于 06-27 11:18

    使用RT-Thread Studio開發CH32V307實現按鍵軟件包使用

    使用上篇帖子創建的工程,使用RT-Thread Studio軟件包添加工具,快速實現MultiButton的使用在RT-Thread Studio工程內打開RT-Thread Sett
    發表于 04-15 21:16

    RT-Thread 軟件包介紹

    。所以,想要成為高級程序員就快來使用、創造軟件包吧~軟件包定義RT-Thread 軟件包:運行于 RT
    發表于 05-21 19:38 ?5444次閱讀

    RT-Thread社區上有哪些優秀的軟件包?

    SX12XX 軟件包是基于 semtech 官網 Firmware Drivers V2.1.0代碼庫的移植實現,目前只支持 SX1278 LoRa設備。該軟件包在原代碼庫功能的基礎上,對接 RT-Thread SPI 設備驅動
    的頭像 發表于 04-03 15:35 ?7513次閱讀

    RT-Thread v4.1.0中FAL介紹

    在 V4.1.0 中,將 fal 軟件包重新定義RT-Thread 內部組件。
    的頭像 發表于 04-26 13:34 ?3551次閱讀

    2022 RT-Thread全球技術大會:RT-Thread軟件包

    RT-Thread在2022年上半年新增幾十個軟件包:rtt-rust、LuatOS、gui-guider-demo。
    的頭像 發表于 05-27 14:12 ?966次閱讀
    2022 <b class='flag-5'>RT-Thread</b>全球技術大會:<b class='flag-5'>RT-Thread</b><b class='flag-5'>軟件包</b>

    RT-Thread全球技術大會:恩智浦新增100+軟件包

    RT-Thread全球技術大會:恩智浦新增100+軟件包,支持了很多有用的功能。 ? ? ? ? ? ? 審核編輯:彭靜
    的頭像 發表于 05-27 14:26 ?868次閱讀
    <b class='flag-5'>RT-Thread</b>全球技術大會:恩智浦新增100+<b class='flag-5'>軟件包</b>

    RT-Thread在線軟件包改為本地軟件包的方法

    RT-Thread軟件包,使用時需要手動通過 ENV 工具 更新到 本地的 packages 目錄,并且 packages 目錄默認不參與 Git 工程管理,軟件包多了,偶爾需要更改軟件包
    的頭像 發表于 08-11 15:02 ?1029次閱讀
    <b class='flag-5'>RT-Thread</b>在線<b class='flag-5'>軟件包</b>改為本地<b class='flag-5'>軟件包</b>的方法

    RT-Thread使用cjson軟件包發送64位長整型數據

    開發環境:野火的stm32f407,rt-thread studio版本是版本: 2.2.6,stm32f4的資源為0.2.2,rt-thread版本為4.1.1,cjson軟件包使
    的頭像 發表于 10-11 15:09 ?712次閱讀
    <b class='flag-5'>RT-Thread</b>使用cjson<b class='flag-5'>軟件包</b>發送64位長整型數據

    RT-Thread中Agile Modbus軟件包的使用方法

    開發環境:野火的stm32f407,rt-thread studio版本是版本: 2.2.6,stm32f4的資源為0.2.2,Agile Modbus軟件包版本為v1.1.2。工程使用上一篇
    的頭像 發表于 10-11 15:37 ?1864次閱讀
    <b class='flag-5'>RT-Thread</b>中Agile Modbus<b class='flag-5'>軟件包</b>的使用方法

    RT-Thread中mymqtt軟件包的使用方法

    在上一篇文章 RT-Thread中Lan8720和lwip協議棧的使用的工程基礎上添加mymqtt軟件包。 使能mqtt example和mqtt test,保存,等待下載更新軟件包。
    的頭像 發表于 10-13 10:44 ?807次閱讀
    <b class='flag-5'>RT-Thread</b>中mymqtt<b class='flag-5'>軟件包</b>的使用方法