logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

彻底搞通UEFI, GPT, ESP 现代固件启动概念(附c代码)

本文深入解析了UEFI、GPT和ESP等现代计算机启动概念。UEFI作为64位系统的统一可扩展固件接口,取代了传统的BIOS;GPT分区表解决了MBR在64位系统中的容量限制问题;ESP则是UEFI系统专用的分区。文章通过创建100MB虚拟盘并建立GPT分区的实践演示,详细展示了GPT分区表的结构和内容,并提供了C语言代码读取GPT头信息。这些内容帮助读者全面理解现代计算机启动机制,从理论到实践掌

#c语言
linux 内核, 怎样读取温度?

本文介绍了在Linux内核中如何通过虚拟平台设备和驱动架构读取温度数据。主要内容包括: 创建虚拟platform设备"virtual-thermal"并注册到系统 实现对应的platform驱动,通过名称匹配设备 使用thermal_zone_device_register注册热区设备,生成/sys/class/thermal节点 展示了热区设备在sysfs中的各种可读写参数 该示例演示了Linu

驱动模型: platform总线,设备,驱动 3层架构框架

本文介绍了Linux内核中的platform总线驱动模型,采用设备、驱动、总线三层架构。虚拟设备模块仅向平台总线注册设备,不包含业务逻辑;驱动模块通过名称匹配设备,成功匹配后执行probe函数。操作顺序上,加载驱动和设备模块的先后不影响匹配,卸载顺序也无关紧要。文章详细展示了虚拟设备和驱动的代码实现,并分析了注册后在/sys文件系统中的变化,包括设备目录和符号链接的创建。最后说明了如何通过bind

#架构
简单驱动管理,内核链表宏及container_of宏演示代码

本文通过一个简单的驱动管理演示程序,解析了Linux内核中常用的三个宏:LIST_HEAD、container_of和list_for_each。作者通过预处理展开展示了这些宏的实际作用:LIST_HEAD用于初始化链表头节点,container_of通过成员指针获取所属结构体指针,list_for_each实现链表遍历。文章包含完整的测试代码和Makefile,展示了如何创建链表、添加节点并遍历

#链表#网络
从ISO 文件制作U盘启动盘.

本文介绍了在Windows和Linux系统下制作U盘启动盘的方法。Windows推荐使用Usbinstaller和UtraISO工具,操作简单直观。Ubuntu系统已自带"启动盘创建器"工具,无需额外安装。文章重点分析了使用dd命令直接写入ISO文件的原理,指出ISO文件本身已包含兼容新旧主板的启动信息,虽然会导致U盘变为只读,但可通过创建新分区解决。作者通过实验验证了各种方法

#linux#ubuntu#windows
c++实现的一个定时器实例

小结: 所谓的定时器, 当时间到时执行某一个任务,是通过启动一个线程来实现的,等待时是timer线程在等待,执行时是timer线程在执行.调用线程和执行线程是不同的线程

#c++
cpio 文档格式研究

本文研究了Linux内核中的cpio归档格式。通过创建测试cpio文件并分析其二进制结构,揭示了该格式的基本组成:包含文件头元数据、路径名、文件内容和填充对齐的循环结构,以"TRAILER!!!"标记结束。文章详细解析了cpio的newc格式规范,包括32位元数据结构和大文件支持特性,并提供了完整的C语言实现代码来解包cpio文件,演示了如何识别文件类型(普通文件、目录、链接)

ffmpeg 像素格式基础知识

0, 1, 0, 0, 8, 0, 7, 1 },/* Y */亮深是8bit, 后3项不用了,前4项plane,step,offset,shift。{ 1, 1, 0, 0, 8, 0, 7, 1 },/* U */色深1是8bit。{ 2, 1, 0, 0, 8, 0, 7, 1 },/* V */色深2是8bit。例如如 AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLA

ffmpeg 中 -f <format> 字段的意义

正确的format会返回一个file_iformat,这是一个AVInputFormat 结构,该指针会被传递给avformat_open_input,输入文件格式file_iformat 会在avformat_open_input 时进一步判断,当发现还没有确定,会进行探测.对于输入,如果不指定-f, ffmpeg 会根据输入数据(来自于输入文件,或输入设备或其它协议)来判断数据的封装格式.以输

linux 键盘卡顿及问题的解决.

Dec 12 14:17:01 hjj-u7090 gnome-terminal-[2874]: message repeated 5 times: [ Process Key Event failed: GDBus.Error:org.gtk.GDBus.UnmappedGError.Quark._g_2dio_2derror_2dquark.Code24: 已到超时限制.]ubuntu20 系

    共 40 条
  • 1
  • 2
  • 3
  • 4
  • 请选择