欧美人与禽2O2O性论交,秋霞免费视频,国产美女视频免费观看网址,国产成人亚洲综合网色欲网

實(shí)用 – 分享幾個(gè)非常實(shí)用的開源項(xiàng)目(有哪些開源項(xiàng)目)

前言

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

protobuf

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

下載鏈接:

https://github.com/protocolbuffers/protobuf

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

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

protobuf-c在嵌入式Linux平臺(tái)的使用實(shí)例分享

手把手教你在STM32上使用nanopb

nanomsg

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

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

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

  • INPROC:?jiǎn)芜M(jìn)程內(nèi)通信;
  • IPC:?jiǎn)螜C(jī)內(nèi)多進(jìn)程的通信;
  • TCP:通過(guò)tcp協(xié)議的網(wǎng)絡(luò)通信;

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

下載鏈接:

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

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

實(shí)用 | 一個(gè)高性能通信庫(kù)的簡(jiǎn)單使用分享

mosquitto

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

下載鏈接:

https://github.com/eclipse/mosquitto

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

簡(jiǎn)單認(rèn)識(shí)認(rèn)識(shí)mqtt及mosquitto

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

cJSON

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

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

下載鏈接:

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

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

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

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

Unity

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

下載鏈接:

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

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

你寫的程序很健壯?不妨測(cè)一下?

CmBacktrace

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

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

下載鏈接:

https://github.com/armink/CmBacktrace

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

ARM Cortex-M 系列 MCU錯(cuò)誤代碼自動(dòng)追蹤庫(kù)的使用分享

GuiLite

GUILite是一個(gè)全平臺(tái)GUI庫(kù)。

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

超快: 高效渲染,單片機(jī)上也能流暢運(yùn)行。

兼容: 完美兼容第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… 甚至無(wú)操作系統(tǒng)的單片機(jī)
  • 支持的開發(fā)語(yǔ)言: C/C , Swift, Java, Javascript, C#, Golang…
  • 支持的第3方庫(kù):Qt, MFC, Winforms, CoCoa…

下載鏈接:

https://gitee.com/idea4good/GuiLite

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

分享一個(gè)基于全平臺(tái)GUI庫(kù)GUILite的簡(jiǎn)易萬(wàn)年歷

LittlevGL

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

特點(diǎn):

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

下載鏈接:

https://github.com/lvgl/lvgl

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

LittlevGL在STM32上的移植使用

基于vs2019的lvgl模擬器使用

LVGL | GUI-Guider上位機(jī)的使用分享

基于framebuffer的LittlevGL的移植使用

EasyLogger

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

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

下載鏈接:

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

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

bug解決不了?使用日志法

OpenBLT

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

下載鏈接:

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

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

OpenBLT Bootloader的使用分享

猜你喜歡:

長(zhǎng)文 | 花了兩天時(shí)間整理了STM32中的一些C語(yǔ)言知識(shí)點(diǎn)

GDB調(diào)試器原來(lái)那么簡(jiǎn)單


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

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號(hào)
公眾號(hào)
在線咨詢
分享本頁(yè)
返回頂部