实用 | 分享几个非常实用的开源项目

前言

本次分享几个实用的、值得学习使用的嵌入式相关开源项目,下面列举的这些基本上都在本公众号分享过,详细介绍及使用可查看往期笔记。

protobuf

Protocol Buffers,是Google公司开发的一种数据格式,类似于XML能够将结构化数据序列化,可用于数据存储、通信协议等方面。它不依赖于语言和平台并且可扩展性极强。

下载链接:

https://github.com/protocolbuffers/protobuf

相关使用笔记:

Protobuf:一种更小、更快、更高效的协议

protobuf-c在嵌入式Linux平台的使用实例分享

手把手教你在STM32上使用nanopb

nanomsg

nanomsg是一个实现了几种“可扩展协议”的高性能通信库;可扩展协议的任务是定义多个应用系统如何通信,从而组成一个大的分布式系统。当前版本nanomsg支持以下协议:

可扩展协议是在网络通信协议之上实现的,当前版本nanomsg支持一下网络协议:

nanomsg用c实现,不依赖系统特性,所以支持多个操作系统。

下载链接:

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

相关使用笔记:

实用 | 一个高性能通信库的简单使用分享

mosquitto

mosquitto是一款开源的MQTT消息代理(服务器)软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的低功耗传感器,手机、嵌入式计算机、微型控制器等移动设备。

下载链接:

https://github.com/eclipse/mosquitto

相关使用笔记:

简单认识认识mqtt及mosquitto

mqtt应用于进程间通信

cJSON

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

cJSON是C语言编写的用于解析与组包JSON数据的一个库。

下载链接:

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

相关使用笔记:

例说嵌入式实用知识之JSON数据

「socket应用」基于C语言的TCP天气客户端的实现

Unity

Unity 是一个轻量级的测试框架,它使用 C 语言实现, 代码本身很小 。其代码中大多数是宏定义,所以实际编译后的代码会更小, 比较适合在嵌入式测试应用

下载链接:

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

相关使用笔记:

你写的程序很健壮?不妨测一下?

CmBacktrace

CmBacktrace (Cortex Microcontroller Backtrace)是一款针对 ARM Cortex-M 系列 MCU 的错误代码自动追踪、定位,错误原因自动分析的开源库。主要特性如下:

下载链接:

https://github.com/armink/CmBacktrace

相关使用笔记:

ARM Cortex-M 系列 MCU错误代码自动追踪库的使用分享

GuiLite

GUILite是一个全平台GUI库。

轻量: 4千行C++代码,0依赖,单一头文件库(GuiLite.h)。

超快: 高效渲染,单片机上也能流畅运行。

兼容: 完美兼容第3方GUI框架(Qt/MFC/Winform/Cocoa/Web),现有Qt/MFC代码可以继续使用。

下载链接:

https://gitee.com/idea4good/GuiLite

相关使用笔记:

分享一个基于全平台GUI库GUILite的简易万年历

LittlevGL

LittlevGL是一个免费的开源图形库,提供了创建嵌入式GUI所需的一切,具有易于使用的图形元素、漂亮的视觉效果和低内存占用。

特点:

下载链接:

https://github.com/lvgl/lvgl

相关使用笔记:

LittlevGL在STM32上的移植使用

基于vs2019的lvgl模拟器使用

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

基于framebuffer的LittlevGL的移植使用

EasyLogger

EasyLogger是一款超轻量级(ROM<1.6K, RAM<0.3K)、高性能的C/C++日志库,非常适合对资源敏感的软件项目,例如:IoT产品、可穿戴设备、智能家居等等。

下载链接:

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

相关使用笔记:

bug解决不了?使用日志法

OpenBLT

OpenBLT是一种开源引导加载程序,可以在任何微控制器上运行并使用任何类型的通信接口来执行软件更新,而无需专用的调试器硬件。

下载链接:

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

相关使用笔记:

OpenBLT Bootloader的使用分享

猜你喜欢:

长文 | 花了两天时间整理了STM32中的一些C语言知识点

GDB调试器原来那么简单


1024G 嵌入式资源大放送!包括但不限于C/C++、单片机、Linux等。私信回复1024,即可免费获取!

展开阅读全文

页面更新:2024-03-14

标签:嵌入式   图形   进程   故障   操作系统   协议   语言   模式   代码   简单   通信   笔记   项目   设备   平台   科技   日志

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top