linux驱动篇
介绍常见驱动模型
且偷浮生半日闲
这个作者很懒,什么都没留下…
展开
-
linux select的简单使用
sellect就来复用i/o,可以检查文件句柄的状态。下面给出别人写的一个连接select原创 2021-02-22 10:52:44 · 256 阅读 · 1 评论 -
设备树的使用(三)
这一节正式开始使用设备树来写驱动在上一节我们我们添加了名称属性le_test这里直接复制别人写的测试程序#include <linux/init.h>#include <linux/module.h>#include <linux/platform_device.h>#include <linux/of.h>#include <linux/of_gpio.h>#define DRIVER_NAME "leds_test"sta原创 2020-11-09 19:49:17 · 159 阅读 · 0 评论 -
linux 动态静态字符设备注册
杂项设备的主设备号是固定的 是10,当不想固定时,需要自己去申请是静态设备注册,动态的是系统分配首先来说静态注册#include <linux/init.h>/*包含初始化宏定义的头文件,代码中的module_init和module_exit在此文件中*/#include <linux/module.h>/*包含初始化加载模块的头文件,代码中的MODULE_LICENSE在此头文件中*//*定义module_param module_param_array的头文件*/原创 2020-10-10 10:01:27 · 294 阅读 · 0 评论 -
设备树的使用(三)
这一节我们讲设备树简单驱动例程#include <linux/init.h>#include <linux/module.h>#include <linux/platform_device.h>#include <linux/of_gpio.h>#include <linxu/of.h>#include <stdio.h>MODULE_LICENSE("Dual BSD/GPL");#define device_name原创 2020-10-07 14:42:14 · 323 阅读 · 0 评论 -
设备树的使用(二)
1.通过sys可以查询到设备树的所有信息在/proc/device-tree目录下可以看到所有节点信息/sys/devices/platform/目录下所有节点信息,如果这有,说明注册了设备设备节点的增加test_1:test_2{compatible = “leds_test”;status = “disabled”;};&test_1 {status = “okay”;};编译 烧写设备树这里可以看到test_2接着就是重点 如何使用设备树去写驱动放在下一节来写。原创 2020-09-30 16:53:24 · 196 阅读 · 0 评论 -
设备树的使用(一)
从今天开始,把以前学的设备树总结记录一下。设备树之所以诞生,是为了改变以前臃肿的代码体系结构。一种新的方式来写驱动。1.首先说设备树的组成,设备树有dts和bindings组成, bindings主要用来放宏文件dts分为dts和dtsi dtsi是平台文件。dts是板级文件{}被称为节点 其中带/{}被称为根节点,节点的标准写法XXXX@yyyyyy{ };xxx是节点的名字,yyy则不是必须的,其值为节点的地址(寄存器地址或其他地址)节点包含属性和子节点设备树学习的主要部分:设原创 2020-09-30 14:45:05 · 646 阅读 · 0 评论 -
最小文件系统的制作
首先进入官网 http://www.busybox.net/ 下载busybox,这里我们下载的是1.32的版本。接下来我们讲如何制作文件系统原创 2020-09-25 11:06:14 · 322 阅读 · 0 评论 -
4412 uboot移植(二)
上一节uboot移植一上一节 已经成功的加载bl2,这一节我们将bl2初始化 时钟、串口、内存原创 2020-09-04 15:14:53 · 304 阅读 · 0 评论 -
4412 uboot启动流程
我们首先看下三星提的供启动流程图原创 2020-09-03 13:30:44 · 253 阅读 · 0 评论 -
linux最新内核5.80版本移植详细过程
1.首先进入官网下载下载源码 https://mirrors.edge.kernel.org/pub/linux/kernel/下载最新5.8的版本2.安装编译器,解压压缩包 ,配置makefile这里的编译器下载需要linaro官网下载编译器 如果不会下载可以私信我gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.tar.xz//下载最新版本,也可以用其他的然后配置编译环境tar xvf linux-5.8.tar.gz修改ma原创 2020-08-11 20:04:11 · 1840 阅读 · 3 评论 -
u-boot移植fastboot
首先找一份正常运行带fastboot功能的u-boot,这里以4412为平台。 移植的是u-boot -2013具体就不讲了u-boot的cmd命令都在…/common目录下这里我们把cmd_fastboot.c拷贝出来 并在makefile添加进去 接着编译 发现报错 少了fastboot.h 搜索一下,发现此文件在 include/fastboot.h 记住每添加一个.c 都要在相应makefile添加编译进去内核。接着继续编译,发现还是报错,不要着急,慢慢来,话说怎么添加图片啊。不管这个了,然后继原创 2020-07-15 13:59:04 · 759 阅读 · 0 评论 -
4412 u-boot移植
1原创 2020-07-11 11:45:01 · 652 阅读 · 0 评论 -
linxu驱动输入子系统
1原创 2020-07-08 17:19:02 · 108 阅读 · 0 评论 -
linux驱动内核定时器
1原创 2020-07-08 17:18:03 · 179 阅读 · 0 评论 -
linux驱动poll机制和异步通知
1原创 2020-07-08 17:15:27 · 283 阅读 · 0 评论 -
linux驱动之spi
1原创 2020-07-08 17:14:14 · 125 阅读 · 0 评论 -
linux驱动之iic
1原创 2020-07-08 17:13:32 · 122 阅读 · 0 评论 -
linux 驱动之中断
1原创 2020-07-08 17:12:51 · 166 阅读 · 0 评论 -
linux驱动gpio操作
1原创 2020-07-08 17:12:04 · 159 阅读 · 0 评论 -
linux生成设备节点、字符设备
1原创 2020-07-08 17:10:58 · 274 阅读 · 0 评论 -
linux生成设备节点 、杂项设备
1.misc_register(struct miscdevice *misc)这个函数是注册杂项设备的函数misc_deregister(struct miscdevice *misc);这个函数是卸载的struct file_operations *test这个定义读写函数的下面就写个具体例子原创 2020-07-08 17:10:14 · 246 阅读 · 0 评论 -
linux虚拟平台总线的设备 驱动注册及匹配
如图是驱动 设备在平台总线上的注册及匹配流程图。原创 2020-07-08 17:00:03 · 232 阅读 · 0 评论 -
lInux中的Menuconfig_Kconfig
• Menuconfig的操作• Kconfig和.config文件• Linux内核配置裁减(实验)原创 2020-07-07 15:01:53 · 255 阅读 · 0 评论 -
linux驱动最小模块构成
#include <linux/init.h>#include <linux/module.h>MODULE_LICENSE("Dual BSD/GPL");MODULE_AUTHOR("TOPEET");static int hello_init(void){ printk(KERN_EMERG "HELLO WORLD enter!\n"); return 0;}static void hello_exit(void){ printk(KERN_EME原创 2020-07-07 14:52:12 · 782 阅读 · 0 评论 -
llinux驱动基础知识
1.linux体系结构原创 2020-07-07 14:31:48 · 333 阅读 · 0 评论 -
pcie驱动模型
原创 2020-06-17 15:58:54 · 350 阅读 · 0 评论