嵌入式Linux
文章平均质量分 90
嵌入式Linux学习开发
路痴的兔子
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
IMX6ULL嵌入式Linux驱动学习笔记(十一)
Linux异步通知一、异步通知简介1.1 硬件中断1.2 信号1.3 信号处理函数1.4 驱动中对异步通知的处理1.5 应用程序对异步通知的处理二、实验驱动编写2.1 驱动程序2.2 测试APP程序IMX6ULL嵌入式Linux驱动开发学习以下内容是我在学习正点原子IMX6ULL开发板alpha中记录的笔记,部分摘录自正点原子IMX6ULL开发手册。一、异步通知简介1.1 硬件中断中断是处理器提供的一种异步机制,配置好中断以后就可以让处理器去处理其他的事情了,当中断发生以后会触发事先设置好的中断服原创 2021-01-11 15:06:18 · 479 阅读 · 2 评论 -
IMX6ULL嵌入式Linux驱动学习笔记(十)
Linux阻塞和非阻塞IO一、Linux阻塞和非阻塞IO1.1 阻塞和非阻塞简介1.2 等待队列(阻塞访问)1.3 轮询(非阻塞访问)二、编写试验驱动2.1 阻塞式访问驱动2.2 非阻塞式访问IMX6ULL嵌入式Linux驱动开发学习以下内容是我在学习正点原子IMX6ULL开发板alpha中记录的笔记,部分摘录自正点原子IMX6ULL开发手册。一、Linux阻塞和非阻塞IO1.1 阻塞和非阻塞简介这里的 IO 指的是 Input/Output,也就是输入/输出,是应用程序对驱动设备的输入/输出操作原创 2021-01-08 11:09:34 · 412 阅读 · 0 评论 -
IMX6ULL嵌入式Linux驱动学习笔记(九)
Linux中断处理一、Linux内核中断处理1.1 裸机中断1.2 Linux中断1.3 上半部和下半部1.3.1 软中断1.3.2 tasklet1.3.3 工作队列1.4 设备树中断节点信息二、编写按键中断实验驱动2.1 配置设备树2.2 按键中断驱动程序2.3 使用下半部`tasklet`的按键中断驱动程序2.4 测试APP程序IMX6ULL嵌入式Linux驱动开发学习以下内容是我在学习正点原子IMX6ULL开发板alpha中记录的笔记,部分摘录自正点原子IMX6ULL开发手册。一、Linux内原创 2021-01-08 10:59:22 · 683 阅读 · 0 评论 -
IMX6ULL嵌入式Linux驱动学习笔记(八)
Linux内核定时器和ioctl函数IMX6ULL嵌入式Linux驱动开发学习Linux内核定时器和ioctl函数定时器使用练手使用`ioctl`函数控制IMX6ULL嵌入式Linux驱动开发学习以下内容是我在学习正点原子IMX6ULL开发板alpha中记录的笔记,部分摘录自正点原子IMX6ULL开发手册。Linux内核定时器和ioctl函数内核时间管理1.1 对于Cortex-M内核来说,一般使用systick硬件定时器作为系统定时器,使用过FreeRTOS等操作系统的也知道,FreeRT原创 2020-11-17 23:34:24 · 571 阅读 · 0 评论 -
IMX6ULL嵌入式Linux驱动学习笔记(七)
Linux并发与竞争IMX6ULL嵌入式Linux驱动开发学习Linux并发与竞争一、并发与竞争二、原子操作`atomic`三、原子位操作四、自旋锁`spinlock`五、信号量`semaphore`六、互斥锁`mutex`IMX6ULL嵌入式Linux驱动开发学习以下内容是我在学习正点原子IMX6ULL开发板alpha中记录的笔记,部分摘录自正点原子IMX6ULL开发手册。Linux并发与竞争一、并发与竞争多线程对共享资源同时进行访问,比如全局变量,就会产生并发与竞争现象。以打印机为例,当线程A原创 2020-11-17 23:32:57 · 445 阅读 · 0 评论 -
IMX6ULL嵌入式Linux驱动学习笔记(六)
IMX6ULL嵌入式Linux驱动学习IMX6ULL裸机开发学习一、pinctrl子系统二、gpio子系统三、驱动编写IMX6ULL裸机开发学习以下内容是我在学习正点原子IMX6ULL开发板alpha中记录的笔记,部分摘录自正点原子IMX6ULL开发手册。正常工作中进行驱动开发的方式——子系统。一、pinctrl子系统 借助pinctrl来设置一个pin的复用和电气属性。 pinctrl 子系统主要工作内容如下:获取设备树中的pin信息。根据获取到的pin信息来设置pin的复用功能。原创 2020-09-21 09:27:09 · 570 阅读 · 0 评论 -
IMX6ULL嵌入式Linux驱动学习笔记(五)
IMX6ULL嵌入式Linux驱动学习IMX6ULL裸机开发学习一、什么是设备树二、DTS、DTB和DTC的关系三、DTS基本语法四、设备树在系统中的体现五、特殊节点六、属性七、特殊的属性八、Linux内核的OF操作函数九、设备树添加内容(开发中一般不使用这种方式)十、驱动使用设备树例子十一、设备树下的LED驱动实验十二、测试应用程序IMX6ULL裸机开发学习以下内容是我在学习正点原子IMX6ULL开发板alpha中记录的笔记,部分摘录自正点原子IMX6ULL开发手册。一、什么是设备树设备树:设备原创 2020-09-21 09:26:24 · 583 阅读 · 0 评论 -
IMX6ULL嵌入式Linux驱动学习笔记(四)
IMX6ULL嵌入式Linux驱动学习IMX6ULL裸机开发学习一、新字符设备驱动原理(相比于上一篇笔记)二、自动创建设备节点三、文件私有数据四、错误处理五、整体程序(开发中不使用这种方式)六、测试应用程序IMX6ULL裸机开发学习以下内容是我在学习正点原子IMX6ULL开发板alpha中记录的笔记,部分摘录自正点原子IMX6ULL开发手册。一、新字符设备驱动原理(相比于上一篇笔记)以前的缺点:使用 register_chrdev 函数注册字符设备,会浪费很多次设备号,而且需要手动指定。原创 2020-09-21 09:25:48 · 275 阅读 · 0 评论 -
IMX6ULL嵌入式Linux驱动学习笔记(三)
IMX6ULL嵌入式Linux驱动学习IMX6ULL裸机开发学习一、地址映射二、驱动程序编写(正常开发中不使用这种方式)三、应用程序编写四、测试IMX6ULL裸机开发学习以下内容是我在学习正点原子IMX6ULL开发板alpha中记录的笔记,部分摘录自正点原子IMX6ULL开发手册。一、地址映射因为linux使用MMC,因此在驱动开发时,不能直接对寄存器物理地址进行读写操作。在linux里面操作的都是虚拟地址,所以需要先得到物理地址对应的虚拟地址。获得物理地址对应的虚拟地址使用va = io原创 2020-09-20 18:51:01 · 383 阅读 · 0 评论 -
IMX6ULL嵌入式Linux驱动学习笔记(二)
IMX6ULL嵌入式Linux驱动学习IMX6ULL裸机开发学习一、字符设备驱动二、驱动模块的加载与卸载三、字符设备的注册与注销四、设备号五、file_operations的具体实现六、字符设备驱动框架七、编写应用程序八、测试九、完善chrdevbase虚拟字符设备驱动程序IMX6ULL裸机开发学习以下内容是我在学习正点原子IMX6ULL开发板alpha中记录的笔记,部分摘录自正点原子IMX6ULL开发手册。一、字符设备驱动字符设备驱动的编写主要就是驱动对应的open、close、read、writ原创 2020-09-20 18:49:33 · 670 阅读 · 0 评论 -
IMX6ULL嵌入式Linux驱动学习笔记(一)
IMX6ULL嵌入式Linux驱动学习IMX6ULL裸机开发学习一、应用程序和驱动的交互原理交互原理二、嵌入式驱动开发分类三、字符设备驱动开发IMX6ULL裸机开发学习以下内容是我在学习正点原子IMX6ULL开发板alpha中记录的笔记,部分摘录自正点原子IMX6ULL开发手册。一、应用程序和驱动的交互原理交互原理驱动就是获取外设或者传感器数据,控制外设。数据会提交给应用程序。Linux下驱动编写既要编写一个驱动,还要编写一个简单的测试应用程序APP。单片机下驱动和应用都是放到一个文件里面,也就是杂原创 2020-09-20 18:48:28 · 592 阅读 · 0 评论
分享