面经真题 | 嵌入式相关开源项目、库、资料
嵌入式相关开源项目、库、资料------持续更新中
学习初期最难找的就是找学习资料了,本贴精心汇总了一些嵌入式相关资源,包括但不限于编程语言、单片机、开源项目、物联网、操作系统、Linux、计算机等资源,并且在不断地更新中,致力于打造全网最全的嵌入式资料库。有好的嵌入式相关资源的朋友欢迎做贡献,利人利己。
收录公开资料仅为了方便大家进行学习。如果你认为本仓库的一些文件侵犯了您的权益,请 向我反馈 。我将会从仓库中彻底清除这些文件。
以下为最新资料汇总:
1、OS
鸿蒙OS: 一款面向全场景的开源分布式操作系统。
RT-Thread:一款小而美的物联网操作系统。
TencentOS tiny:一款面向物联网领域开发的实时操作系统。
freertos: 一个轻量级的操作系统。
µC/OS :一个功能齐全的嵌入式操作系统。
Azure RTOS:Azure RTOS 是一个嵌入式开发套件。
eventos-nano:一个超轻量级嵌入式开发框架,事件驱动,占用资源小,可运用于各型单片机。
zephyr:Zephyr 是 Linux 基金会推出的一个适用于物联网的小型可伸缩的实时操作系统。
mbed-os :ARM自己打造、主打IoT的一整套软件解决方案 。
BabyOS: 专为MCU项目开发提速的代码框架 。
LuatOS : LuatOS是运行在嵌入式硬件的实时操作系统,只需要少量内存的flash空间就能运行,用户编写lua代码就可完成各种功能。
Contiki-OS: 一个小型的,开源的,极易移植的多任务操作系统。
DJYOS: 都江堰操作系统。
klite : 简洁易用的嵌入式操作系统内核。
lmosem : 一个完全从第一行引导代码开始编写,基于ARM平台,支持多进程、多CPU、内存管理、文件与设备管理的全32位操作系统内核。
freenos:FreeNOS微内核操作系统。
ros:机器人操作系统。
openwrt:openwrt文档。
cola_os:300行代码实现多任务管理的OS。
MS-RTOS: Micro Safe RTOS 。
更多资源敬请期待......
2、实用库 / 框架
ametal或ametal:AMetal是芯片级的裸机软件包,定义了跨平台的通用接口。
Melon:一个用于简化开发的 C 框架库。
zlog:一个高可靠性、高性能、纯C日志函数库。
EasyLogger:一款超轻量级、高性能的 C/C++ 日志库。
Smartlink:Linux上实现的smartconfig。
airkissOpen :腾讯airkiss协议解析库 。
CodeBrick:一种无OS的MCU实用软件管理系统。
RIL:一款专门为嵌入式平台开发的无线通信模块(GSM/GPRS/CatM1/NB)管理框架。
cJSON:一个基于C语言的轻量级的JSON解析库。
jsmn:一个小巧的基于C语言的JSON解析库。
inih: C 语言编写的 INI 文件解析器。
MultiTimer : 一个软件定时器扩展模块。
MultiButton: 一个小巧简单易用的事件驱动型按键驱动模块。
SmartTimer : 一个轻量级的基于STM32的定时器调度器 。
FlexibleButton:一个基于标准 C 语言的小巧灵活的按键处理库。
CmBacktrace : 一款针对 ARM Cortex-M 系列 MCU 的错误代码自动追踪库。
EasyLogger:一款超轻量级、高性能的 C/C++ 日志库。
limlog :一款超轻量级、高性能的 C/C++ 日志库。
NanoLog :一款超轻量级、高性能的 C/C++ 日志库。
EasyFlash:一款开源的轻量级嵌入式Flash存储器库 。
SFUD:一款开源的串行 SPI Flash 通用驱动库。
lw_oopc:轻量级的C语言面向对象编程框架。
PLOOC:受保护的低开销面向对象编程。
cmd-parser:一个非常简单好用的命令解析器。
mqttclient:一个省资源、高稳定的MQTT客户端。
NorthFrame :一个单片机极简图形化状态机框架 。
letter-shell:一个功能强大的嵌入式shell。
nr_micro_shell : shell for MCU,单片机命令行交互。
pigweed:谷歌开源的嵌入式目标库(模块)集合。
lwrb:一个轻量级通用环缓冲区管理器库。
cQueue :使用ANSI C 编写的消息队列功能函数。
Unity:一个轻量级的、适合嵌入式的测试框架。
Embedded Unit: 是个纯标准c构建的单元测试框架。
CuTest :一款微小的C语言单元测试框, 全部代码加起来不到一千行。
cmockery: 谷歌C单元测试框架。
googletest:谷歌C++测试框架。
znfat :振南fat,国产嵌入式文件系统方案 。
libu:一个C语言写的多平台工具库。
tbox:一个用c语言实现的跨平台开发库。
toolkit:ToolKit是一套应用于嵌入式系统的通用工具包。
LWIP: 一个小型开源的TCP/IP协议栈 。
SQLite :一个开源的嵌入式关系数据库。
OpenBLT:一种开源引导加载程序。
Linux Lab : Linux 内核实验室,基于 Docker/Qemu 的极速 Linux 内核学习、开发和测试环境。
airkissOpen :腾讯airkiss协议解析库 。
mbedtls :一个开源、便携,易于使用,可读的和灵活的SSL库。
mosquitto或mosquitto(下载速度快):一个开源的MQTT代理。
inih:C 语言编写的 INI 文件解析器。
QP:QP实时嵌入式框架。
MS-RTOS:Micro Safe RTOS 。
protobuf-c:protobuf-c。
eepromfs: 基于EEPROM的简易类文件的数据读写库 。
gear-lib : 适用于IOT/嵌入式/网络服务开发的C库 。
mult_timer : 一个Linux下的超级精简的多重定时器 。
EFSM : 是一个基于事件驱动的有限状态机 。
EasyX:一个免费的图形库。
tbox:一个用c语言实现的跨平台开发库。
sys/queue.h:用宏实现的常用数据结构。
nanomsg:一个实现了几种“可扩展协议”的高性能通信库。
thttpd:一个简单,小型,可移植,快速且安全的HTTP服务器。
boa:一个小巧高效的web服务器。
FreeTpye :字体渲染库。
qpc :一个开源的状态机实现。
Quantum Leaps :状态机组织。
ZBar :二维码扫描工具和开发包.
FFmpeg :多媒体处理工具库.
libnabo :是一个快速为低维度空间提供K最近邻居算法库。
DSAL:是一个经典的数据结构和算法库。
FLINT :是一个数论库,用C语言编写,它包括一个非常快的多项式算法库。
LibMMSeg:中文分词软件包 。
CDS:CDS是一个 C++ 模板库,包含 lock-free and fine-grained 算法。
hashlib++:是一个简单易用的用来生成 checksum 算法。
libcstl:C语言编写的一个通用的数据结构和常用的算法库。
Botan:Botan 是一个 C++ 的加密算法库。
CGAL:计算几何算法库。
MyMediaLite:是一个轻量级的多用途的推荐系统的算法库。
cblas:提供c接口的blas库,源码通过f2c转换为C语言。f2c官网。
clapack:提供c接口的lapack库,源码通过f2c转换为C语言。
scalapack:提供并行运算的lapack库,源码用fortran编写。
armadillo:线性代数运算库,源码用c++编写。
openblas:针对intel cpu优化的blas库。
mkl:扩展的且针对intel cpu优化的库,包括快速傅立叶变换(FFT)、矢量数学库。
eigen:C++写的线性代数运算库。
libjpeg:用libjpeg库在LCD上显示图片。
x264:x264开源的解码编码库。
ws2812:ws2812驱动库。
更多资源敬请期待......
3、GUI相关
GuiLite:大道至简 - 5千行/仅头文件/全平台GUI库 。
yoxios: 基于Linux开发的轻量级物联网系统和硬件平台。
ToughGFX: 一个C++编写的GUI软件框架 。
emwin:一个老牌GUI库。
littlevGL : 一个免费的开源图形库。
野牛 LittlevGL demo:基于野牛开发板的 LittlevGL demo 程序 。
MonoGUI :一个黑白图形用户接口系统 。
MiniGUI: 一个快速、稳定、跨操作系统的GUI。
QT:跨平台的应用程序和用户界面框架。
QT_Creator:QT_Creator下载链接。
Gtk: 一个用于创造图形用户接口的图形库。
AWTK:是 ZLG 倾心打造的一套基于 C 语言开发的 GUI 框架 。
玲珑GUI:玲珑GUI教程页。
std :一个嵌入式小型图形库。
CUGUI:为单片机写的GUI ,支持字体,按键,图片,滑动条。
更多资源敬请期待......
4、项目 / 软硬结合
ElectronBot:一个桌面级小机器人。
Planck-Pi:超迷你Linux开发板。
qt_2019_ncov:基于Qt/C++实现的新冠肺炎疫情监控平台。
H7-TOOL_STM32H7_App :安富莱H7-TOOL 多功能开发工具。
the-little-bili-tv:基于esp32+lvgl8.0的哔哩哔哩小电视。
DAPLink/CMSIS DAP:一个调试器, 集成下载、调试和USB虚拟串口。
Crazepony:Crazepony开源四轴飞行器。
MiniQ :一个迷你四轴飞行器。
LiPow-Firmware:基于STM32G0采用USB type-C供电的开源锂电池充电器。
Avem: 一个轻量级无人机飞控。
esp8266-lattice-clock:Esp8266多功能点阵时钟。
SoftWareSerial:一个STM32 IO口模拟实现软件串口程序。
串口ISP程序:一个stm32串口ISP程序。
DSO_Nano :一个手持示波器。
DSView: 一个跨平台的逻辑分析仪。
MCU-Development: 基于51、430、STM32F10X、STM32F407X、T4MC123G平台的各常见硬件模块demo。
Arduino : 开源电子原型平台。
EWAHBoolArray: bitmap算法。
mcush:MCU shell。
DoST: Linux 下开发 STM32 。
Avem : 这是一个轻量级无人机飞控项目。
更多资源敬请期待......
5、资源 / 工具 / 网站 / 论坛
100ask download:百文网资料下载中心。
armfly:安富莱/硬汉嵌入式论坛。
fire download:野火资料下载中心。
openedv download:正点原子资料下载中心。
野火:野火电子论坛。
正点:正点原子论坛。
小熊猫C++ IDE:跨平台、轻量易用的开源C/C++集成开发环境。
ST:ST中文社区。
讯为开发社区:北京讯为ARM开发社区。
讯为官网:讯为官网。
NXP社区:恩智浦论坛。
Linux:Linux内核官网。
Linux源码:可在线阅读Linux内核源码。
Buildroot:buildroot源码。
Debian:Debian官网。
Ubuntu:Ubuntu官网。
BOA官网:一个单任务 web 服务器 ,可以移植到嵌入式平台。
荔枝派:荔枝派指南。
清华镜像站:清华大学开源软件镜像站。
中科大镜像站:中国科技大学镜像站。
u-boot:u-boot源码下载页面。
bear-pi:小熊派demo。
宅学部落:一个Linux、编程语言、内核、驱动开发学习网站。
单片机教程网:单片机基础、设计实例、论坛。
GNU:GNU官网。
ChinaUnix:Linux/Unix相关。
PyQt5:PyQt5教程。
qter:QT开源社区。
git手册:git学习手册。
开源项目风格:Google 开源项目风格指南 (中文版)。
电子世家:一个电子类导航网站。
21ic:21IC中国电子网。
芯路恒电子:小梅哥博客、FPGA论坛。
嵌入式开发者社区:创龙论坛。
micropython:micropython中文网。
泰晓科技:Linux相关。
电堂科技:STM32相关。
源代码使用示例聚合器: 从超过100万个开源项目搜索CPP代码示例。
KST-51 :《手把手教你学51单片机》 。
原子哥:专注电子技术教学。。
digoboy:地瓜派视频网。
c.biancheng:C语言中文网。
open-c-book :《C语言编程透视》。
PyQt5:PyQt5在线教程。
open-shell-book:《Shell 编程范例》 。
software_unit_test: 《软件单元测试入门与实践》。
kerneltravel:Linux内核之旅。
蜗窝科技:慢下来,享受技术。
bookstack:书栈网。
wireshark:抓包工具下载链接。
MobaXterm:一个好用的终端软件。
Stduino: 一款面向32位处理器快速入门学习的集成开发平台 。
easyicon:一个免费图标下载网站。
codingdict:一个类似于菜鸟教程的编程类教程网站。
codingdict开源软件:codingdict网站收集的各类开源软件集合。
C经典示例:一些C语言的实例。
xmake:轻量级跨平台C/C++构建工具。
spacevim:一个模块化的 Vim IDE。
vofa+:一个插件驱动的高自由度上位机。
联合开发网:356万个编程源码资料
觅思文档:私有云笔记、云文档和知识库系统。
aardio:易用性极强的动态语言。
OneNET SDK:OneNET SDK仓库。
ros手册:ros的官方手册。
gnu的开源软件:gnu的开源软件
soft-and-hard:这是一个以物联网项目为主方向分享web开发教程。
FireflyTeam :一个开放源代码的仓库。
python脚本:一些好用的python脚本。
C++ libraries:A list of open source C++ libraries.
Lindenis:An open source software for Lindenis SBC。
fast-line-following:一个快速寻线机器人的算法。
深度神经网络可视化工具:深度神经网络可视化工具。
Awesome-Embedded :汇聚了各种嵌入式相关的资源。
FreeModbus : FreeModbus是一款开源的Modbus协议栈,但是只有从机开源。
更多资源敬请期待......
6、一些芯片原厂代码仓库
STMicroelectronics:意法半导体(ST)。
TI:德州仪器(TI)。
NXP:恩智浦(NXP)。
Freescale:飞思卡尔半导体(Freescale)。
hisilicon:海思。
rockchip:瑞芯微。
Samsung:三星。
Infineon:英飞凌。
analogdevicesinc:亚德诺半导体(ADI)。
MicrochipTech:微芯半导体(Microchip )。
NordicSemiconductor:北欧集成电路(Nordic)。
cypress-io:赛普拉斯半导体(Cypress)。
GD32:易兆创新(GD)。
GD32网盘::易兆创新(GD)网盘资料。
更多资源敬请期待......
7、物联网、智能家居
Domoticz :一个开源的智能家居系统 。
Kaa IoT Platform:功能丰富的开放和高效的物联网云平台。
RT-Thread IoT SDK :基于RT-Thread IOT开发板的各类例程。
从零打造物联网:一份适合嵌入式开发人员学习的web开发教程。
更多资源敬请期待......
8、机器人相关 / 定位 / 视觉
RoboCar:机器人自动寻线、避障、建图、导航、遥控版本/车载电脑版本路面分析,及交通路况识别的车辆辅助驾驶系统
ROS教程:机器人操作系统
slam:思岚科技。
9、推荐博客 / 博文
嵌入式大杂烩周记 | 第 6 期 FlexibleButton
下面计算机资源为网友 dianjixz
贡献,感谢这位朋友。
计算机相关资源------持续更新中
1、 标准库
C++标准库,包括了STL容器,算法和函数等。
C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分。
Standard Template Library:标准模板库
C POSIX library : POSIX系统的C标准库规范
ISO C++ Standards Committee :C++标准委员会
2、 框架
C++通用框架和库
Apache C++ Standard Library:是一系列算法,容器,迭代器和其他基本组件的集合
ASL :Adobe源代码库提供了同行的评审和可移植的C++源代码库。
Boost :大量通用C++库的集合。
BDE :来自于彭博资讯实验室的开发环境。
Cinder:提供专业品质创造性编码的开源开发社区。
Cxxomfort:轻量级的,只包含头文件的库,将C++ 11的一些新特性移植到C++03中。
Dlib:使用契约式编程和现代C++科技设计的通用的跨平台的C++库。
EASTL :EA-STL公共部分
ffead-cpp :企业应用程序开发框架
Folly:由Facebook开发和使用的开源C++库
JUCE :包罗万象的C++类库,用于开发跨平台软件
libPhenom:用于构建高性能和高度可扩展性系统的事件框架。
LibSourcey :用于实时的视频流和高性能网络应用程序的C++11 evented IO
LibU : C语言写的多平台工具库
Loki :C++库的设计,包括常见的设计模式和习语的实现。
MiLi :只含头文件的小型C++库
openFrameworks :开发C++工具包,用于创意性编码。
Qt :跨平台的应用程序和用户界面框架
Reason :跨平台的框架,使开发者能够更容易地使用Java,.Net和Python,同时也满足了他们对C++性能和优势的需求。
ROOT :具备所有功能的一系列面向对象的框架,能够非常高效地处理和分析大量的数据,为欧洲原子能研究机构所用。
STLport:是STL具有代表性的版本
STXXL:用于额外的大型数据集的标准模板库。
Ultimate++ :C++跨平台快速应用程序开发框架
Windows Template Library:用于开发Windows应用程序和UI组件的C++库
Yomm11 :C++11的开放multi-methods.
3、 人工智能
btsk :游戏行为树启动器工具
Evolving Objects:基于模板的,ANSI C++演化计算库,能够帮助你非常快速地编写出自己的随机优化算法。
Neu:C++11框架,编程语言集,用于创建人工智能应用程序的多用途软件系统。
4、 异步事件循环
Boost.Asio:用于网络和底层I/O编程的跨平台的C++库。
libev :功能齐全,高性能的时间循环,轻微地仿效libevent,但是不再像libevent一样有局限性,也修复了它的一些bug。
libevent :事件通知库
libuv :跨平台异步I/O。
5、音频
音频,声音,音乐,数字化音乐库
FMOD :易于使用的跨平台的音频引擎和音频内容的游戏创作工具。
Maximilian :C++音频和音乐数字信号处理库
OpenAL :开源音频库—跨平台的音频API
Opus:一个完全开放的,免版税的,高度通用的音频编解码器
Speex:免费编解码器,为Opus所废弃
Tonic: C++易用和高效的音频合成
Vorbis: Ogg Vorbis是一种完全开放的,非专有的,免版税的通用压缩音频格式。
6、 生态学
生物信息,基因组学和生物技术
libsequence:用于表示和分析群体遗传学数据的C++库。
SeqAn:专注于生物数据序列分析的算法和数据结构。
Vcflib :用于解析和处理VCF文件的C++库
Wham:直接把联想测试应用到BAM文件的基因结构变异。
7、 压缩
压缩和归档库
bzip2:一个完全免费,免费专利和高质量的数据压缩
doboz:能够快速解压缩的压缩库
PhysicsFS:对各种归档提供抽象访问的库,主要用于视频游戏,设计灵感部分来自于Quake3的文件子系统。
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
让实战与真题助你offer满天飞!!! 每周更新!!! 励志做最全ARM/Linux嵌入式面试必考必会的题库。 励志讲清每一个知识点,找到每个问题最好的答案。 让你学懂,掌握,融会贯通。 因为技术知识工作中也会用到,所以踏实学习哦!!!