linux驱动开发
lingyi0122
叫我凌翼先生。
展开
-
基于RV1126方案上调试GPIO口
1. DTS路径为rv1126\linux-4.19\arch\arm\boot\dts在rv1126.dtsi上添加以下部分: gpio_para: gpio_para { compatible = "rk,gpio-para"; status = "disabled"; sata-en-gpio = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>; lphout-cs-gpio = <&gpio0 RK_PA5 GPIO_AC原创 2021-12-06 10:17:47 · 3203 阅读 · 0 评论 -
在全志T7平台上测试TTY功能
#include<stdio.h>#include<stdlib.h>#include<string.h>#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>#include<unistd.h>#include<termios.h>#include<string.h>#define TTY_PATH "/dev/tt.原创 2021-12-06 10:07:34 · 226 阅读 · 0 评论 -
全志T7平台上移植WiFi RTL8188EUS
在T7平台上移植wifi驱动模块RTL8818EUS,工作模式为AP模式,即RTL8818EUS模块当作WIFI热点来使用,便于其他设备连接进去,实现基于无线网络通信的功能.原创 2021-11-22 23:00:03 · 1265 阅读 · 0 评论 -
基于V4L2采集摄像头数据
基于Linux Kernel V4L2框架验证采集摄像头数据,捕获到的yuv数据在7yuv.exe进行查看,从而验证摄像头驱动到应用层的数据链路完整性。源码如下所示:#include <unistd.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <sys/ioctl.h>#include <linux/types.h>#in原创 2020-09-28 16:13:24 · 2319 阅读 · 2 评论 -
offsetof与container_of宏举例
一、在Linux Kernel中关于offsetof与container_of宏的定义为:二、offsetof宏介绍A. offsetof宏的作用是:用宏来计算结构体中某个元素相对结构体首地址的偏移量(其实本质是通过编译器来帮我们计算)B. offsetof宏的原理:我们虚拟一个type类型结构体变量,然后用type.member的方式来访问那个member元素,继而得到 ...原创 2019-05-15 18:03:46 · 146 阅读 · 0 评论 -
编写Linux设备驱动的先决知识
本文从描述驱动的概念、Linux内核整体架构、内核模块化设计、Linux驱动设备分类、驱动程序安全性要求和如何学习驱动几个方面来阐述编写Linux设备驱动的先决知识。1、什么是驱动?软件层面的驱动广义上就是指:这一段代码操作了硬件去动,所以这一段代码就叫硬件的驱动程序。狭义上驱动程序就是专指操作系统中用来操控硬件的逻辑方法部分代码。2、Linux内核整体架构2.1 分层思...原创 2019-04-24 14:12:33 · 174 阅读 · 0 评论 -
imx6q平台上移植mt7601
本文描述如何将MT7601 WiFi模块移植到IMX6Q开发板上,分析移植过程中碰到的问题,分析错误原因,提供解决办法。一、MT7601实物图二、验证开发板和USB MT7601硬件是否正常步骤1:将MT7601插入到IMX6Q开发板上步骤2:在串口终端敲入命令lsusb如下图所示,表示硬件上正常。三、开发环境及准备资料开发环境:ubuntu 14.04准备...原创 2019-03-28 17:22:14 · 788 阅读 · 0 评论 -
linux源码目录结构介绍
Linux内核源代码包括三个主要部分:1. 内核核心代码,包括各个子系统和子模块,如:Process Scheduler 进程管理、Memory Manager 内存管理、VFS 虚拟文件系统、Network 网络子系统、IPC 进程通信。以及其它的支撑子系统,例如电源管理、Linux初始化等。2. 其它非核心代码,例如库文件(因为Linux内核是一个自包含的内核,即内核不依赖其它的任何软...原创 2018-09-26 11:09:30 · 1829 阅读 · 0 评论 -
printk调试之设置日志打印级别
日志打印注意事项:1. 日志输出是有代价的,特别是在嵌入式系统,或者对执行时序要求较高的应用场景。因此 a) 只有在需要的地方加入,不能滥用 b) 一定要有一个全局的开关,在不需要或者产品发布的时候,关闭输出,或者降低日志输出的频率 2. 日志输出需要有优先级控制,例如:发生错误时的日志优先级最高,一般都要输出;一些重要的提示,优先级中等,可能会...原创 2018-09-25 14:53:06 · 938 阅读 · 0 评论