痞子衡嵌入式半月刊: 第 44 期
这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。
本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。
上期回顾 :《痞子衡嵌入式半月刊: 第 43 期》
唠两句
明天是小雪,历史上的今天:1983年11月21日,中国第一台亿次巨型计算机 - “银河—Ⅰ”通过国家鉴定。
本期共收录 3个项目、3个工具,希望对你有帮助!
项目类
1、libjpeg - 广泛使用的 JPEG 编解码库
libjpeg是一个完全用C语言编写的库,包含了被广泛使用的JPEG解码、JPEG编码和其他的JPEG功能的实现。这个库由独立JPEG工作组维护。
2、FatFs - 面向小型嵌入式系统的 FAT 文件系统
FatFs 是日本的大牛工程师 ChaN 开发的面向小型嵌入式系统的一种通用的 FAT 文件系统,它完全是由 AISI C 语言编写并且完全独立于底层的 I/O 介质。因此它可以很容易地不加修改地移植到其他的处理器当中,如 8051、 PIC、 AVR、 SH、 Z80、 H8、 ARM 等。 FatFs 支持 FAT12、 FAT16、FAT32 等格式。
FatFs 程序结构如下图,用户应用程序需要由用户编写,想实现什么功能就编写什么的程序,一般我们只用到 f_mount()、 f_open()、f_write()、 f_read()就可以实现文件的读写操作。底层设备可以是 SD 卡/ATA/USB/NAND/RTC 等。
3、LittlevGL - 功能强大且易于使用的嵌入式 GUI 库
LittlevGL 是一个开源免费的GUI,常用于 MCU 级别的设备,支持触摸屏操作,移植简单方便,开发者一直在不断完善更新。
LittlevGL 自带了丰富的控件:窗口、按键、标签、list、图表等,还可以自定义控件;支持很多特效:透明、阴影、自动显示隐藏滚动条、界面切换动画、图标打开关闭动画、平滑的拖拽控件、分层显示、反锯齿、仅耗少量内存的字体等等。
工具类
1、SCons - 嵌入式项目里最常用的自动化构建工具
SCons 是一个Python写的自动化构建工具,从构建这个角度说,它跟GNU make是同一类的工具。它是一种改进,并跨平台的gnu make替代工具,其集成功能类似于autoconf/automake 。
SCons 的设计目标就是让开发人员更容易、更可靠和更快速的建造软件。
2、project_generator - 嵌入式IDE工程文件自动生成工具
project_generator 是一个嵌入式项目生成器,简称progen。我们可以编写一个特定语法的YAML文件用于管理我们的项目,并根据记录中定义的规则来生成 IDE 项目文件。
progen项目生成器目前支持生成以下工具(IDE、Makefile等)的项目:
uVision4 和 uVision5
IAR
生成文件 (GCC ARM)
生成文件 (ARMCC)
Cmake (GCC ARM)
CoIDE (GCC ARM)
Eclipse(带有 GCC ARM 的 Makefile)
Sublime(带有 GCC ARM 的 Makefile)
Visual Studio(带有 GCC ARM 的 Makefile)
3、IDA Pro - 大名鼎鼎的交互式反汇编工具
IDA Pro 是目前最棒的一个静态反编译软件,其已经成为事实上的分析敌意代码的标准,也是攻击研究领域的重要工具。
作为反汇编程序的 IDA Pro 能够创建其执行映射,以符号表示(汇编语言)显示处理器实际执行的二进制指令。IDA Pro 可以从机器可执行代码生成汇编语言源代码,并使这些复杂的代码更具人类可读性(这个可读具有相对性)。