linux driver
文章平均质量分 55
ldinvicible
这个作者很懒,什么都没留下…
展开
-
NXP mx8平台tensorflow-lite build error
NXP提供的方案Compiling L5.4.3_1.0.0 BSP On Ubuntu 180.4 LTS - NXP Community1、使用bitbake编译tensorflow-litebitbake tensorflow-lite -c do_configure -v -f出现如下错误,此时可以看到下载错误的软件包FAILED: ruy-populate-prefix/src/ruy-populate-stamp/ruy-populate-download具体路径为...原创 2021-11-25 11:08:50 · 1565 阅读 · 0 评论 -
Linux vermagic kernel与驱动不一致导致错误
关于CONFIG_LOCALVERSION_AUTO设置去掉内核版本号GIT后缀关于CONFIG_LOCALVERSION_AUTO设置去掉内核版本号SVN后缀_GQB的专栏-CSDN博客最近在TI 的DVSDK下写驱动模块时老受linux内核svn版本号问题的困扰,如"2.6.37-svn41"、"2.6.37-svn51"等等,svn版本变一次,从上面取下的代码内核版本就要变一次,这样造成原来驱动模块ko文件必须重新拷贝到新的lib/modules/2.6.37-svn51下,非常麻烦且不原创 2021-11-16 09:46:10 · 787 阅读 · 0 评论 -
关于GPS的1PPS时间同步功能探索与测试
转载自关于GPS的1PPS时间同步功能探索与测试_学一点IOT-程序员宅基地 - 程序员宅基地最近在研究GPSD相关信息,查阅到GPSD可以与NTPD相配合实现高精度时间同步功能,因此才涉及到此主题。目前手头用的是Ublox F9P模块,UART输出NEMA数据,另外一个GPIO输出1PPS脉冲首先看一张时序图:1. NEMA中包含有时间信息,一般是秒级别,也有部分带有毫秒2. 1PPS即每秒输出一个脉冲,图中以高电平触发为例(没画下降沿),接收及处理1PPS脉冲的时间也在n原创 2021-11-15 09:35:48 · 7176 阅读 · 0 评论 -
nxp imx8平台如何测试camera csi到v4l2的时间
1、可以使用(og02b10)触发方式(通过GPIO来控制输出数据)。以下为camera同步触发代码 //FSIN {0x3501,0x37, 0, }, {0x3502,0x20, 0, }, {0x3006,0xeC, 0, }, {0x3667,0xda, 0, }, {0x0100,0x00, 0, }, {0x320c,0x8f, 0, }, {0x302c,0x00, 0, }, {0x302d,0x00, 0, }, {0x302e,0x50, 0, }, {0x3原创 2021-11-15 09:24:23 · 507 阅读 · 0 评论 -
linux v4l2 获取帧时间戳
v4l2 - Where does v4l2_buffer->timestamp value starts counting? - Stack Overflow#include <time.h>#include <math.h>////////////////////////setup: long getEpochTimeShift(){ struct timeval epochtime; struct timespec原创 2021-10-27 10:54:17 · 1563 阅读 · 0 评论 -
NXP imx8 调试ISP camera
可以从NXP官网获取ISP camera调试文档。i.MX 8M Plus_Cortex-A53/M7_NXP 半导体export LD_LIBRARY_PATH=$pwd:$LD_LIBRARY_PATHexport VSI_LOG_LEVEL=1export ISP_LOG_LEVEL=8=================================================以下为走ISP通路 isp---到内存 dewrap从内存取原创 2021-10-25 13:44:40 · 4058 阅读 · 3 评论 -
mx8mp ISI模式下增加RAW10和RAW8图像抓取
imx8-isi-cap.c在mxc_isi_out_formats结构体中增加 { .name = "RAW10 (SBGGR10)", .fourcc = V4L2_PIX_FMT_SBGGR10, .depth = { 16 }, .color = MXC_ISI_OUT_FMT_RAW10, .memplanes = 1, .colplanes = 1, .mbus_code = MEDIA_BUS_FMT_SBGGR10_1X10, } {原创 2021-09-13 14:02:11 · 1239 阅读 · 0 评论 -
基于NXP平台调试ISP CAMERA
一、ISP CAMERA数据流图:二、调试步骤:1、先查看sensor到csi mipi之间是否正常。此出可以通过读取以下寄存器来判断是否有数据(IMX8MPRM)0x32e40000是CSI的寄存器值。0x32ec0000是MEDIA BLK_CTRL的值(MEDIAMIX 域包含称为媒体块控制 (MEDIA BLK_CTRL) 的控制和状态寄存器。 这些寄存器对 MEDIAMIX 域内的外设具有各种顶级控制)查看这两个寄存器是否有...原创 2021-09-13 13:55:59 · 974 阅读 · 1 评论 -
imx6ull设置thermal降频阈值
imx6ull在测试温升过程中处理cpu温度过高会导致降频,还有cpu负载也会导致cpu降频,drivers/thermal/imx_thermal.c原创 2021-09-13 11:47:44 · 756 阅读 · 0 评论 -
mx8mp 使用i2ctransfer 读取多字节数据
参考:[RK3399]移植工具i2c-tools_但行前路 无问西东-CSDN博客写i2c设备指定寄存器./i2ctransfer -f -y i2c-no w-num@i2c-addr data-0 data-1 data-2 1读取i2c设备多个字节数据./i2ctransfer -f -y i2c-no w-num@i2c-addr data-0 data-1 data-n r-num 1写i2c设备多个字节数据./i2ctransfer -f -y i2c...原创 2021-09-13 11:01:57 · 2874 阅读 · 0 评论 -
基于Android平台编译wifi broadcast
wifibroadcasthttps://github.com/svpcom/wifibroadcast.git依赖包pcap和原创 2021-06-18 15:45:30 · 674 阅读 · 1 评论 -
imx6ull调试sx1268 lora调试记录
1、sx1268原厂只有基于单片机的参考代码:https://github.com/Lora-net/LoRaMac-node2、如果基于linux平台使用,可以使用github上sx1268代码需要Linux4.8以上才能使用。3、调试过程供电和晶振都会影响到DIO的输出,需要测试各种电源和晶振。4、可以通过测试用例先测试下spi读写是否是否ok。(注意cs引脚需要另外选择) printf("chipid=0x%x\n",Radio.ReadReg(0x0740)); Radio.原创 2021-03-05 10:59:38 · 1394 阅读 · 2 评论 -
implicit declaration of function ‘v4l2_subdev_get_try_format’ [-Werror=implicit-function-declaratio
# CONFIG_VIDEO_V4L2_SUBDEV_API is not set../drivers/media/i2c/mt9v111.c: In function ‘__mt9v111_get_pad_format’:../drivers/media/i2c/mt9v111.c:801:3: error: implicit declaration of function ‘v4l2_subdev_get_try_format’ [-Werror=implicit-funct...原创 2021-01-07 16:19:12 · 472 阅读 · 0 评论 -
BLE协议栈 – 链路层(Link Layer)
转载自http://bbs.wireless-tech.cn/d/77-ble-link-layer链路层位于BLE协议栈的控制器(Controller)部分,在物理层(Physical Layer)之上,接口层(HCI)之下。物理层比较抽象,除了BLE信道,许多地方都是通用的通信技术,不能反映BLE通信协议的特点,而HCI之上的部分,大多在软件中实现,因此,理解BLE协议栈的底层实现,...原创 2020-05-02 17:43:30 · 1043 阅读 · 1 评论 -
基于msm8909调试mcp2515 can芯片
在高通msm8909上调试mcp2515芯片,使用的模块是飞凌嵌入式的mcp2515模块原理图1、飞线,需要电压转换芯片,使用的是TXB1080芯片(TXS1080针对spi有问题),5V供电mcp2515,转换芯片一端电压5V。2、先调试spi能够通,能读到数据,3、测mcp2515回环通路ip link set can0 down回环通路开关ip link set can...原创 2020-03-13 13:04:39 · 1369 阅读 · 7 评论 -
Linux(固定USB摄像头硬件端口,绑定前后置摄像头)
转载自:https://www.cnblogs.com/zou107/p/7895111.html在Android的系统会有前置摄像头和后置摄像头的定义,摄像头分为SOC类型的摄像头和USB这一类的摄像头,接下要分析就是USB摄像头这一类 。一般在android或者linux系统中分析一个模块,先从总体的框架上有一个认识,然后在局部细细的研究。一、Android 摄像头总体架构...原创 2020-02-26 10:03:17 · 2392 阅读 · 1 评论 -
uart读写函数
seri_write.c #include <stdio.h>#include <string.h>#include <sys/types.h>#include <errno.h>#include <sys/stat.h>#include <fcntl.h>#include <unistd.h>原创 2018-11-29 15:44:57 · 1903 阅读 · 0 评论 -
基于 Android5.1 WM8960调试
代码连接https://download.csdn.net/download/ldinvicible/10815535原创 2018-11-29 09:39:06 · 495 阅读 · 0 评论 -
Android应用层如何执行shell脚本
应用层如何执行shell脚本,通过启动一个shell脚本服务执行private fun execCmd(cmd: String, listener: (isExe: Boolean, result: String?) -> Unit) {Thread(Runnable {val cmdPath = "/storage/emulated/legacy/cmd"val retPath ...原创 2018-08-06 10:16:32 · 1684 阅读 · 0 评论 -
NXP imx6q android平台调试LVDS屏
一、快速修改参数快速测试方法:修改文件 modified: kernel/drivers/video/of_display_timing.c modified: kernel/drivers/video/videomode.c modified: kernel/init/do_mounts.c1、通过bootloader的a...原创 2019-11-15 13:03:14 · 648 阅读 · 0 评论 -
深入分析Linux kernel exception框架---案例分析
转载自:MTK FAQ:原创 2016-03-17 15:00:57 · 1077 阅读 · 1 评论 -
LDD3源码分析之访问控制
转载自http://blog.csdn.net/liuhaoyutz/article/details/7407700作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz编译环境:Ubuntu 10.10内核版本:2.6.32-38-generic-paeLDD3源码路径:examples/scull/ access.c转载 2012-08-14 13:03:15 · 709 阅读 · 0 评论 -
Android如何优化启动时间(boot time)
尽可能地减少LA的启动时间在USER的构建。 并假设我们有一个非常稳定的USER构建软件,没有任何错误,甚至警告消息存在于启动阶段。首先,我们需要检查驱动程序的初始化时间是否合理,因此可以应用这个补丁。"kernel/init/main.c"-bool initcall_debug;+bool initcall_debug = 1;core_param(initca原创 2017-03-09 19:39:58 · 5588 阅读 · 0 评论 -
充电类型 解释
The four power source types that are detected are: Standard downstream port (SDP)– This is a computer USB port capable of USB 1.1 (100 mA), USB 2.0 (100/500 mA), or USB 3.0 (150/900 mA).原创 2016-09-25 21:17:41 · 1440 阅读 · 0 评论 -
GCC_RESET_STATUS Definition (check each platform SWI)
QCAPGCC_RESET_STATUS = 0x23 → Secure Watchdog Bite GCC_RESET_STATUS = 0x13 → PMIC Abnormal ResetGCC_RESET_STATUS = 0x1B → TSENSE Reset (Temperature SensorTriggered Reset)原创 2016-09-10 15:35:52 · 5194 阅读 · 0 评论 -
怎样调试ui freeze
•adb可以使用的 device 调试UI freezes. •检测 logcat log任何明显错误, top logs查看CPU利用率 •屏幕UI停留在哪 (e.g., home screen, app screen, etc.)? •运行 "adb shell getevent“ •现在触摸触摸屏并观察输出数据"adb shell getevent" ,是否原创 2016-09-10 15:06:54 · 1324 阅读 · 0 评论 -
如何获取Android ANR log和 userspace stability issues?
如何获取Android ANR log和 userspace stability issues?1、如何调试Android not responding crashes (ANR) 需要各种logs:main - Main logused by Android applications (android.util.Log class)events - Systeme原创 2016-09-10 14:31:20 · 1797 阅读 · 0 评论 -
linux下 UART DEBUG
1:使用示波器看TX:将TX连接到示波器echo dfdsfdf > /dev/ttyHSL0如有波形输出则TX通;2:Dump RX char buf :cat /dev/ttyHSL0&(ls -s /dev/ttyHSL*) //DUMP ALL RX DATA 到控制台或者 再起一个adb shell cat /de原创 2016-06-21 13:56:19 · 2919 阅读 · 0 评论 -
一点I2C接口经验总结--i2c不通
一、DM642的I2C接口及I2C协议简单介绍 TMS320DM642片上带有一个I2C接口SDA(D3)和SCL(E4),DM642通过I2C接口与外部I2C外设通信,如I2C EEPROM、I2C视频解/编码器等。I2C通信的数据传输率一般包括100k和400k两种,支持多机通信,但同一时刻只允许存在一个主控设备,被控设备均使用唯一的地址标识符,I2C通信具有完备的通信协议,发送S转载 2015-11-23 14:59:17 · 9092 阅读 · 0 评论 -
如何配置高通平台i2c 时序
Setting I2Cclock dividersI2C规范对I2C时钟脉冲的高电平和低电平周期设置了限制。为了满足这些限制,可以对QUP寄存器I2C_CLK_CTL进行编程,以设置I2C时钟分频器。1、Defaultvalues如果hs_div不为0,如何计算fs_div和hs_div的默认值:I2C_FS_CLK =I2C_CLK原创 2017-04-14 16:02:19 · 3603 阅读 · 0 评论 -
如何以时间间隔捕获CPU,procrank,内存和顶级信息?
我们处理了一些在money或稳定性测试中复制的软件监督问题。根据logcat,内核和跟踪日志分析,SWWD阻塞的线程的回溯不是固定的。 在换句话说,阻塞的线程在特定功能中不会被阻塞。 SWWD的原因是相对的与整个Android系统的性能。为了调试这些问题,我们需要更详细的CPU,procrank,内存和顶级信息。 以下是捕获这些信息的脚本和用法与时间间隔。[Perfscript.sh]#=====...原创 2018-03-08 16:23:25 · 431 阅读 · 0 评论 -
Android应用层CAN总线测试程序
1、CAN设备说明 对于CAN设备操作是按照网络socket编程方式来操作的,在Linux命令行方式下,用以下命令来对其进行设置: ip link set can0 type can bitrate 125000 triple-sampling on 表示对第一路CAN(CAN0)设备设置其波特率,125000表示将波特率设置为125K。如果设置为1Mbps,则该参数为1000000。...原创 2018-04-24 15:11:11 · 3749 阅读 · 0 评论 -
sysfs的使用
#include <linux/init.h>#include <linux/module.h>#include <linux/kobject.h>#include <linux/sysfs.h>#include <linux/string.h>static int hello_value;static ssize_t hello_sho...原创 2018-05-05 10:30:35 · 633 阅读 · 0 评论 -
RTL8723 wifi bt芯片如何单独编译ko文件
基于imx6ul 平台(yocto)参考https://blog.csdn.net/suntao222/article/details/7457886https://blog.csdn.net/cjluxuwei/article/details/37878021编译rtk_hciattach可执行文件${CC} -o rtk_hciattach hciattach_rtk.c ...原创 2019-08-02 13:30:14 · 1134 阅读 · 0 评论 -
CAN基础知识
转自正点原子pptCAN是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。由德国电气商博世公司在1986 年率先提出。此后,CAN 通过ISO11898 及ISO11519 进行了标准化。现在在欧洲已是汽车网络的标准协议。 CAN协议经过ISO标准化后有两个标准:ISO11898标准和ISO11519-2标准。其...原创 2019-09-25 11:30:32 · 428 阅读 · 0 评论 -
RS485
转载自正点原子ppt 串口是一种接口标准,它规定了接口的电气标准,简单说只是物理层的一个标准。没有规定接口插件电缆以及使用的协议,所以只要我们使用的接口插件电缆符合串口标准就可以在实际中灵活使用,在串口接口标准上使用各种协议进行通讯及设备控制。 典型的串行通讯标准是RS232和RS485,它们定义了电压,阻抗等,但不对软件协议给予定义RS232接口缺陷:(1) 接口...原创 2019-09-25 13:18:30 · 1076 阅读 · 0 评论 -
imx6q 在线更新内核镜像的方法
#! /system/bin/shmount -o rw -o remount /systemif [[ $? != 0 ]]; then echo 0> /sys/kernel/xxx/imagever exit -1ficp -rf Settings.apk /system/framework/Settings.apkif [[ $? != 0 ]]; ...原创 2019-09-26 13:14:39 · 593 阅读 · 0 评论 -
嵌入式web实现(boa cgi html)
转载自:https://blog.csdn.net/jemofh159/article/details/7919740随着Internet技术的兴起,在嵌入式设备的管理与交互中,基于Web方式的应用成为目前的主流,这种程序结构也就是大家非常熟悉的B/S结构,即在嵌入式设备上运行一个支持脚本或CGI功能的Web服务器,能够生成动态页面,在用户端只需要通过Web浏览器就可以对嵌入式设备进行管...原创 2019-09-27 15:06:31 · 5195 阅读 · 0 评论 -
基于mtk平台调试FM发射芯片KT0805
一个比较简单的i2c设备,原理图如下,主要是供电,硬件连接好了,软件不需要处理,音频数据是接在耳机模式上AU_HPL,AU_HPR,数据芯片自己接受发射,软件需要处理的是SW1或者SW2,连接的GPIO,选择不同的频率,简单就是拉高就ok了,硬件已经选择了。然后通过i2c设置FM发射频率。1、需要给上层提供几个接口,开启和关闭功能,即耳机插入和拨出一样,还有一个就是设置频率功能。这原创 2016-02-25 13:51:33 · 1806 阅读 · 0 评论 -
Hang Detect 问题分析案例
转载自mtk faq1. DescriptionXXX客户从后台反馈,出现比较多的hang detect thread KE, 请尽快分析. 2. AnalysisHang detect 是MTK 的独家设计,具体的设计和问题分析流程可以参考前面章节的说明.从客户提交的KE db 来看, 我们看到大批量的thread 全部卡住,并且wat原创 2016-04-02 11:19:42 · 7503 阅读 · 3 评论