imx6ull
heng6868
这个作者很懒,什么都没留下…
展开
-
字符设备驱动的框架
一、首先写入口函数和出口函数moudle_init(xxx);/当加载驱动的时候会调用xxx函数,所以xx函数里面要有注册字符设备的功能int a=0;a=register_chrdev(200,“aaa”,&b);/这样就可以注册一个主设备号为200,名字为aaa的字符设备。通过cat /proc/devices可以查看设备。(这种方法会占用所有主设备号为200的设备,也就说本来一个主设备号可以有很多次设备号,但是这样做就让这一个驱动占用了所有主设备号为200的次设备号。关于&b原创 2021-07-25 12:03:50 · 294 阅读 · 0 评论 -
imxu6ull的启动
imx6u的启动原创 2022-08-19 16:10:58 · 432 阅读 · 0 评论 -
imx6ull串口使用
#include <stdio.h>#include <string.h>#include <sys/types.h>#include <errno.h>#include <sys/stat.h>#include <fcntl.h>#include <unistd.h>#include <termios.h>#include <stdlib.h> int uart_init(int原创 2021-11-02 22:03:37 · 1214 阅读 · 2 评论 -
QT的语音识别
难点:难点就是如何跟百度云的语音应用进行通信。首先,要获取应用的API Key、Secret Key,并通过请求鉴权接口换取 token。向授权服务地址https://aip.baidubce.com/oauth/2.0/token发送请求(推荐使用POST),并在URL中带上以下参数:并在URL中带上以下参数:grant_type: 必须参数,固定为client_credentials;client_id: 必须参数,应用的API Key;client_secret: 必须参数,应用的Secr原创 2021-09-23 21:55:35 · 1192 阅读 · 0 评论 -
QT小问题
1.在类中槽函数中创建另一个类的变量,会调用另一个的构造函数,但是不会产生窗口。(不懂)原创 2021-09-13 10:42:42 · 95 阅读 · 0 评论 -
SPI在linux驱动下的一些问题
1.频率是写到设备节点还是spi节点下?i2c都可以,i2c下不写频率都可以。spi必须写速率,不然连probe都匹配不上,还必须加到设备节点下,直接加到ecspi节点下不行。2.直接设置为片选信号会怎样试了,不可以。不理解片选信号。3.不初始化m,直接添加transfer会怎样必须初始化,不然运行会报错。4.fifo寄存器为什么不用?用fifo寄存器可以减轻通信压力,例如,在发送数据时cpu需要一直等到数据发送出去才可以进行其它的工作,而用了FIFO寄存器,数据可以存在相应的FIFO寄存器原创 2021-08-31 17:09:05 · 472 阅读 · 0 评论 -
uart与i2c的区别
区别:发现和i2c还有spi的驱动不太一样,i2c和spi的驱动是控制器驱动写好,具体的外设驱动需要自己修改设备树并自己写外设驱动。而UART是作为驱动的,把UART的设备地址在设备树体现,然后在驱动里面进行初始化配置就可以使用。为什么i2c需要再写一个外设的驱动呢?因为i2c的通信不能像UART那样直接收发数据就可以对设备操作。i2c需要获取设备的设备地址(从设备树中),而且还要控制片选信号,不仅仅是光收发数据就可以。而UART就相对简单,就直接收发数据就可以了。...原创 2021-08-26 16:54:03 · 807 阅读 · 0 评论 -
i2c驱动
一、修改设备树,并且在模块入口函数里面注册i2c驱动,也就是注册struct i2c_driver类型的结构体,在里面实现Probe,remove,of_match_table(设备树匹配),id_table(传统匹配),.driver即可。这里有个问题就是,必须of_match_table和id_table都要实现,即使id_table是空的也可以,但是必须实现(不明白)。在设备树下面添加节点,一定要添加到i2c节点之下,这样注册的struct i2c_driver类型的结构体,才能成功的匹配到节点。原创 2021-08-23 21:01:50 · 346 阅读 · 0 评论 -
linu虚拟机与开发板相连
一.首先要将虚拟机与主机通过桥接模式相连通,需要设置桥接信息如此:![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/09d9619d230943b04cdf84263d807052.png)此时,可以发现虚拟机已经连上了外网。(学校校园网虚拟机不可以连接)二、将虚拟机网络设置改为如此:![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/8b93ea97a5ddf4e60f10da4988b7原创 2021-07-22 17:00:20 · 280 阅读 · 0 评论 -
开发板通过NFS启动linux系统
三条命令:1.tftp 80800000 zImage//下载移植好的镜像2.tftp 83000000 imx6ull-alientek-emmc.dtb//下载移植好的设备树文件3.bootz 80800000 - 83000000//启动原创 2021-07-22 17:04:11 · 127 阅读 · 0 评论 -
字符设备驱动的理解
一、字符设备驱动主要是对fs.h里面的file_operations里的open、read、write、close等等一些函数的实现二、字符设备驱动可以编译进kernel(内核)里面,也可以编译成模块,再测试的时候直接运行模块(.ko)即可。三、模块的加载与删除moudle_init(chrdevbase_init),模块的入口,当加载模块的时候,会调用里面的chrdevbase_init函数moudle_close(chrdevbase_close),模块的出口,退出模块的时候,会调用里面的原创 2021-07-23 17:38:01 · 179 阅读 · 0 评论