首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
imx6ull之linux开发
Pintitus
创建于2022-02-20
订阅专栏
linux内核驱动硬件设备
暂无订阅
共14篇文章
创建于2022-02-20
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
14.LINUX驱动之阻塞IO
一、Linux阻塞IO 为什么要引入阻塞IO。因为在我们原来的实验应用app的编写测试中,发现我们使用的read,write等函数在while循环中使用。当运行app程序的时候发现,在终端中查看进程的
13.IMX6ULL LINUX驱动之中断系统详解
一、Linux中断 在裸机中断中我们需要做很多工作,比如关闭MMU,Cache等配置寄存器,使能中断。但是linux内核提供了完善的中断框架,我们只需要申请中断request_irq,然后注册中断处理
12.LINUX驱动之好用的ioctl
unlock_ioctl函数 它是驱动程序中fops结构体的一个与应用层通讯的函数指针之一。使用Ioctl可以向驱动程序发送控制信号,而不必向之前我们写的程序一样通过read,write函数进行读写指
11.LINUX驱动之内核定时器
一、内核时间管理 硬件定时器提供时钟源,linux内核中在图形化界面配置中可以配置,我们选择最低的系统频率100Hz,使得内核负载减小。也就是说一秒钟可以产生100次中断。 在Linux内核中以全局变
10.IMX6ULL LINUX驱动之按键读取
Linux驱动之按键读取IO 输入除了GPIO驱动框架修改电气特性修改为输入模式。该程序是简单的测试GPIO的输入模式,后面会写中断按键输入。 一、修改设备树 二、驱动程序
9.IMX6ULL LINUX驱动之原子操作原理
一、并发与竞争 linux是一个多任务的系统。多任务就存在抢占,抢占资源。但是不可以同时抢占,否则会产生混乱。因此,我们要保护资源,那么什么是资源呢?资源就是共享资源,就是一系列的变量存取的数据。 并
8.IMX6ULL LINUX驱动之蜂鸣器
一、蜂鸣器驱动说明 蜂鸣器与GPIO点灯程序相差无几,本节实验重点编写代码,回顾通过修改设备树添加pinctrl与gpio结点信息来快速驱动Buzzer。 由原理图如下,想要驱动buzzer,使用GP
7.IMX6ULL LINUX驱动之Pinctl子系统
一、Pinctl子系统 借助pinctl设置引脚的复用与电气属性的设置。我们之前的实验是直接操作相应的寄存器,但是这种配置比较繁琐,且容易出现问题。为了解决,引入pinctl子系统:获取设备树的引脚信
6.IMX6ULL LINUX驱动之基于设备树的LED驱动
一、编写Led的设备树文件 上一节学习了设备树的语法了解到了设备树就是用来存储一些设备的信息的文件。那么我们现在就来写led的设备树文件。我们在根下创建一个结点,就拿我的名字来命名把。如下代码所示,主
5.IMX6ULL LINUX驱动之设备数详解
一、什么是设备树 在没有使用设备树的时候,使用的是c文件,mach-xxx文件夹内存储的c源码。 DTS是采用树形结构描述版及设备的文件。将描述扳级信息的文件与linux内核分离出来。dts描述扳级信
4.IMX6ULL LINUX驱动之字符设备框架(linux4内核)
一、之前的驱动框架缺点 register_chrdev函数使用很浪费了很多次设备号。而且需要手动指定,如果冲突了,我们也不知道。还要手动使用mknod指令。 二、解决上述缺点 需要找到能自动向linu
3IM6ULL LINUX驱动之LED字符驱动设备
一、Led点灯实验 我们肯定是需要往寄存器内些数据的,Linux下也可以操作寄存器,但是不能直接对物理地址进行直接读写操作。因为linux下会使能MMU,MMU是内存管理单元,在老Linux中要求处理
1.IMX6ULL LINUX开发之简述
一、裸机开发与Linux驱动开发的区别 裸机开发与寄存器打交道。 Linux下开发直接操作寄存器不现实。 是根据各种驱动框架进行开发。各种外设套入Linux下提供的框架下的API函数。将模块进行分层处
2.IMX6ULL LINUX驱动之字符驱动框架
一、驱动框架搭建 首先是c文件,其次是Makefile和vscode的设置json文件。 c文件 Makefile json 二、加载与卸载模块 1.加载模块 加载模块有Insmod与modprobe