- 博客(123)
- 资源 (2)
- 收藏
- 关注
转载 linux 设备电源管理框架dpm
在计算机系统中,可能包含众多的设备,如通信设备、存储设备、信号采集设备以及信号处理设备等。在linux中,通过设备模型将这些设备组织成了一个具有层次化结构的集合。电源管理的一个重要目标是在系统挂起恢复流程中,正确地挂起和恢复这些设备。为此内核实现了一套dpm框架,用于管理所有设备的电源相关流程linux系统休眠(三)设备休眠dpm - 知乎 (zhihu.com)
2024-05-11 13:18:17
39
原创 linux 设备驱动支持多个设备写法
当一个驱动支持多个设备的时候,在每个设备的dts中,都会配置各自的compatible,当与driver中的compatible匹配后,会取各自的data。在 __of_match_node中有match++。在bbb.dts中,匹配到第1条,data就用第1条。在ccc.dts中,匹配到第2条,data就用第2条。
2024-05-10 15:49:14
313
原创 RK3588 usb adb调试
问题:2路usb3.0 otg,在使用其中一路typeC1作用adb功能使用后,将这路设置成host模式后,另外一路typeC0设置device,这路还是无法当做usb adb来使用。设置usb controller属性为typeC0。再reset设置sys.usb.config属性。查看当前usb controller属性。设置usb typeC1模式为host。查看usb typeC1当前模式。
2024-05-10 10:17:02
545
转载 RK3588 usb调试
参考:Rockchip RK3588 - USB基础 & 调试 - 大奥特曼打小怪兽 - 博客园 (cnblogs.com)
2024-05-06 17:46:58
42
原创 RK3588平台MIPI CSI调试错误记录
这里0x438 表示场的分辨率只到1080大小,但是驱动配置里超过这个大小了。1200 --》 1080 就可以了。
2024-04-30 17:50:39
833
原创 KASLR 内核随机地址配置开启
CONFIG_RANDOMIZE_BASEkernel features ---> Randomize of module region independently from the core kernel参考链接:KASLR 内核动态地址 - kk Blog —— 通用基础 (abcdxyzk.github.io)
2023-08-25 17:14:04
333
原创 A2B bus:通过I2C访问slave以及slave外挂得设备
A2B 汽车音频流传输总线,如何通过master访问多个node slave设备以及slave设备下外挂得子设备
2023-08-25 14:56:51
214
原创 linux regulator接口驱动demo
设备树&i2c0 { mps2022_cam_pp: pp@21 { reg = <0x21>; compatible = "mps,mps2022"; device-supply = <&_3v3_db_ivi>; camera-supply = <&_8v_cam>; /* power down bit of mps2022 */ gpio = <&gpio6 12 GPIO_ACTIVE_HI
2022-02-11 10:06:19
1124
原创 gcc linaro交叉编译工具链下载地址
manifest_format=1.5# Note that for ABE, these parameters are not used# Component data for gmpgmp_url=http://snapshots.linaro.org/components/toolchain/infrastructuregmp_filespec=gmp-6.1.2.tar.xzgmp_md5sum=f58fa8001d60c4c77595fbbb62b63c1dgmp_mingw_on.
2021-12-20 10:33:36
1934
转载 ubuntu18.04以上系统使用旧版本的文件系统管理器
ubuntu 18.04 按键快速定位到文件或文件夹,而非出现搜索框转载#1.安装nemosudo apt-get install nemo#2.替代默认的文件管理器nautilusxdg-mime default nemo.desktop inode/directory application/x-gnome-saved-searchgsettings set org.gnome.desktop.background show-desktop-icons falsegsetti
2021-12-17 17:10:44
243
原创 [音频文件编译]通过audacity工具将2ch的音频文件编辑成8ch的音频文件
1 选择audacity工具上的【编辑】--->【偏好设置(或者首选项)】选择【导入/导出】--->【使用高级 混音选项】2. 导入2ch的音频文件3. 选择【轨道】--> 【追加新轨道】--> 【追加立体声轨道】立体声轨道是2ch的,所以追加3次就是8ch的音频轨道了4. 导出选择【文件】【导出】【导出音频】【保存】【确定】 【确定】ok,生成完成。...
2021-12-10 20:37:13
1694
原创 linux系统读写eth网卡PHY寄存器工具mdio_mmd_indirect
#include <sys/types.h>#include <sys/socket.h>#include <sys/ioctl.h>#include <linux/if.h>#include <linux/mii.h>#include <linux/sockios.h>#include <errno.h>#include <stdio.h>#include <string.h>.
2021-11-17 11:13:27
16938
原创 linux系统读写eth网卡PHY寄存器工具mdio_cmd
在用户层访问smi/mdio总线, 读写phy芯片寄存器的通用代码。Linux内核2.6以上通用。mdio_cmd.c#include <sys/types.h>#include <sys/socket.h>#include <sys/ioctl.h>#include <linux/if.h>#include <linux/mii.h>#include <linux/sockios.h>#include <
2021-11-17 11:11:10
3266
原创 音频编辑器工具
Audacity 是一个针对 Linux/Unix、 MacOS 及 Windows 平台的多音轨音频编辑器。 它是为方便用户录制、播放和编辑数字音频而设计的。Audacity 带有数码特效和频谱分析 工具。操作便捷并支持无限次撤消和重做。它支持的文件格式包括 Ogg、Vorbis、MP2、MP3、WAV、AIFF 和 AU 等。许可协议:开源...
2021-09-28 17:50:11
79
原创 liunx下xxd命令将text文件转成hex文件
liunx下xxd命令将text文件转成hex文件命令格式如下:xxd -r -p dd12.txt dd12.bin
2021-09-27 08:44:52
834
原创 linux下交叉编译strace工具
1. strace工具最新源码包下载github下载地址:https://github.com/strace/strace2. 执行bootstrap,生成configure文件root@:/home/samba/strace# ./bootstrapgenerating ./xlat/adjtimex_modes.hgenerating ./xlat/access_flags.hgenerating ./xlat/addrfams.hgenerating ./xlat/adjti
2021-09-01 13:44:40
535
原创 linux磁盘IO测试工具fio交叉编译
如何使用请参考以下文章https://www.cnblogs.com/xuyaowen/p/fio-usage.html1. 下载源码地址https://github.com/axboe/fio.githttp://git.kernel.dk/cgit/fio/2. configure配置通过./configure --help 查看帮助在当前路径下创建out文件./configure --host=arm-linux --cross-prefix=/home/lb008
2021-08-20 16:24:24
3137
原创 linux下drivers/gpio/gpiolib.c上再封装一层user gpio驱动
每个SOC芯片厂家BSP包,基于drivers/gpio/gpiolib.c下封装一层属于自己的GPIO驱动。生成的驱动节点一般在/sys/devices/platform/gpio/gpioxxx上层应用程序可以通过该节点下的value:/sys/devices/platform/gpio/gpioxxx/value,来对GPIO引脚进行输出电平控制。但是xxx是底层驱动通过某个公司换算出来的一组数值,用户无法明确知道对应的是哪个GPIO口。所以可以自己在SOC厂家的驱动基础上再封装一层,
2021-01-01 18:08:54
597
原创 linux驱动添加延迟队列monitor(Add delay worker for gmsl)
通过delay work实现在linux驱动中添加周期处理函数(monitor)#include <linux/delay.h>#include <linux/gpio/consumer.h>#include <linux/i2c.h>#include <linux/interrupt.h>#include <linux/irq.h>#include <linux/kernel.h>#include <li.
2020-11-02 23:44:52
501
原创 GPIO口工作原理的超详细解释(附电路图)
STM32的GPIO介绍STM32引脚说明GPIO是通用输入/输出端口的简称,是STM32可控制的引脚。GPIO的引脚与外部硬件设备连接,可实现与外部通讯、控制外部硬件或者采集外部硬件数据的功能。STM32F103ZET6芯片为144脚芯片,包括7个通用目的的输入/输出口(GPIO)组,分别为GPIOA、GPIOB、GPIOC、GPIOD、GPIOE、GPIOF、GPIOG,同时每组GPIO口组有16个GPIO口。通常简略称为PAx、PBx、PCx、PDx、PEx、PFx、PGx,其..
2020-10-08 16:24:37
8863
原创 docker搭建工程编译环境
一、必要工具docker下载安装1.1 下载安装docker工具sudo apt install apt-transport-https ca-certificates curl software-properties-commoncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -sudo add-apt-repository "deb [arch=amd64] https://downl
2020-09-25 14:31:16
693
原创 根据udev机制创建video camera设备节点软链接
一、列出设备所有属性,用来编写udev规则# udevadm info -a -n [device name]将 [device name] 替换为系统中存在的设备,比如 /dev/sda 或 /dev/ttyUSB0。如果你不知道设备名,你也可以列出某个系统路径的属性:-a :所有属性-n:后面跟设备节点node查看video设备节点所有属性# udevadm info -a -n /dev/video16root:/ # udevadm info -a -n /de
2020-09-22 10:39:49
966
原创 linux系统oops panic 奔溃问题调查objdump工具使用demo脚本
用法:./objdump-function.sh vmlinux symbolsymbol指定要找的函数名vmlinux=$1 symbol=$2 #source /opt/poky/1.6.1/environment-setup-cortexa15hf-vfp-neon-poky-linux-gnueabiif [ -z "$vmlinux" ]; then echo "usage : $0 vmlinux symbol" exit fi start...
2020-09-15 15:23:39
267
原创 maxim 美信IC 远端设备访问条件(gmsl协议)
硬件条件:1. BWS2. HIM3. DBL确认以上三个硬件回路设计电平接口是否一致。软件条件:1. 是否使能反向控制通道
2020-09-15 15:19:12
588
2
原创 linux内核wait_event_interruptible和wake_up_interruptible的使用,实现内核两个进程间的交互
内核中使用wait_event_interruptible和wake_up_interruptible接口函数,来实现内核两个进程之间的交互。代码实现:/* 声明一个工作队列入等待*/static DECLARE_WAIT_QUEUE_HEAD(my_wq);static volatile int wq_condition = 0;void thread1(){ for(;;){ /*进入休眠等待*/ wait_event_interrupti
2020-09-06 22:48:58
786
转载 Linux 字符设备驱动结构(四)—— file_operations 结构体知识解析
前面在Linux 字符设备驱动开发基础 (三)—— 字符设备驱动结构(中),我们已经介绍了两种重要的数据结构struct inode{...}与 struct file{...} ,下面来介绍另一个比较重要数据结构struct _file_operationsstruct _file_operations在Fs.h这个文件里面被定义的,如下所示: struct file_operations { struct module *owner;//拥有...
2020-09-06 20:04:18
544
转载 Linux 字符设备驱动结构(三)—— file、inode结构体及chardevs数组等相关知识解析
前面我们学习了字符设备结构体cdevLinux 字符设备驱动开发 (一)—— 字符设备驱动结构(上) 下面继续学习字符设备另外几个重要的数据结构。 先看下面这张图,这是Linux 中虚拟文件系统、一般的设备文件与设备驱动程序值间的函数调用关系; 上面这张图展现了一个应用程序调用字符设备驱动的过程, 在设备驱动程序的设计中,一般而言,会关心 file 和 inode 这两个结构体 用户空间使用 open() 函数打开一个字符设备 fd =...
2020-09-06 20:00:56
174
转载 Linux 字符设备驱动结构(二)—— 自动创建设备节点
上一篇我们介绍到创建设备文件的方法,利用cat /proc/devices查看申请到的设备名,设备号。第一种是使用mknod手工创建:mknod filename type major minor第二种是自动创建设备节点:利用udev(mdev)来实现设备文件的自动创建,首先应保证支持udev(mdev),由busybox配置。 具体udev相关知识这里不详细阐述,可以移步Linux 文件系统与设备文件系统 —— udev 设备文件系统,这里主要讲使用方法。 在...
2020-09-06 19:59:46
176
转载 Linux 字符设备驱动结构(一)
一、字符设备基础知识1、设备驱动分类 linux系统将设备分为3类:字符设备、块设备、网络设备。使用驱动程序:字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据。字符设备是面向流的设备,常见的字符设备有鼠标、键盘、串口、控制台和LED设备等。块设备:是指可以从设备的任意位置读取一定长度数据的设备。块设备包括硬盘、磁盘、U盘和SD卡等。每一个字符设备或块设备都在/dev目录下对应一个设备文件。linux用户程序通过设...
2020-09-06 19:56:09
154
原创 带参数加载驱动模块
内核允许对驱动程序指定参数,而这些参数可在装载驱动程序模块时改变。这些参数的值可在运行insmod或modprobe命令装载模块时赋值,而modprobe还可以从它的配置文件(/etc/modprob.conf)中读取参数值。这两个命令可在命令行接受几种参数类型的赋值。hello world例子程序:#include <linux/init.h>#include <linux/module.h>#include <linux/moduleparam.h>
2020-08-30 22:46:06
354
A2B slave &peri device 访问说明
2023-08-25
A2B 配置,关于superframe超级帧数据dataslots,downstreams和upstreams传输配置
2023-08-24
STM8L控制SIM868模块GPS/LBS定位
2018-03-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人