搭建一个和linux开发者知识共享和学习的平台
发布时间:2025-01-07 09:55:36
Linux 内核里,为了解决驱动初始化的难题,引入了 initcall 机制。简单来说,initcall 机制就是一套规范化、自动化的驱动初始化函数管理方案。它在内核编译阶段 “大显身手”,通过一系列精心设计的宏定义,巧妙地将不同驱动的初始化函数按照预设的优先级顺序,依次存放到特定的内存段中。当内核启动时,就如同一位训练有素.........【阅读全文】
发布时间:2025-01-07 09:47:33
按照是否与操作系统直接相关来分类代码NVIDIA GPU驱动的大多数内核模块可分为两个组件(部分):一个“与操作系统无关”的组件:这是独立于操作系统的每个内核模块的组件。一个“内核接口层”:这是特定于Linux内核版本和配置的每个内核模块的组件。当把编译好的驱动模块(.........【阅读全文】
发布时间:2025-01-07 09:41:34
那如果要判断内核函数是否执行和调用关系我们知道要用printk或者dump_stack来验证。不过这种方法的有些方法需要每次编译烧录工作效率过低,那没有效率高的方法,答案是有的!Linux内核里提供了一些调试追踪的工具如ftrace,kprobe,uprobe,eBPF,perf,SystemTap等。其中最常用且方便的是ftrace , 那么本篇来讲下Linux性能.........【阅读全文】
发布时间:2024-10-31 14:55:07
2. 控制器在设备树中设置GPIO管脚输出值需要以下步骤:在GPIO节点的子节点中定义具体的管脚配置,包括管脚编号、方向和初始值等。管脚编号可以通过查阅设备手册或GPIO控制器的文档进行确认。方向可以设置为"input"或"output",表示管脚的输入或输出模式。初始值可以设.........【阅读全文】
发布时间:2024-10-29 14:06:29
最底层,在GPU内部:Framebuffer:一种底层的显示缓存,具体细分为如颜色缓存、深度缓存等多种,在这些缓存的共同作用下,最终形成在屏幕上显示的图像;中间件层:OpenGL:简单理解为它是一个操作图形、图像的API规范;OpenGL ES:是OpenGL的嵌入式版本,适用于在低功耗显.........【阅读全文】