RGB888 RGB565 RGB555 RGB888转RGB565 LCD 驱动程序提供两个参数,只需要关心这个可变参数就行了。 应用编程 </
I2C 和 SPI 很相似,放在一起讲。 I2C 和 SPI 都是 SOC 上的外设,厂商已经实现好了主机控制器驱动,所以无论换什么芯片,驱动的写法都是一样的。 总线架构 I2C 功能架构: S
GPIO 和 Pinctrl 子系统是为了更方便的初始化和使用引脚。 GPIO 子系统提供操作引脚的函数。 Pinctrl 子系统用于设置引脚复用和电气属性。 pinctrl 子系统 参考文档: pinctrl 子系统源码目录为 drivers/pinctrl 内核\Documentation\de
proc 是伪文件系统,不在磁盘中,只存在于内存中。 挂载在 /proc 目录下,内核运行时动态生成里面的内容,为用户空间程序提供了一个动态查看和修改内核运行时信息的窗口。 如何使用 proc 手动浏览:使用 ls和 cat是最直接的方式。 编程读取:应用程序可以像打开普通文件一样 open()、r
好的,我们来深入讲解 sysfs 文件系统。它与 proc文件系统密切相关,但在设计目的和使用方式上有显著区别。 简单来说,sysfs是一个基于内存的虚拟文件系统,它在用户空间和内核空间之间提供了一个结构化的、清晰的接口,主要用于导出内核设备模型的各个部分——即系统中的总线、设备、驱动以及它们的相互
设备和驱动匹配方式: 设备树匹配(现代使用) id 匹配(老,淘汰) name 匹配(远古,淘汰) ACPI 匹配(x86 使用) 匹配优先级:设备树匹配 > id 匹配 > name 匹配 Linux 设备驱动模型 驱动和设备写在一起的缺点: 设
设备树简介 早期 Linux 内核源码包含大量的与特定硬件平台相关的代码,代码重复度高且杂乱无章,内核维护工作量大。 后来引入设备树,这是一个描述硬件信息的数据结构,将硬件配置从 Linux 内核源码中提取出来,提高了移植性,更方便维护。 小故事:Linux 之父 Linus Torvalds 闲来
设备文件位于 /dev 下。 设备文件和普通文件的区别: 设备号 设备号共 32 位: 主设备号:占高12位,标识一个类型的设备,全局唯一。 次设备号:占低20位,标识一个类型下的不同设备,每个主设备号下的次设备号互不干扰,不会冲突。 // 拼接成设备号 dev_t devno = MKDEV(
Linux 是单内核操作系统,所有的内核功能被整体编译在一起,形成一个单独的内核镜像文件。 优点是执行效率非常高,缺点是要增加、删除、修改内核的某个功能,需要重新编译和重启整个系统。 后来 Linux 引入内核模块来弥补这一缺点。 内核模块是单独编译的一段代码,在 Linux 运行时可动态的加载和卸
学习驱动必知: 学习驱动的目的不是为了开发驱动,而是能看懂并移植驱动,使硬件能正常工作。 现在很少有机会自己从零开始实现一个复杂的驱动。 现在驱动的需求很少了,不可能单独作为一个岗位的,都是搞 Linux 应用开发的顺带的工作,想找驱动的工作就是在做梦。 新人基本上是搞不了驱动的,投简历也是没人搭理
内核配置 (1)需要先设置CPU的架构,和交叉编译工具: 在顶层 Makefile 文件,将: ARCH ?= $(SUBARCH) CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%) 改为: ARCH ?= arm CROSS_COMPILE ?= a
开发板:TL3506-MiniEVM_S(256MB DDR+256MB NAND FLASH) ¥299 SDK 位置:\4-软件资料\Linux\LinuxSDK\LinuxSDK-v1.2.tar.gz 内核:\4-软件资料\Linux\Kernel\src\linux-6.1.99-v1.2
从IC端到I/O接口走线要短、要顺畅。 去耦电容要靠近IC引脚,稳压电容可以稍远。 考虑IC EPAD电流回流到Power IC的顺畅程度。 走线避免穿层,高低频信号要分开,时钟线要保护。 去耦电容的摆放 在电源进入芯片PIN之前摆上100-330nF的小电容做滤除杂讯用,因此布局时小电容要尽量接近
项目配置 cmake_minimum_required(VERSION 3.0) # 最低 cmake 版本 project(app C) # 项目名称和开发语言 add_executable(可执行文件名称 源文件) # 生成可执行文件 指定C++标准 方法1 set(CMAKE_CXX_STA
Makefile 主要使用在没有集成开发环境时,对工程文件进行自动化编译的工具。 Makefile的本质是一个文件,需要配合make命令进行自动化编译。文件名常首字母大写. Makefile文件的命名:makefile或者Makefile。 (推荐首字母大写的用法) make是一个命令工具,用来解释
(一)手动绘制 (1)使用2D线画多边形、圆形、矩形、路径的封闭图形。 若使用路径,需多一步操作:选中图形后 (3)全选该封闭图形,右键【特性】 (4)选择为板框
Linux的指令可使用man、info进行查询。 例如 man ls、info ls 使用q退出。 登录后,root的命令提示符为#,普通用户的提示符为$ 几个特殊的目录名: .:当前目录 ..:上一层目录 -:前一个目录 ~:用户所在的家目录