日本电影一区二区_日本va欧美va精品发布_日本黄h兄妹h动漫一区二区三区_日本欧美黄色

實用 – 分享幾個非常實用的開源項目(有哪些開源項目)

前言

本次分享幾個實用的、值得學(xué)習(xí)使用的嵌入式相關(guān)開源項目,下面列舉的這些基本上都在本公眾號分享過,詳細(xì)介紹及使用可查看往期筆記。

protobuf

Protocol Buffers,是Google公司開發(fā)的一種數(shù)據(jù)格式,類似于XML能夠?qū)⒔Y(jié)構(gòu)化數(shù)據(jù)序列化,可用于數(shù)據(jù)存儲、通信協(xié)議等方面。它不依賴于語言和平臺并且可擴(kuò)展性極強。

下載鏈接:

https://github.com/protocolbuffers/protobuf

相關(guān)使用筆記:

Protobuf:一種更小、更快、更高效的協(xié)議

protobuf-c在嵌入式Linux平臺的使用實例分享

手把手教你在STM32上使用nanopb

nanomsg

nanomsg是一個實現(xiàn)了幾種“可擴(kuò)展協(xié)議”的高性能通信庫;可擴(kuò)展協(xié)議的任務(wù)是定義多個應(yīng)用系統(tǒng)如何通信,從而組成一個大的分布式系統(tǒng)。當(dāng)前版本nanomsg支持以下協(xié)議:

  • 配對模式:簡單的一對一的通信;
  • 總線模式:簡單的多對多的通信;
  • 請求/回復(fù)模式:支持組建大規(guī)模的集群服務(wù)來處理用戶請求;
  • 扇入模式:支持從多個源聚合請求消息;
  • 扇出模式:支持分配到多個節(jié)點以支持負(fù)載均衡;
  • 調(diào)查模式:允許在一個單一的請求里檢查多個應(yīng)用的狀態(tài);

可擴(kuò)展協(xié)議是在網(wǎng)絡(luò)通信協(xié)議之上實現(xiàn)的,當(dāng)前版本nanomsg支持一下網(wǎng)絡(luò)協(xié)議:

  • INPROC:單進(jìn)程內(nèi)通信;
  • IPC:單機內(nèi)多進(jìn)程的通信;
  • TCP:通過tcp協(xié)議的網(wǎng)絡(luò)通信;

nanomsg用c實現(xiàn),不依賴系統(tǒng)特性,所以支持多個操作系統(tǒng)。

下載鏈接:

https://github.com/nanomsg/nanomsg/releases

相關(guān)使用筆記:

實用 | 一個高性能通信庫的簡單使用分享

mosquitto

mosquitto是一款開源的MQtT消息代理(服務(wù)器)軟件,提供輕量級的,支持可發(fā)布/可訂閱的的消息推送模式,使設(shè)備對設(shè)備之間的短消息通信變得簡單,比如現(xiàn)在應(yīng)用廣泛的低功耗傳感器,手機、嵌入式計算機、微型控制器等移動設(shè)備。

下載鏈接:

https://github.com/eclipse/mosquitto

相關(guān)使用筆記:

簡單認(rèn)識認(rèn)識mqtt及mosquitto

mqtt應(yīng)用于進(jìn)程間通信

cJSON

JSON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式。簡潔和清晰的層次結(jié)構(gòu)使得 JSON 成為理想的數(shù)據(jù)交換語言。 易于人閱讀和編寫,同時也易于機器解析和生成,并有效地提升網(wǎng)絡(luò)傳輸效率。

cJSON是C語言編寫的用于解析與組包JSON數(shù)據(jù)的一個庫。

下載鏈接:

https://github.com/DaveGamble/cJSON.git

相關(guān)使用筆記:

例說嵌入式實用知識之JSON數(shù)據(jù)

「socket應(yīng)用」基于C語言的TCP天氣客戶端的實現(xiàn)

Unity

Unity 是一個輕量級的測試框架,它使用 C 語言實現(xiàn), 代碼本身很小 。其代碼中大多數(shù)是宏定義,所以實際編譯后的代碼會更小, 比較適合在嵌入式測試應(yīng)用。

下載鏈接:

https://github.com/ThrowTheSwitch/Unity/releases

相關(guān)使用筆記:

你寫的程序很健壯?不妨測一下?

CmBacktrace

CmBacktrace (Cortex Microcontroller Backtrace)是一款針對 ARM Cortex-M 系列 MCU 的錯誤代碼自動追蹤、定位,錯誤原因自動分析的開源庫。主要特性如下:

  • 支持的錯誤包括:
    • 斷言(assert)
    • 故障(Hard Fault, Memory Management Fault, Bus Fault, Usage Fault, Debug Fault)
  • 故障原因 自動診斷 :可在故障發(fā)生時,自動分析出故障的原因,定位發(fā)生故障的代碼位置,而無需再手動分析繁雜的故障寄存器;
  • 適配 Cortex-M0/M3/M4/M7 MCU;
  • 支持 IAR、KEIL、GCC 編譯器;

下載鏈接:

https://github.com/armink/CmBacktrace

相關(guān)使用筆記:

ARM Cortex-M 系列 MCU錯誤代碼自動追蹤庫的使用分享

GuiLite

GUILite是一個全平臺GUI庫。

輕量: 4千行C 代碼,0依賴,單一頭文件庫(GuiLite.h)。

超快: 高效渲染,單片機上也能流暢運行。

兼容: 完美兼容第3方GUI框架(Qt/MFC/Winform/Cocoa/Web),現(xiàn)有Qt/MFC代碼可以繼續(xù)使用。

  • 支持的操作系統(tǒng):iOS/macOS/WathOS,Android,Linux(ARM/x86-64),Windows(包含VR),RTOS… 甚至無操作系統(tǒng)的單片機
  • 支持的開發(fā)語言: C/C , Swift, Java, Javascript, C#, Golang…
  • 支持的第3方庫:Qt, MFC, Winforms, CoCoa…

下載鏈接:

https://gitee.com/idea4good/GuiLite

相關(guān)使用筆記:

分享一個基于全平臺GUI庫GUILite的簡易萬年歷

LittlevGL

LittlevGL是一個免費的開源圖形庫,提供了創(chuàng)建嵌入式GUI所需的一切,具有易于使用的圖形元素、漂亮的視覺效果和低內(nèi)存占用。

特點:

  • 強大的構(gòu)建模組 按鈕、圖表、列表、滑塊、圖像等
  • 先進(jìn)的圖形 動畫、反鋸齒、半透明、平滑滾動
  • 多樣的輸入設(shè)備 觸摸板、鼠標(biāo)、鍵盤、編碼器等
  • 多顯示器支持 支持同時使用多個TFT或單色顯示器
  • 多語言支持 UTF-8格式文字編碼
  • 完全自定義 圖形元素
  • 硬件無關(guān) 可用于任意微控制器或顯示器
  • 可裁剪 用于小內(nèi)存(80 KB FLASH,12 KB RAM)操作
  • 操作系統(tǒng)、外部存儲以及GPU 支持但非必須
  • 單幀緩存 即可實現(xiàn)先進(jìn)的圖形效果
  • C語言編寫 以最大化兼容(C 兼容)
  • 模擬器 無需嵌入式硬件就可以在電腦上開始GUI設(shè)計
  • 教程、示例、主題 從而快速GUI設(shè)計
  • 文檔 在線及離線
  • 免費開源 基于MIT協(xié)議

下載鏈接:

https://github.com/lvgl/lvgl

相關(guān)使用筆記:

LittlevGL在STM32上的移植使用

基于vs2019的lvgl模擬器使用

LVGL | GUI-Guider上位機的使用分享

基于framebuffer的LittlevGL的移植使用

EasyLogger

EasyLogger是一款超輕量級(ROM<1.6K, RAM<0.3K)、高性能的C/C 日志庫,非常適合對資源敏感的軟件項目,例如:IoT產(chǎn)品、可穿戴設(shè)備、智能家居等等。

  • 支持用戶自定義輸出方式(例如:終端、文件、數(shù)據(jù)庫、串口、485、Flash…);
  • 日志內(nèi)容可包含級別、時間戳、線程信息、進(jìn)程信息等;
  • 日志輸出被設(shè)計為線程安全的方式,并支持異步輸出緩沖輸出模式;
  • 支持多種操作系統(tǒng)(RT-Thread、UCOS、Linux、Windows…),也支持裸機平臺;
  • 日志支持RAW格式,支持hexdump;
  • 支持按標(biāo)簽 、級別、關(guān)鍵詞進(jìn)行動態(tài)過濾;
  • 各級別日志支持不同顏色顯示;
  • 擴(kuò)展性強,支持以插件形式擴(kuò)展新功能。

下載鏈接:

https://gitee.com/Armink/EasyLogger?_from=gitee_search#easylogger

相關(guān)使用筆記:

bug解決不了?使用日志法

OpenBLT

OpenBLT是一種開源引導(dǎo)加載程序,可以在任何微控制器上運行并使用任何類型的通信接口來執(zhí)行軟件更新,而無需專用的調(diào)試器硬件。

下載鏈接:

https://sourceforge.net/projects/openblt/files/

相關(guān)使用筆記:

OpenBLT Bootloader的使用分享

猜你喜歡:

長文 | 花了兩天時間整理了STM32中的一些C語言知識點

GDB調(diào)試器原來那么簡單


1024G 嵌入式資源大放送!包括但不限于C/C 、單片機、Linux等。私信回復(fù)1024,即可免費獲??!

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號
公眾號
在線咨詢
分享本頁
返回頂部
山阴县| 克拉玛依市| 马关县| 突泉县| 蕉岭县| 宜丰县| 沁水县| 资源县| 遂宁市| 雷州市| 肇源县| 依安县| 广汉市| 新乡县| 苍梧县| 阳泉市| 资阳市| 渝北区| 博湖县| 株洲市| 陆川县| 广东省| 河南省| 腾冲县| 玉屏| 红河县| 溧阳市| 阿城市| 梅河口市| 莫力| 楚雄市| 信丰县| 崇礼县| 和田县| 崇州市| 承德县| 咸丰县| 阿拉善盟| 错那县| 宜宾市| 铁力市|