![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 64
daisy.skye
Linux底层驱动开发:高通msm8953/msm8090/sdm450、RK3568的gc/ov-camera、mipi-lcd,tp等外设开发;嵌入式开发:精通i2s、i2c、uart、can、modbus等协议驱动开发;精通STM32、GD32、PY32等mcu;熟悉FPGA(安路)+CPLD的fifo、ram开发;目前扩展国科、海思平台下
其他领域:Vue+Js+Mysql(前后端);Qt+Wincc(上位机)、CANdb++LAN LIN(车载)
技能:datasheet分析、示波器信号测量、PCB电路排查、0402焊接、GPT使用
在线有偿佛系提供学习、技术、方案、改版等指导
展开
-
automake 编译提示版本报错 解决高版本不兼容低版本
-add-missing 参数告诉 automake 自动添加任何缺失的标准 Makefile 规则或者辅助文件,如 install-sh、missing 等,这些通常是构建、安装或测试过程中需要的。编译时提示需要使用1.15 但是实际运行的是1.16.5 按理来说,高版本都会默认对低版本的兼容,但是这个强制提示需要1.15就很奇怪,所以不用着急去更新当前的版本,而是看下编译的脚本的中指向的参数进行就跟即可。修改路径下的Makefile文件中的automake的版本修改。原创 2024-07-20 12:06:39 · 632 阅读 · 0 评论 -
蓝牙驱动Bluez交叉编译问题合集(包含dubs\udev\glib……)
前面提到wifi的驱动编译,也讲到了相比较bluez蓝牙驱动编译,wifi的编译已经是很简单了那么来看看bluez驱动编译,由于依赖的模块众多,每个模块又要单独编译,并且有一定的依赖顺序,整个流程的报错量,卡关难度巨大,耗时也是相当的严重,这边总结一些过程中遇到的问题,和解决的方法,方便大家遇到同类问题时快速通过!简直就是闯关攻略,哈哈哈哈,随便说说bluez 依赖 dbus依赖glibbluez 依赖libudev 依赖libkmod 编译时不建议udev(编译报错太多)用eudev更方便。原创 2024-07-19 09:53:52 · 350 阅读 · 0 评论 -
linux环境的wifi配置工具及工作模式区分介绍
Linux环境下的配置工具工作模式使用的工具STAAPhostapdP2Pwpa_cli以下这些文件和目录构成了无线网络配置和管理的基础组件,主要用于设置和管理Wi-Fi接入点(Access Point, AP)以及客户端连接。下面是每个组件的基本解析,所提到的版本是基于当前工具配置的,具体根据自己的需求:hostapd:作用: 是一个用于创建Wi-Fi接入点的程序,允许其他设备通过无线方式连接到该设备形成的网络。它是许多无线路由器和热点功能的核心组件。原创 2024-07-18 18:46:27 · 563 阅读 · 0 评论 -
基于Linux的USB-wifi配置流程
首先保证Linux设备的内核支持usb以及wifi(其中CFG80211是内核中wifi驱动,这块内容和下列的usb驱动编译时一样的,而且更好找)make menuconfig->Device Drivers按空格选选中USB2.0为* 编译到内核(PS如果选中M将被编译为内核模块(.ko文件)。模块可以在内核运行时动态加载或卸载,如果你不经常使用某些功能,或者想要在不重启内核的情况下添加或移除功能,可以选中M模块化)原创 2024-07-18 18:39:15 · 480 阅读 · 0 评论 -
基于rk3568解决gpio阶梯波形(适用于i2c、uart、电平转换)
实测中遇到的是i2c问题,但是uart或者电平转换芯片都会遇到,首先保证外部是否有1k电阻的上拉,当然具体的电阻可以自行进行调节,其次需要满足开漏模式的输出(OD)。根据原理图的地址,查询rk3568的手册得到gpio的OD配置及地址,daisy.skye擅长嵌入式,Linux,Qt,等方面的知识。daisy.skye_嵌入式,Linux,Qt-CSDN博客。kernel编译(单编 boot.img 同步骤)1、理解GPIO的开漏(OD)和开集(OC)单独编译boot.img。2、查询io寄存器地址。原创 2024-03-08 09:28:08 · 1108 阅读 · 0 评论 -
RK3568 AD按键改成GPIO按键
定义了KeyEvent类,其中包含了键码的常量定义,包括KEYCODE_HOME。//input类型 按键 即1。KeyEvent类,键码的常量定义。//io脚地址 高电平响应。Home键的事件处理逻辑。原创 2023-11-20 14:25:39 · 365 阅读 · 0 评论 -
高通mipi屏幕lk驱动和kernel驱动对比解析
第一行的四个数值除了0x03,需要改动,后面的。bootloader与kernel的对比。原创 2023-11-20 14:22:21 · 280 阅读 · 0 评论 -
高通lk阶段配置GPIO初始化
gpio_tlmm_config配置gpio的引脚,功能,方向,能力,gpio_set_dir配置gpio的高低电平。功能定义:默认0表示普通io;GPIO配置函数gpio_tlmm_config。驱动能力:从2mA到16mA,一般定义8mA。,输入配置GPIO_ENABLE。gpio 引脚:具体根据原理图。,输入根据电路配置上拉or下拉。先根据函数和定义自行理解后。GPIO配置函数头文件定义。原创 2023-11-20 14:20:33 · 313 阅读 · 0 评论 -
Linux使用mount挂载
它是 mkfs 命令的个变种,可以自动识别文件系统类型为 ext4,并使用 ext4 文件系统的默认参数来创建文件系统。因此,使用 mkfs.ext4命令创建 ext4 文件系统比使用mkfs 命令更加方便。实际使用中推荐这个,原创 2023-08-08 19:56:15 · 165 阅读 · 0 评论 -
Linux-GPIO 配置pull up、pull down、no pull
【代码】Linux-GPIO 配置pull up、pull down、no pull。原创 2023-08-08 19:48:47 · 1437 阅读 · 0 评论 -
Dump寄存器使用、解析
echo <寄存器地址> <值> > /sys/class/sunxi_dump/write。echo 寄存器地址 > /sys/class/sunxi_dump/dump。daisy.skye的博客_CSDN博客-嵌入式,Qt,Linux领域博主。从右往左,按照0起步开始数,30:28 是010 就是UART1_RX。daisy.skye擅长嵌入式,Qt,Linux,等方面的知识。前人种树,后人乘凉;创造不易,请勿迁移~原创 2023-06-19 11:59:16 · 506 阅读 · 0 评论 -
Linux下ttySx串口分析理解
sys_config.fex配置usart。原创 2023-06-19 11:55:17 · 851 阅读 · 0 评论 -
基于高通的加速度模块调试(待更新ing)
三轴加速度传感器应用原理简析。原创 2023-04-18 19:13:48 · 90 阅读 · 0 评论 -
基于SDM450 兼容st7701s不同id屏幕
"lk" 代码是用于在内核中初始化屏幕的代码。它通常在内核启动时调用,并且旨在初始化屏幕的各种属性,例如刷新率、分辨率、色彩深度等。这种代码通常涉及与 SDM450 中的内核模块通信,以便初始化屏幕。"kernel" 代码则是在用户空间中初始化屏幕的代码。这种代码通常涉及与 SDM450 中的用户空间库通信,以便初始化屏幕。在高通的 SDM450 中,有两种屏幕初始化代码,分别称为 "lk" 和 "kernel" 代码,5、根据屏幕 id 区分调用的屏幕初始化文件。//下发读取id的指令。原创 2023-04-18 19:28:02 · 1302 阅读 · 0 评论 -
基于RK3568的Linux驱动开发—— GPIO知识点(二)
上章讲到通过echo 29 > /sys/class/gpio/export可以导出gpio。先查看gpio使用情况 cat /sys/kernel/debug/gpio。例如已经配置gpio-29不能通过echo 和 expoer导出。通过 find / -name 'GPIO 引脚已被占用。' 可以查找具体gpio。查看goio使用情况。原创 2023-04-18 19:25:30 · 884 阅读 · 0 评论 -
基于RK3568的Linux驱动开发——GPIO知识点(一)
GPIO3_A7 对应的设备树属性描述为:由kernel/include/dt-bindings/pinctrl/rockchip.h的宏定义可知,也可以将GPIO4_D5描述为。当使用完GPIO 引脚之后,我们需要将导出的引脚删除,同样该文件也是只写、不可读的。向/sys/class/gpio/export写入此编号,比如10号引脚,在shell中可以通过以下命令实现,原创 2023-04-18 19:23:40 · 1889 阅读 · 0 评论 -
Android/SELinux 添加 AVC 权限
avc: denied { 操作权限 } for pid=7201 comm=“进程名” scontext=u:r:源类型:s0 tcontext=u:r:目标类型:s0 tclass=访问类型 permissive=0。在文件路径下增加了如下代码用于gc02m1的兼容倒置前置摄像头成像配置。编译烧录后,使用adb shell getprop 找到该配置的属性。Android/SELinux 添加 AVC 权限。SELinux的权限不足。原创 2023-04-18 19:20:16 · 1218 阅读 · 0 评论 -
定义全局变量property与getprop
Android 中的property_get/property_set。Android/SELinux 添加 AVC 权限。.adb logcat 报错。在linux驱动中查找。原创 2023-04-18 19:19:10 · 705 阅读 · 0 评论 -
rk3568-rk809电池电量计
RK809 集成在RK3568上的一个高性能的 PMIC((Power Management IC):电源管理集成电路),PMIC全称Power management integrated circuit,一般情况下是一颗独立于主控的芯片,集成了电源控制,电源键控制,充电控制等模块,用来管理主机系统中的电源设备。SNSP和SNSN的话是电池负极通过0.01Ω采样电阻接到主板GND,SNSP为电池负极端,SNSN为主板GND,两个引脚各需要1个100nF电容靠近摆放。用于电池电流检测的 16 位 ADC。原创 2023-04-18 19:17:19 · 3021 阅读 · 1 评论 -
RTC实时时钟 HYM8563S
rk3568原理图芯片资料参考链接:代码路径adb调试total 0author。原创 2023-04-18 19:15:09 · 300 阅读 · 0 评论 -
内核启动失败failed to initialize host
但是编译的时候并没有提示出错误,最后整包烧录的后,设备没有起来,通过串口查看日志发现报错位置在print位置,也就是dev_info。在kernel内核中添加了打印代码函数,dev_info。仔细找了下用法,发现是我使用的时候漏掉了参数。原创 2023-04-18 19:12:03 · 1304 阅读 · 2 评论 -
库文件软连接
ln -s libpcmApi.so.13 libpcmApi.sp使用./ 其他的路径都不行 ,要使用 ln -s ./libpcmApi.so.13 libpcmApi.sp原创 2023-03-28 15:00:41 · 147 阅读 · 0 评论 -
调试日志:安卓设备之NFC
msm8953对应GPIOs 0-141,对应的GPIO Base Addr是从0开始。查看中断 cat /proc/interrupts。AndroidLiux驱动调试方法。nxp nfc pn547移植。adb 查看GPIO。原创 2023-01-31 10:34:33 · 1083 阅读 · 0 评论 -
msm8953 TP 触摸屏启动报错(适用于任何启动报错crash)
定位到 backtrace 终端切换到out输出路径下(因为整个机子是基于系统进行的工作,所以在out目录下就可以)/然后使用 addr2line 进行查看错误地址的原代码位置如果显示??:0一般是文件路径没有加文件路径不对相对地址不对。原创 2022-12-20 18:35:09 · 610 阅读 · 0 评论 -
rk3568 单独烧录boot.img
fastboot flash boot boot.img(boot.img 文件路径)用fastboot命令将boot.img文件push到机器里。原创 2022-12-20 18:30:15 · 996 阅读 · 0 评论 -
rk3568 添加gc2053摄像头驱动
在设备树文件代码中添加 gc2053 设备节点。原创 2022-12-20 18:26:11 · 1717 阅读 · 0 评论 -
RK3568 图形化配置kernel config
在sdk/kermel 目录下 输入make ARCH=arm64 menuconfig 即可进入图形化配置界面。由于没有安装相关的包,只需要执行以下代码即可。安装完成后再执行代码就可以看到图片化配置界面。原创 2022-12-19 15:32:28 · 658 阅读 · 0 评论 -
Android日志报错地址定位函数 addr2line
目录crash报错日志使用addr2line 显示 ??:0 问题排查总结(可以直接看这)解析日志直接定位到 backtrace ,linux编译的终端切换到out输出路径下(因为整个机子是基于系统进行的工作,而系统是linux编译后输出到out目录下,所以在out目录下排查问题就可以了)然后使用 addr2line 进行查看错误地址的原代码位置使用addr2line 显示 ??:0 问题排查一般是文件路径没有加文件路径不对 相对地址不对find | grep使用前查看筛选文件路径在ou原创 2022-12-05 16:25:59 · 782 阅读 · 0 评论 -
linux进阶命令-查看任务、删除进程、全局查找文件、创建软连接、找不到库文件
找不到分享的库文件 cannot open shared object file: No such file or directory。执行文件报错Too many levels of symbolic links 找不到库文件。有时候有些程序会循环执行,用kill还是杀死不要进程的时候就用 kill -9。ln -s 【文件路径】 【软链接路径】kill -9 【进程数 / PID】find / -name 【文件名】kill 【进程数 / PID】ldconfig是一个。原创 2022-08-25 16:08:14 · 516 阅读 · 0 评论 -
深度理解 RGMII (包含Linux和realtek)
网常见的路径MAC+PHY+RJ45,但是如果没用RJ45也可以PHY层相互连接传输数据,那么想到可以省去RJ45,也可以省略其中简单的PHY,直接两个MAC连接,充当MAC的其中一方需要有网络数据流入,即网卡。当其实MDIO不需要也是可以的,对于像RTL83xx系列的模块,要进行固件的代码配置,其实可以直接进行配置不需要mac层来控制,即不需要接MDIO线。MAC需要将以太网包转换为字节流。在RGMII中没有特别的要求,不过一般linux的clk_tx会使用clk_rx,即读到的时钟为输出的时钟。....原创 2022-08-16 17:00:36 · 6772 阅读 · 3 评论 -
Ubuntu与本地文件共享,无法ping通本地ip
背景:想把虚拟机ubuntu上的文件拷贝到本地电脑上查看,但是本地电脑无法连接到ubuntu使用的软件:Filezilla问题解决:检验ip是否同网络段,增加路由(我一开始一直在看ssh是否开通,防火墙是否关闭,但是没有注意是否在一个网段中,主要是对网络的知识的不了解,所有有空还是需要学习网络知识)使用ifconfig 或者ip addr 查看系统的ip然后查看在本地电脑使用win+R ,输入cmd 打开命令窗口 输入ipconfig注意:与虚拟机ubuntu的不同一个是i.原创 2022-04-11 15:52:09 · 3925 阅读 · 0 评论