来源 | 嵌入式大杂烩 学习初期最难找的就是找学习资料了,本贴精心汇总了一些嵌入式相关资源,包括但不限于编程语言、单片机、开源项目、物联网、操作系统、Linux等资源,并且在不断地更新中,致力于打造全网最全的嵌入式资料库...EasyFlash:一款开源的轻量级嵌入式Flash存储器库 。 SFUD:一款开源的串行 SPI Flash 通用驱动库。 lw_oopc:轻量级的C语言面向对象编程框架。...letter-shell:一个功能强大的嵌入式shell。 pigweed:谷歌开源的嵌入式目标库(模块)集合。 lwrb:一个轻量级通用环缓冲区管理器库。...znfat :振南fat,国产嵌入式文件系统方案 。 libu:一个C语言写的多平台工具库。 LWIP:一个小型开源的TCP/IP协议栈 。 SQLite :一个开源的嵌入式关系数据库。...eepromfs:基于EEPROM的简易类文件的数据读写库 。 gear-lib :适用于IOT/嵌入式/网络服务开发的C库 。 mult_timer :一个Linux下的超级精简的多重定时器 。
库有2种方式: 下载Protobuf、Protobuf-C源码,集成到SoC SDK包中,修改makefile文件和相关配置,每次编译SDK固件时,也会编译和生成Protobuf所需的库和文件。...sudo ldconfig: 更新动态链接库缓存,使得系统能够找到新安装的库文件。.../configure --host=arm-linux-gnueabihf CC=/opt/arm/arm-ca9-linux-gnueabihf-6.5/usr/bin/arm-ca9-linux-gnueabihf-gcc.../configure --host=arm-linux-gnueabihf CC=/opt/arm/arm-ca9-linux-gnueabihf-6.5/usr/bin/arm-ca9-linux-gnueabihf-gcc...4、修改makefile文件 1、添加头文件路径: 2、添加动态链接库路径: 3、添加代码路径: 4、拷贝动态库到系统库文件下: 5、测试示例 #include #include "
在Linux系统中,一切皆文件是其核心设计理念之一,因此文件I/O操作在Linux系统中显得尤为重要。 1.1、文件描述符 文件描述符是操作系统中用于标识打开文件的整数值。...在Linux系统中,权限对于文件是一个重要的属性。我们可以使用touch命令在Linux系统中创建一个文件,此时文件会有默认的权限。如果需要修改文件权限,可以使用chmod命令进行修改。...在Linux系统中,文件描述符是有限资源,因此在不再需要使用文件时,应该及时关闭,以释放资源并避免资源泄漏。...2、标准I/O库 标准I/O库是C语言中用于进行输入和输出操作的标准库之一。...标准I/O库的主要特点包括: 缓冲机制:标准I/O库通常使用缓冲区来提高性能。
zlog 是一个高性能、线程安全、灵活、概念清晰的纯 C 日志函数库。 干货福利,第一时间送达!...可以在运行时动态刷新配置,只需要调用函数zlog_reload() 高性能,在我的笔记本上达到72'000条日志每秒, 大概是syslog(3)配合rsyslogd的200倍速度 用户可以自定义等级,无需改变库代码...如果一个程序默认只用一个分类输出,zlog提供了简单的调用包装dzlog MDC,一个log4j风格的键-值对的表,可以扩展用户自定义的字段 自诊断,可以在运行时输出zlog自己的日志和配置状态 不依赖其他库,
嵌入式Linux开发主要有四种方式:裸机开发、SDK开发、驱动开发和应用开发。 1、裸机开发 裸机开发通常指在没有操作系统支持的环境中直接在硬件上运行程序的开发。...在嵌入式Linux SDK开发中,开发者可以利用Linux系统的强大功能和灵活性,同时针对特定的硬件平台进行优化和调整,以满足嵌入式设备的特定需求。...3、驱动开发 驱动开发是指为嵌入式Linux系统编写设备驱动程序的过程。在这个过程中,开发者需要深入理解Linux内核架构,学会如何在Linux内核环境下编写、调试和维护设备驱动程序。...4、应用开发 Linux 应用开发是指在 Linux 操作系统上开发应用程序的过程。这包括创建、编写、调试和优化应用程序,以在 Linux 环境中运行。...Linux 提供了丰富的开发工具和库,使开发者能够构建各种类型的应用,从命令行工具到图形用户界面(GUI)应用,再到服务器端应用。
1、Linux库函数简介 Linux 提供了丰富的库函数,涵盖了各种领域,从文件操作到网络编程、图形界面、数学运算等。...这些库函数大多数都是标准的 C 库函数,同时也包括一些特定于 Linux 系统的库。 Linux库函数通常以动态库文件(.so)的形式提供,存放在根文件系统的 /lib 目录下。...Linux 内核提供了一系列系统调用供应用层使用,直接使用系统调用是一种方法。然而,有些系统调用使用起来不够方便,因此引入了 C 语言库。...2、标准C语言库函数 在Linux系统下,使用的C语言库主要是GNU C语言函数库,也被称为glibc。...它是Linux下的标准C语言函数库,为开发者提供了丰富的函数集,涵盖了输入输出、字符串处理、数学运算、文件操作等多个领域。
卡库的封装和调用,这是一个重头戏,完成了它,则就完整了所有的封装。至于网络通信,记录存储等,则可以 使用go本身的模块去做。后续做一版完整的go语言版B503应用。...截至目前,非接触式卡库的封装接近尾声,这部分花了不少精力。
简介 嵌入式Linux下串口编程与Linux系统下的编程没有什么区别,系统API都是一样的。...嵌入式设备中串口编程是很常用的,比如会对接一些传感器模块,这些模块大多是RS232或者RS485接口,对于软件层面上来说,RS232与RS48区别不大。
自己总结的Linux学习路线,还在这条路上继续奔跑着… 我将其总结为4个阶段吧: 入门 - 抛弃旧的思维习惯,熟练使用 Linux 命令行 从Window切换到Linux是一件很痛苦的事情,因为人类接受信息最快的方式就是图形化的信息...在这一阶段,推荐的书籍是《鸟哥的私房菜》、《linux shell脚本攻略》。 《鸟哥的私房菜》- 几乎每个linux程序的必经之路。...中级 - 通过系统调用或内核接口,学会自己进行程序设计 这一部分,我的建议是分两部分学习: linux程序设计,通过系统调用学会在linux环境下进行C/C++程序开发。...推荐的书籍有《Linux环境下C编程指南》、《UNIX 环境高级编程》。 linux驱动开发,学会基本的linux内核数据结构、接口等等,了解linux设备模型、设备树等,为理解内核打下坚实的基础。...linux内核源码解析,对每个子系统的代码架构深入研究,能对内核进行模块裁剪等。推荐的书籍有《Linux内核设计与实现》、《Linux内核源代码情景分析》和《深入理解Linux内核(第三版)》。
在线课堂:https://www.100ask.net/index(课程观看) 论 坛:http://bbs.100ask.net/(学术答疑) 开 发 ...
menuconfig 1.简介 menuconfig是一套图像化配置工具,由ncurses库提供软件支持。ncurses库提供了一系列的函数以便使用者调用它们去生成基于文本的用户界面。...注:linux内核中一个功能模块有三种编译方法:一种是编入、一种去去除、一种是模块化。...---- .config “.config文件中每一行都是一个配置项,从.config文件的规模可以看出linux内核的可配置项有两三千个。...所以linux内核是高度可配置的,而且linux内核的所有配置项很难全部搞明白。...因为linux内核的配置项太多太繁杂超出了人的大脑能够记忆和处理的数量级,因此linux内核不像uboot那样直接手工配置,而是发明了一个图形化的配置工具menuconfig。”
在 Linux 中,可以通过使用 lseek 和 write 系统调用来创建空洞文件。
这里推荐一款嵌入式的cpp框架与封装代码,小而轻量级,很不错的开源代码。交叉编译也很方便,模块化编译,可根据需要选择编译模块。...有丰富的开发组件 库名 中文名 说明 base 基础库 含日志打印、常用工具等 util 工具库 在业务代码中可能会用到的库 event 事件库 实现了IO,Timer,Signal三种事件驱动,是整个框架的心脏...run 执行器 是个可执行程序,可加载多个由参数-l xxx指定的动态库,并运行其中的Module mqtt MQTT客户端库 coroutine 协程库 众所周知,异步框架不方便处理顺序性业务,协程弥补之...含多层级状态机与行为树,解决异步模式下动行流程问题 适用环境 • Linux 系统; • C++11 以上。...代码开源仓连接 代码码云: https://gitee.com/cpp-master/cpp-tbox?_from=gitee_search
在Linux中,文件共享是指多个进程可以同时访问和操作同一个文件。...2、不同进程中分别使用 open 函数打开同一个文件 在Linux系统中,不同进程可以使用open函数打开同一个文件。
在Linux系统中,系统文件和目录按照一定的约定被组织和分配到不同的位置。这些文件和目录通常用于存储系统配置、程序文件、库文件等。.../dev:包含设备文件,Linux中一切皆文件,这里存放了与设备通信的特殊文件,如硬盘分区(/dev/sda1)、键盘(/dev/input/eventX)等。.../lib 和 /lib64:存放系统程序所需的共享库文件(动态链接库),一些核心库文件被放置在/lib目录下,64位系统可能有/lib64目录。...以下是导致SoC中文件系统目录结构与Ubuntu系统不同的一些可能原因: 定制化需求 SoC通常用于嵌入式设备,这些设备可能有自己的定制需求,例如嵌入式系统可能只需要支持特定的功能或服务,因此文件系统的结构可能会根据这些需求进行定制...资源限制 嵌入式系统通常具有资源限制,如有限的存储空间或内存。因此,文件系统的组织可能会更加简化,以节省资源和提高性能。
项目介绍 项目Github地址:https://github.com/alsa-project/alsa-lib ALSA(Advanced Linux Sound Architecture)是Linux...ALSA库是ALSA项目的一部分,它为开发者提供了一组API(应用程序编程接口),用于与音频设备进行通信。...以下是ALSA库的一些主要特点和功能: 1.音频设备访问:ALSA库允许应用程序以底层的方式访问音频硬件设备,如声卡、麦克风、扬声器等。...4.硬件控制和参数设置:ALSA库允许应用程序直接访问音频设备的硬件控制参数,如采样率、声道数、音量和音效等。开发者可以使用ALSA库来配置和控制音频设备以满足具体需求。...ALSA库是一个功能强大且广泛使用的音频处理工具,可用于创建各种音频应用程序,包括音乐播放器、音频编辑器、语音识别和合成系统等。
c的代码及动态库调用: 最终需要完成的封装有:串口驱动,扫码模块,语音播放库,UI显示库,卡库... 一、串口及扫码模块驱动: linux上的串口驱动,这个较简单,有标准的模块可用。...都用到了标准的linux串口。只不过二维码模块的供电需要先开启IO口 这个已经验证,串口和二维码的串口都是ok了。可以使用。...打开源码看看他里面有什么, github.com\qiniu\iconv, // // iconv.go // package iconv // #cgo darwin LDFLAGS: -liconv...感觉网上使用libconv库的转码方案,受限于环境,不太好用。没时间再去找原因了,于是换了一种库 最终的解决办法是:使用Mahonia,字符编解码库解决 UTF8转gbk编码问题。...https://github.com/axgle/mahonia Go中实现的字符集转换库。 Mahonia是Go中实现的字符集转换库。所有数据都被编译成可执行文件; 它不需要任何外部数据文件。
前言 嵌入式知识点复习一 嵌入式知识点复习二 –体系结构 嵌入式知识点复习三 –ARM-LINUX嵌入式开发环境 嵌入式知识点复习四 –arm-linux文件编程 嵌入式知识点复习五 –arm-linux...进程编程 嵌入式知识点复习六 –arm-linux网络编程 嵌入式知识点复习七 –linux字符型设备驱动初步 嵌入式知识点复习一 1、 嵌入式系统的一般组成结构 2、嵌入式硬件系统的结构 (1)嵌入式处理器...4、嵌入式操作系统 功能: 种类:嵌入式linux;WinCE;Vxworks;μC/OS-II;Android;IOS。...嵌入式知识点复习三 –ARM-LINUX嵌入式开发环境 一、交叉开发模式 1、组成结构 (1)宿主机:开发主机,一般由PC、发行版linux系统、开发工具(本地及交叉编译)(代码编辑器Vi,编译器GCC...④ 交叉编译器一般需根据宿主机软硬件环境,进行gcc、相关库、工具进行有针对性的定制。
Yocto :一个开源协作项目,提供模板、工具和方法,帮助您为嵌入式产品创建定制的基于 Linux 的系统,而不管硬件架构如何。...3、目标 SDK:这些是安装在目标平台上的软件的库和头文件的集合。...《Buildroot》 Buildroot是我学习的第一个构建嵌入式系统的方式。 Buildroot:通过交叉编译生成嵌入式 Linux 系统的简单、高效且易于使用的工具。...Kconfig 由 Linux 内核社区开发,广泛用于开源项目,使得许多开发人员都熟悉它。 由于禁用所有可选的构建时设置的设计目标,Buildroot 通常会使用开箱即用的配置生成尽可能最小的镜像。...个人感想: 我在使用buildroot之前,我在学习嵌入式Linux是没有通过什么构建方法的,只是裸露的uboot,kernel,根文件系统。每一个都要自己去编译,创建。
最近需要使用嵌入式数据库进行存储应用本地信息,本文章主要进行记录当前比较流行的嵌入式数据库相关的链接,嵌入式数据库往往是以lib的形式存在,常用于持久化存储软件的信息,嵌入式数据库往往和应用软件紧密集成...常用的嵌入式数据库:(主要索引几个我比较感兴趣的数据库) SQLite 嵌入式关系数据库:https://www.sqlite.org/index.html (关系数据库) Apache Derby: ...数据目录表:https://dbdb.io/ (包含很多数据库的介绍,很好的网站,可以理清众多数据库之间的关系) LevelDB:https://github.com/google/leveldb(嵌入式...K-V数据库) RocksDB :https://github.com/facebook/rocksdb/ (嵌入式K-V数据库,基于leveldb) https://rocksdb.org/ 技术选型为...RocksDB 用作嵌入式开发的KV数据库; TiKV:https://github.com/tikv/tikv https://tikv.org/ (国内的团队开发的,基于rocksdb但不是嵌入式的
领取专属 10元无门槛券
手把手带您无忧上云