《痞子衡嵌入式半月刊》 第 112 期

news/2024/12/2 23:33:44/文章来源:https://www.cnblogs.com/henjay724/p/18583038

痞子衡嵌入式半月刊: 第 112 期

这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。

本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。

上期回顾 :《痞子衡嵌入式半月刊: 第 111 期》

唠两句

Linus Torvalds 是非常厉害的程序员,他有两个名扬天下的作品:Linux 和 Git。但如果单论技术能力,有一个人也许比 Linus 更强,他就是法国程序员 Fabrice Bellard。本期项目均出自 Fabrice Bellard,他的博客 bellard.org 有很多很棒的开源项目。

本期共 4 个项目,希望对你有帮助!

项目类

1、TinyGL - 一个轻量级的OpenGL库实现

TinyGL 是 OpenGL 的一个小型实现,适用于嵌入式系统。TinyGL 的核心是将复杂的 OpenGL 接口精简为更易于理解和操作的形式。它并不旨在替换完整的 OpenGL 库,而是一个教学工具和实验平台,特别是在嵌入式系统或者对性能要求不那么严苛的场景中。

  • 项目地址:https://bellard.org/TinyGL/

TinyGL 基于原始的 OpenGL 规范,但进行了大幅简化。它包含了基本的几何绘制、颜色设定、视口管理和变换等功能。主要特性包括:

基本绘图:支持点、线和多边形的绘制。
颜色管理:可以设置颜色模式,包括单色和RGB颜色。
视口和投影:可以调整视口大小和定义投影矩阵。
变换操作:支持平移、旋转和缩放等基本几何变换。

2、FFmpeg - 一个完整的跨平台音视频处理框架

FFmpeg 是广泛使用的多媒体解决方案,既是一款音视频编解码工具,同时也是一组音视频编解码开发套件,作为编解码开发套件,它为开发者提供了丰富的音视频处理的调用接口。其包括了目前领先的音/视频编码库 libavcodec。FFmpeg 提供了多种媒体格式的封装和解封装,包括多种音视频编码,多种协议的流媒体,多种色彩格式转换,多种采样率转换,多种码率转换等。FFmpeg 发展至今,已经被许多开源项目使用。

  • 项目地址:https://ffmpeg.org//

3、TCC - 一个体积小巧但功能完整的C语言编译器

Tiny C Compiler(TCC)是一个开源的 C 语言编译器项目,旨在创建一个体积小巧但功能完整的 C 语言编译器。随着技术的发展,TCC 已经成为了许多开发者和研究者进行编译器学习和研究的首选工具。

TCC 的特点是快速编译和小巧的体积,它支持标准 C语言(ISO C99),并且可以在多种操作系统上运行,包括 Linux、Windows、Mac OS X 等。由于其轻量级的特性,TCC 非常适合于嵌入式系统、教学和简单的项目。尽管它的功能和性能无法与 GCC 或 Clang 等大型编译器相比,但它在快速原型设计和学习领域中的应用尤为突出。

  • 项目地址:https://bellard.org/tcc/

4、QEMU - 一个通用的开源机器仿真器和虚拟器

QEMU(Quick EMUlator)是一种开源的虚拟机监视器和模拟器,它可以模拟多个硬件平台,包括 x86、ARM、PowerPC 等。QEM U广泛应用于虚拟化、嵌入式系统开发和仿真等领域。

作为虚拟机监视器,QEMU 允许在一个物理主机上同时运行多个虚拟机,并提供对这些虚拟机的管理和控制能力。它支持各种操作系统,包括 Linux、Windows 和其他许多操作系统。作为模拟器,QEMU 可以将不同架构的二进制代码在一个主机上进行执行,从而实现跨平台的软件开发与测试。这使得开发人员可以在自己的工作环境中运行并调试不同体系结构下的程序。

QEMU 还提供了丰富的功能和扩展性,如硬件加速、网络配置、磁盘镜像和快照等。它被广泛应用于云计算、容器技术、嵌入式系统仿真和移动设备开发等领域,并受到众多开发者和组织的支持与贡献。

  • 项目地址:https://www.qemu.org/

欢迎订阅

文章会同时发布到我的 博客园主页、CSDN主页、知乎主页、微信公众号 平台上。

微信搜索"痞子衡嵌入式"或者扫描下面二维码,就可以在手机上第一时间看了哦。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/845674.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习高校课程-系统设计与分析-优化设计(lec8)

将用例行为分发到类 对于每个事件用例流:确定分析类 ,将用例职责分配给分析类 ,在交互图中对分析类交互进行建模描述职责 做什么:创建对象,执行计算,对其他对象的初始化操作,控制和协调工作...... 知道什么:关于私有封装数据,关于相关对象,关于他可以推导和计算的事物…

使用CloudDrive 将网盘挂载本地(网盘本地化,超简单)

使用CloudDrive 将网盘挂载本地(网盘本地化,超简单) 创建时间:20241122 一、介绍 免费的,可以将两个网盘挂载在本地。可实现不用登陆即可 下载。很好用。 之前还有一个alist+RaiDrive 可以免费挂载很多(我觉得没必要懒得搞没搞那个,这个也够用了。感兴趣的可以去试试那…

manim边做边学--曲面

Surface类是Manim中专为创建和操控复杂的三维表面而打造的。 在实际应用中,无论是创建数学教学中的几何模型,还是模拟物理现象中的曲面变化,甚至是构建复杂的动画场景中的三维元素,Surface类都能以其强大的功能和灵活性满足我们的需求。 通过Surface类的参数和方法,我们可…

mac通过网线连接主机(fnOS)

一、mac端 mac是typec的,用了个转接头+网线直连主机,初始化的时候跟下面一致,默认都是自动的点击详细信息,配置IPv4选择使用DHCP二、主机端 主机端是最麻烦的,刚开始的时候怎么也找不到网卡,ifconfg敲了很多遍,最后发现是fnOS没有装驱动。。。 root@server:~# sudo lshw…

05_VIM编辑器

VIM编辑器 一、VIM编辑器的工作模式命令行模式 用户刚刚启动 vi/vim,便进入了命令模式。控制屏幕光标的移动,字符、字或行的删除,移动、复制某区域及进入插入模式,或者到末行模式插入模式 只有在插入模式下才可以做文本输入,按“ESC”键可回到命令行模式末行模式 在命令模…

HTTP协议基础

总结了HTTP协议的一些基础知识。HTTP协议基础 一.定义 HTTP协议(HyperText Transfer Protocol),超文本传输协议,它是一种客户端(如网页浏览器)和服务器端(如网站服务器)之间进行通信、请求与响应数据的规则集合。通过 HTTP 协议,客户端可以向服务器发起获取网页、图片…

Power Automate 获取通讯组的成员

前言最近,想要看看某个Group里都有哪些人正文在Power Automate里可以用Office 365 Groups这个连接器里的操作,先根据邮件地址获取到Group,然后用Group Id获取Group即可获取到Group members的截图获取结果的JSON[{"@odata.type": "#microsoft.graph.user"…

实验5.继承和多态

1.实验任务1: publisher.hpp:#pragma once#include <iostream> #include <string>using std::cout; using std::endl; using std::string;// 发行/出版物类:Publisher (抽象类) class Publisher { public:Publisher(const string &s = ""); …

PTQ 精度 Debug 工具

01 前言 使用 PTQ 后量化的模型量化方案,可以帮助用户非常简单便捷地完成从浮点模型到地平线混合异构模型的转换,模型转换工具会基于用户提供的校准样本对模型进行校准量化并保障模型高效地部署在地平线计算平台上。 但是在模型转换的过程中,不可避免地会因为浮点高精度到定…

字符串的遍历、统计字符案例

1.两种字符串遍历方法1.toCharArray 将字符串转换成一个新的字符类型的数组 调用方式:对象.如图,其实就相当于把字符串全部拆开,变成一个个的字符,再由字符数组来接收2.charAt 根据输入的索引,从字符串里找出对应的字符 调用方法:对象. 如图如果我们要遍历字符串,那不就…

synchronized同步锁机制

目录synchronized 的使用Java的对象头和 Monitor对象头实例数据对齐填充synchronized 原理synchronized修饰代码块示例对象锁的四种状态无锁偏向锁轻量级锁重量级锁synchronized 的使用如果修饰的是具体对象:锁的是对象 如果修饰的是成员方法:那锁的就是 this 如果修饰的是静…