7. DRM图形显示框架 — [野火]嵌入式Linux驱动开发实战指南——基于STM32MP157开发板 文档 DRM框架: 用户空间(libdrm driver): Libdrm(DRM框架在用户空间的Lib) 内核空间(DRM driver): KMS(Kernel Mode Setting,内
编译步骤 步骤: 指定架构:不同 CPU 架构的汇编指令、初始化代码等不同。 指定交叉编译工具链:特定的架构需要特定的编译工具。 选择配置文件:板子上的硬件资源不同。 编译:生成镜像文件。 (1)步骤1、2 修改源码顶层的 Makefile ARCH ?= arm CROSS_COMPILE ?=
uboot 来源:"08、系统镜像\02、教程系统镜像\02、阿尔法V2.4版本及以后和miniV2.2及以后的底板\01、u-boot镜像\emmc\u-boot.bin",烧写到 TF 卡 kernel 来源:"\01、例程源码\03、正点原子Uboot和Linux出厂源码",使用配置文件"im
1、设置 nxp 的工具 mfgtools-with-rootfs 在这个软件的 \Profiles\Linux\OS Firmware\firmware 目录下,替换: zImage u-boot-imx6ull14x14evk_emmc.imx zImage-imx6ull-14x14-evk-
开发者务必遵循 Linux 的代码规范,否则多人协作时代码不好维护。 Linux 内核代码风格 — The Linux Kernel documentation 缩进和空格 制表符 缩进的制表符为 8 个字符,并非我们常用的 4 个字符。大一点的缩进更容易分辨代码块。 不要使用空格来代替制表符。
选择原则: 不允许睡眠的上下文需要采用忙等待类,可以睡眠的上下文可以采用阻塞类。在异常上下文中访问的竞争资源一定采用忙等待类。 临界区操作较长的应用建议采用阻塞类,临界区很短的操作建议采用忙等待类。 中断屏蔽仅在有与中断上下文共享资源时使用。 共享资源仅是一个简单整型量时用原子变量。 原子变量
关于 Linux 的中断: 进入中断服务程序时,硬件会自动关闭当前 CPU 的可屏蔽中断 IRQ,但不会影响其他 CPU 的中断处理。FIQ 中断不受影响,但是 Linux 内核不使用 FIQ。虽然可以在 ISR 中手动调用 local_irq_enable() 重新开启本地中断,但内核出于防止重入
杂项设备 主设备号默认规定为10,用户无须关心主设备号 可以作为拓展设备驱动数量的一种手段 依然是一个字符设备驱动 是字符设备驱动的另一种更加简单的注册方式
printk 是内核提供的日志打印函数,和C语言的 printf 差不多,但是不支持浮点数据。 日志级别: printk的用法和printf类似,printf用于用户空间,printk用于内核空间。 用printk函数时,内核会根据打印的日志级别,决定是否把打印的信息输出到控制台上。 消息正常输出的
快捷命令 一个虚拟机不是只搞一个 SOC 的,所以CPU架构、交叉编译工具的环境变量不能写死。 1、编辑配置 sudo vim ~/.bashrc 2、在最上面一行前添加: alias getimx='export PATH=/opt/Linux_Workspace/i.MX6ULL/arm_gcc
网络基础知识: IPV4 地址:由4个8位字段组成。 网络地址和主机地址占用的位数不同,分为A、B、C、D、E 类。 C类: 3字节网络地址 + 1字节主机地址 192.168.0.0 ~ 192.168.255.255 私有 IP 地址。 一个网络254个主机。 服务端流程: 创建socket通信
RK3506J 核心板: 开发板:TL3506-MiniEVM-A1.0-2GN2GD-I-A1.0 Rootfs 开发、应用开发:arm-linux-gnueabihf-gcc(版本为 11.4.0,通过 apt 安装) U-Boot 开发、内核开发:gcc-arm-10.3-2021.07-x8
介绍 tslib 是一个开源的第三方库,用于触摸屏性能调试,使用电阻屏的时候一般使用 tslib 进行校准。 虽然电容屏不需要校准,但是由于电容屏加工的原因,有的时候其不一定精准,因此有时候也需要进行校准。 最主要的是 tslib 提供了一些其他软件,我们可以通过这些软件来测试触摸屏工作是否正常。