_05_linux驱动
llzhang_fly
这个作者很懒,什么都没留下…
展开
-
LKD_05_系统调用(20181021)
LKD_05_系统调用 系统调用的目的与内核进行通信,即系统调用是在用户层和硬件设备层之间增加的一个中间层;其主要有3个作用:为用户空间提供一种硬件的抽象接口: 比如读写文件时,应用程序不用考虑磁盘类型和介质,也不用考虑文件系统类型; 保证了系统的稳定和安全: 对应用层需要访问的内核进行判断,如权限、用户类型、地址合法性等;比如避免应用程序不争去的使用硬件设备窃取其他进程资源或危害...原创 2018-10-22 22:40:23 · 200 阅读 · 0 评论 -
MTK Bootloader启动流程分析
最近工作中遇到一些问题:需进入fastboot模式,然后通过执行fastboot命令、并借助其他的一些脚本,来分析系统的运行状态以及当前系统当前处的状态等,借此了解了下fastboot模式的启动流程;通过查找资料,发现一个大牛的总结挺不错的,无论是从源码分析、程序运行流程图等,都值得我们学习,现将该博客文章记录如下:https://blog.csdn.net/forever_2015/ar...转载 2019-02-24 22:57:30 · 1128 阅读 · 0 评论 -
test
#include <linux/init.h>#include <linux/uaccess.h>#include <linux/module.h>#include <linux/interrupt.h>#include <linux/fs.h>#include <linux/sched.h>#include &...原创 2018-11-11 15:02:43 · 348 阅读 · 0 评论 -
Note07_Key按键驱动_共享中断及中断上下半部机制
共享中断机制: 1)共享中断即对于同一个中断源的1次触发,会同时按某个顺序有两个或两个以上的中断处理响应,也就是多个处理函数共享同一个中断号。2)若需设置共享中断,则:中断申请函数:ret = request_irq( irqnum, do_key_handler, IRQF_SHARED | IRQF_TRIGGER_RISING | ...原创 2018-11-11 14:07:43 · 399 阅读 · 0 评论 -
Note06_Key按键驱动_中断方式
KEY 硬件原理图 如下图所示,按键共有4个,K1——K4,对应的中断号为 XEINT26——29(并非与硬件实际的中断号对应),其对应的GPIO 引脚为GPX3_2——5。 KEY 相关寄存器 1)GPX3CON:GPIO PIN 模式设置寄存器GPX3_2,对应的中断模式需设置为0xF,GPX3_2——5 ==》EXT_INT43[5——2]...原创 2018-11-05 22:49:32 · 595 阅读 · 0 评论 -
Note06_02_LED驱动_GPIO子系统控制
Note06_02_LED驱动_GPIO子系统控制 接上节,使用另一种方式来初始化LED的寄存器:采用GPIO子系统函数接口,对LED的引脚对应的SFR进行设置和初始化,然后使用 ioctl命令来 读取和设置LED灯的状态; Led硬件电路图 Led GPIO引脚控制寄存器 参见上节《Note06_01_LED驱动_ioctl传输命令》内容。 GPIO子...原创 2018-11-04 12:29:41 · 341 阅读 · 0 评论 -
linux GPIO子系统内核源码追踪
提到GPIO 子系统,我们先来追踪下GPIO 子系统的接口函数是如何添加到内核中的?初次追踪GPIO 子系统源码,逻辑有点乱,后续再次梳理;但有1点已经很明确:GPIO 子系统初始化 设备的gpio PIN引脚,已有初步的了解和认识;内核编译时,已将GPIO 子系统编译进内核,所以驱动程序若想要要使用GPIO 子系统接口函数,只需按编写驱动程序一般步骤、GPIO 子系统接口函数调用顺序,进...原创 2018-11-03 21:58:36 · 1048 阅读 · 0 评论 -
Note06_01_LED驱动_ioctl传输命令
Note06_01_LED驱动_ioctl传输命令驱动目录Led硬件电路图Led GPIO引脚控制寄存器Led内存映射函数Led驱动程序框架1)杂项设备驱动简介2)杂项设备驱动注册函数3)ioctl 控制命令实现驱动实现流程梳理1)驱动程序入口实现2)驱动程序出口实现3)驱动程序fops操作接口实现Led驱动测试程序Led驱动程序实现Le...原创 2018-11-03 15:31:29 · 871 阅读 · 0 评论 -
Linux-DEVICE_ATTR()介绍及使用示例
转自:https://www.cnblogs.com/lifexy/p/9799778.html1.介绍使用DEVICE_ATTR,可以实现驱动在sys目录自动创建文件,我们只需要实现show和store函数即可.然后在应用层就能通过cat和echo命令来对sys创建出来的文件进行读写驱动设备,实现交互.2.DEVICE_ATTR()宏定义DEVICE_ATTR()定义位...原创 2019-10-01 16:16:08 · 1122 阅读 · 0 评论