logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Linux驱动开发笔记(二十)——SPI (ICM20608驱动+0.96寸OLED驱动)

这部分只做了解即可,一般都由原厂提供。驱动开发的重点还是在SPI设备驱动SPI驱动框架和I2C类似,都分主机控制器驱动和设备驱动。SPI主机驱动就是SOC的SPI控制器驱动,类似I2C驱动里面的适配器驱动。spi_master的定义如下。因为太长了,有删减,只保留了重要的部分。* 除非为负数(== 动态分配),否则bus_num完全由板级决定。* 例子:某个SoC有三个SPI控制器,编号0 1 2

#驱动开发#linux
Linux驱动开发笔记(五)——设备树(下)——OF函数

指南》43.9部分设备树的功能就是描述设备信息,帮助驱动开发。那么驱动如何获取设备信息?获取这些信息的函数linux直接提供,都定义在linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek/include/linux/of.h文件中。这些函数统一以of开头,也称为OF函数。

#驱动开发#linux
Linux驱动开发笔记(五)——设备树(上)

第6.1讲 Linux设备树详解-什么是设备树?_哔哩哔哩_bilibili对应《指南》43.1部分uboot启动时需要内核zImage 和 .dtb文件,其中dtb便是由设备树文件dts(Device Tree Source)转换而来。dts文件用树形结构来描述板级信息,即开发板上的设备信息,如CPU数量、 内存基地址、IIC接了哪些设备等等。bootcmd命令中,80800000就是zImag

#linux#驱动开发
Linux驱动开发笔记(二十六)——PWM(SG90驱动)

资料:《【正点原子】I.MX6U开发指南V1.81.pdf》七十三章。

#驱动开发#linux
Linux驱动开发笔记(四)——自动分配设备号 & 创建设备节点

内容详见《【正点原子】I.MX6U嵌入式Linux驱动开发指南》四十二章开发板:imx6ull mini虚拟机:VMware17之前一直使用register_chrdev函数来注册字符设备,这会将整个主设备号下的次设备号都用掉,浪费次设备号,还需要手动指定主设备号,还需要确定哪个主设备号没有被使用,还需要mknod创建设备节点文件 巴拉巴拉……既然已经有系统了,最方便的方法就是直接由系统分配。

#linux#驱动开发
Linux驱动开发笔记(二十四)——(下)IIO + MPU6050驱动

可以发现上面的两个函数用了file_path[index]来找文件的路径。因为iio生成的文件名称都是固定的,所以可以直接写好存到数组里,并配合使用枚举作为索引:(这里注意,自己的设备可能并不是device0,需要提前确认一下)/* mpu6050 iio框架对应的文件路径 *//* 文件路径索引,要和file_path里面的文件顺序对应 */

#linux#驱动开发
Linux驱动开发笔记(二十四)——(上)IIO + icm20608驱动

文件名:bsp_icm20608.h作者: 左忠凯版本: V1.0描述: ICM20608驱动文件。其他: 无论坛: www.wtmembed.com日志: 初版V1.0 2019/3/26 左忠凯创建#define ICM20608G_ID0XAF/* ID值 */#define ICM20608D_ID0XAE/* ID值 *//* ICM20608寄存器*复位后所有寄存器地址都为0,除了。

#linux#驱动开发
Linux驱动开发笔记(十二)——异步通知

中断就是处理器提供的一种异步机制。处理器只需要把中断设置好,就不再需要时刻检查中断事件是否发生。前几次按键实验,最早使用while(1)不断read,直接沾占满CPU;后来加入了阻断和非阻断,使用休眠/轮询来降低CPU占用。但这几种情况都需要应用程序主动去查询驱动设备使用情况。为了和中断一样,能让驱动主动告诉应用程序,引入了“信号”,在软件层次上模拟中断功能(不是软中断!信号的定义在arch/xt

#linux#驱动开发
Linux驱动开发笔记(十三)——platform设备驱动

(本次实验只需要用到name和of_match_table)// 定义在include/linux/device.h// 驱动名,在没有设备树的情况下用于和设备匹配。// 用于有设备树时的匹配// 定义在include/linux/mod_devicetable.h// 用于和设备树中的节点的compatible属性进行匹配3.2.2 注册和卸载// 定义在include\linux\platfo

#驱动开发#linux
Linux驱动开发笔记(十九)——I2C(AP3216C驱动+MPU6050驱动)

资料:《【正点原子】I.MX6U开发指南V1.81.pdf》六十一章这目录也是又臭又长了。

#linux#驱动开发
    共 31 条
  • 1
  • 2
  • 3
  • 4
  • 请选择