<( ̄︶ ̄)Okay.
<( ̄︶ ̄)↗[GO!]
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
yuv420sp转yuv420p
【代码】yuv420sp转yuv420p。原创 2023-02-15 17:44:59 · 315 阅读 · 0 评论 -
c接口读取块设备大小
c接口读取块设备大小原创 2022-06-08 12:07:30 · 243 阅读 · 0 评论 -
rv1126如何切换720p和1080p
切换720p和1080p可以使用modetest,但是需要将这两种模式都添加到connector中去添加一个新的mode到connector中去,其实内核中已经有相关接口了,需要做一些小改动。1.不采用设备树的方式去配置,将720p和1080p的timing参数配置放在数组中。2.这里的printer和设备树中的.compatible = "printer"一致。3.将其添加到connector中去static int panel_simple_get_fixed_modes(struct原创 2021-12-14 16:57:58 · 720 阅读 · 0 评论 -
linux kernel --component组件用法
kernel - component组件用法linux component组件架构分析转载 2021-12-10 19:26:19 · 538 阅读 · 0 评论 -
RV1126_RV1109从设备树中读取native-mode节点信息流程
1.video/of_display_timing.cstruct display_timings *of_get_display_timings()在该函数中获取native-mode节点信息,返回值就是获取到的timing,下步查看谁调用该函数。2.video/of_videomode.cint of_get_videomode()这里获取到的disp就是保存了timing值。timing值最后被保存在了vm中3.gpu/drm/drm_modes.cvm中保存的timin原创 2021-12-09 10:47:35 · 545 阅读 · 0 评论 -
/dev下面存在设备,却open 失败的问题open: No such device or address
问题上面可以看到存在/dev/nvp6021这个设备文件,但是open却报错:open: No such device or address这个问题比较奇怪,因为我是测试一段时间后突然出现这个问题的,不是说一开始就报错。我查找的思路:1.是否已经被打开了;2.权限问题;3.在驱动中加打印;这一步本来说想测试一下open接口,但是这次open却成功了然后去掉这个打印也是open成功的。我不知道这个是什么linux机制导致的!!!勉强解决了问题,如果高手请指教!!!...原创 2021-11-17 17:48:44 · 10668 阅读 · 2 评论 -
2.进程原理及系统调用
1.进程的四要素1.有一段程序代其执行;2.有进程专用的系统堆栈空间;3.在内核有task_struct数据结构;4.进程有独立的存储空间,拥有专有的用户空间。如果完全没有用户空间,就称为内核线程;如果共享用户空间就称为用户线程。linux内核线程2.进程间状态转换...原创 2021-11-13 15:36:12 · 751 阅读 · 0 评论 -
spi设备驱动编写
#include <linux/types.h>#include <linux/kernel.h>#include <linux/delay.h>#include <linux/ide.h>#include <linux/init.h>#include <linux/module.h>#include <linux/errno.h>#include <linux/gpio.h>#include &原创 2021-08-30 09:41:52 · 339 阅读 · 0 评论 -
Proc文件系统学习
参考文章Proc文件系统概述Proc File System是一个虚拟的文件系统,可以理解为内核对用户开放的接口,让内核和用户进程进行数据交换(读取内核进程的数据,修改内核参数等)。例如:cat /proc/cpuinfoCreating a new Proc file要创建一个Proc file需要实现file_operation结构体,主要实现read和write就可以了。然后通过proc_create来注册,将模块注册到内核后,就能在/proc/目录找到我们的文件了。对该文件进行读写原创 2021-08-21 16:38:38 · 139 阅读 · 0 评论 -
spi设备驱动
#include <linux/types.h>#include <linux/kernel.h>#include <linux/delay.h>#include <linux/ide.h>#include <linux/init.h>#include <linux/module.h>#include <linux/errno.h>#include <linux/gpio.h>#include &原创 2021-08-20 19:49:02 · 358 阅读 · 0 评论 -
配置samba服务器,实现ubuntu和windows的文件传输
配置samba服务器,实现ubuntu和windows的文件传输原创 2021-07-01 11:17:53 · 119 阅读 · 0 评论 -
linux驱动学习之块设备
什么是块设备块设备是针对存储设备的,比如SD卡,EMMC,NAND Flash, Nor Flash,SPI Flash,机械硬盘,固态硬盘。块设备和字符设备的区别块设备:以块为单位进行读写访问;可以随机访问,对于块设备的读写都是按块进行的,块设备使用缓冲区来暂存数据,等到条件成熟后,再一次性将缓冲区的数据写入块设备。块设备驱动框架block_device结构体linux内核中使用block_device表示块设备,定义在include/linux/fs.h中;struct block_dev原创 2021-06-30 20:49:08 · 153 阅读 · 0 评论 -
蓝牙调式步骤
开启蓝牙执行脚本./bt_init.sh开启蓝牙 hciconfig hci0 up查看是否有节点 hciconfig -a4.扫描周边蓝牙设备hcitool scan连接测试测试工具:l2ping选择某一个蓝牙设备进行ping,是否ping通bluetoothctl 扫描到手机蓝牙通信测试 蓝牙通信需要使用bluetoothctl工具,bluetoothctl功能强大,可以完成蓝牙配对,连接,数据收发等1.启动bluetoothd上面开启蓝牙部分要执行完成bl原创 2021-06-30 15:35:22 · 453 阅读 · 0 评论 -
使用kobject,可以用echo,cat控制gpio电平,方向,上下拉
#include <linux/device.h>#include <linux/module.h>#include <linux/kernel.h>#include <linux/init.h>#include <linux/string.h>#include <linux/sysfs.h>#include <linux/stat.h>#include <linux/of_gpio.h>#inc原创 2021-06-30 15:25:25 · 156 阅读 · 0 评论 -
DDR坏道检测
memtesterMemtester主要是捕获内存错误和一直处于很高或者很低的坏位memtester命令用free -M查看内存因为系统运行和本工具运行都需要内存,所以不能把所有的内存都测试到。可以先用free 命令查看系统剩余多少内存空间再测试free:空闲的物理内存memtester开始测试根据free -M查看到的剩余内存,修改参数及进行测试...原创 2021-06-30 15:17:05 · 868 阅读 · 0 评论 -
中断驱动测试代码
驱动代码#include <linux/module.h>#include <linux/fs.h>#include <linux/miscdevice.h>#include <asm/uaccess.h>#include <linux/interrupt.h>#include <linux/irq.h>#include <linux/gpio.h>#include <linux/delay.h>原创 2021-06-30 15:03:49 · 141 阅读 · 0 评论 -
linux坏块检测方法
坏块检测代码这里测试的方式是,open一个分区,将其写满,在擦除,反复多次,再用linux命令进行测试,是否有坏块产生。#define _LARGEFILE64_SOURCE /* See feature_test_macros(7) */#define _GNU_SOURCE#include <stdio.h>#include <stdlib.h>#include <fcntl.h>#include <sys/types.h>#inc原创 2021-06-30 14:58:21 · 1028 阅读 · 0 评论 -
串口测试代码
串口简介串口参数的配置主要包括:波特率、数据位、停止位、流控协议。串口详细配置包括:波特率、数据位、校验位、停止位等。串口设置由下面的结构体实现:struct termios{ tcflag_t c_iflag; //input flags tcflag_t c_oflag; //output flags tcflag_t c_cflag; //control flags tcflag_t c_lflag; //local flags cc_t原创 2021-06-30 14:43:26 · 385 阅读 · 0 评论