free-xx
【V"video-D"】专注相机方案开发【CSI-2 MIPI/AHD/FPDlink/GMSL】------专注nvidia jetson平台开发、海思平台开发、全志平台开发-----专注音视频驱动开发
展开
-
全志平台camera驱动开发(5)NVP6134芯片8路模拟视频BT1120输入
前言1. 调试平台: 全志V5/T7等有BT1120的并行接口,理论有DVP接口的一般都支持2. NVP6134可使用多路视频同时输入硬件连接 模拟camera1 模拟camera2 模拟camera3 模拟camera4 NVP6134 ------>NVCSI0...原创 2020-03-28 13:49:45 · 2955 阅读 · 0 评论 -
全志平台camera驱动开发(4)NVP6134芯片4路模拟视频BT656输入
前言1. 调试平台: 全志V5/T7等有BT656或BT1120的并行接口,理论有DVP接口的一般都支持2. NVP6134可使用多路视频同时输入硬件连接 模拟camera1 模拟camera2 NVP6134 ------>NVCSI0...原创 2020-01-21 11:24:36 · 3318 阅读 · 0 评论 -
全志平台camera驱动开发(3)MIPI接口camera驱动开发
详细沟通: 请加video_D目前开发过的allwinner平台:V5/V3/V3S/V40/T3/T7/A64等开发过的mipi sensor:sony:imx317、imx477、imx274、imx258、imx286、imx307、imx385等ov:ov2718、ov12895、ov2710等ar: ar0238等国产:gc1024、gc1034...原创 2019-12-20 11:21:38 · 8448 阅读 · 3 评论 -
全志平台camera驱动开发(1)设备端camera模组及接口介绍
详细沟通: 请加微信video_D前言(1)由于camera驱动调试涉及面比较多,这里会分多章节介绍(2)另外由于不同客户对camera需求的不同,侧重点不一样,图像效果/成本/多通路/车规等等,所以图像输入的方案也是多样的(3)这一章节主要介绍设备端camera模组以及接口1.camera模组介绍1.1 camera模组结构...原创 2019-10-12 17:04:54 · 5053 阅读 · 0 评论 -
全志A64平台MIPI LCD屏驱动开发
调试准备 1.A64 lichee内核源码 2.MIPI LCD datasheet 3. MIPI LCD init reg list 4.接口转接排线调试步骤1.搭建A64 lichee环境 看手册即可2.烧写固件 使用官方烧写工具 PhoenixSuit3.编写MIPI...原创 2019-12-21 09:11:46 · 4104 阅读 · 2 评论 -
全志平台BSP裁剪(5)rootfs裁剪--系统工具和库的裁剪
1.rootfs介绍裁剪之前,我觉得有必要用一定的篇幅介绍一下rootfs(1)rootfs目录(2)命令解析 而内核的命令串为:root=/dev/mtdblock2 devfs=mount load_ramdisk=0 inti=/linuxrc console=ttyS0,115200 display=shp240 root=...原创 2020-01-04 15:24:21 · 2133 阅读 · 0 评论 -
全志平台BSP裁剪(3)附件二 Kernel hacking配置说明
Kernel hacking说明:内核hack选项Show timing information on printksCONFIG_PRINTK_TIME在控制台和syslog()系统调用的输出中包含printk()消息的时间戳,以便于直接显示内核启动过程中各步骤所用的时间.注意:无论此项是否开启,时间戳总会被记录在/dev/kmsg中,开启此项仅相当于使用"printk....原创 2020-01-03 16:18:29 · 1419 阅读 · 0 评论 -
全志平台BSP裁剪(6)附件三--rootfs menuconfig配置说明
附件三:rootfs menuconfig配置Target Architecture/****************************************************************************/说明:选择目标架构Target Architecture Variant/******************************...原创 2020-01-04 16:15:11 · 748 阅读 · 0 评论 -
全志平台BSP裁剪(2)附件一 General setup配置说明
附件一:General setup配置General setup说明:常规设置Cross-compiler tool prefixCONFIG_CROSS_COMPILE说明:交叉编译工具前缀(比如"arm-linux-"相当于使用"make CROSS_COMPILE=arm-linux-"进行编译).除非你想配置后默认自动进行交叉编译,否则不要使用此选项.Comp...原创 2020-01-03 16:14:41 · 1370 阅读 · 0 评论 -
全志平台BSP裁剪(7)rootfs裁剪--用户工具和库的裁剪 & rootfs压缩
1. 用户工具和库的裁剪用户工具和库一般是应用层提供的,这部分的裁剪需要应用层相应的同事进行裁剪,这里有几个优化的方法。(1)裁剪不必要的库文件使用命令objdump -x 可执行文件 | grep NEEDED可以查看对应的执行文件需要用到的库文件,将不必要的库文件从/usr/lib里面删除(2) 对应用程序和库进行strip操作strip操作之前,可以...原创 2020-01-04 16:12:58 · 1010 阅读 · 0 评论 -
全志平台BSP裁剪(4)kernel裁剪--File systems & driver & 杂项裁剪
kernel裁剪--File systems & driver & 杂项裁剪原创 2020-01-03 17:36:01 · 6137 阅读 · 0 评论 -
全志平台BSP裁剪(1)kernel裁剪--调试工具和调试信息的裁剪
概述1. BSP包裁剪主要包括两个部分 kernel裁剪 rootfs裁剪2. kernel裁剪涉及的部分主要分为: 调试工具和调试信息的裁剪 File systems 的裁剪 driver的裁剪 杂项优化在内核目录运行make ARCH=平台 menuconfig,通过配置内核进行裁剪。调试...原创 2020-01-02 18:00:28 · 1641 阅读 · 0 评论 -
全志平台Android 系统调试方法(5)内核异常调试
1. 前言这里总结几种内核异常时,常用的几种调试方法2. Watchdog softlockuplinux-3.4\Documentationlockup-watchdogs.txt(1) Linux3.4 Watchdog softlockup配置Munuconfig配置 CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0检测到softlockup后不触发内核panic;配置1会触发内核panicCmdline传参softlockup原创 2022-01-13 16:43:41 · 2016 阅读 · 0 评论 -
全志平台Android 系统调试方法(4)系统异常调试
Android 系统调试技巧(4)系统异常调试正在上传…重新上传取消free-jdx 2021-03-30 17:44:571. 前言这里总结几种系统异常时,常用的几种调试方法2. DebuggerdDebuggerd 和 echo t > /proc/sysrq-trigger 一起调试进程空间和内核空间死锁、睡眠问题3.Kill命令Kill -6 可以打印所有进程的core dump backtrace,数据会保存到/data/tombstones/tombsto..原创 2022-01-13 16:38:17 · 1686 阅读 · 0 评论 -
全志平台Android 系统调试方法(3)进程抢占分析
1. 前言这里介绍进程抢占方面的问题2.进程抢占分析(1)Android4.4 renice 命令USAGE: renice [[-r] [-t TYPE] priority pids ...] [-g pid]r 实时进程优先等级;t 切换调度器"RR":SCHED_RR; "FIFO":SCHED_FIFO; "NORMAL":SCHED_OTHER; "OTHER":SCHED_OTHER;g 打印当前进程的调度器类型renice -r [prio] [pids]原创 2022-01-12 17:55:12 · 1110 阅读 · 0 评论 -
全志平台Android 系统调试方法(2)系统负载调试
1. 应用负载调试Traceview分析 (这里可以查询其它文章,这里不详细描述了)2.内核负载调试(1)Systrace分析可查看其它文章详细说明(2)DS5 Streamline分析这里主要详细描述DS5的使用ARM DS5 Streamline工具的使用涉及到PC端的 ARM DS-5 Eclipse IDE 、调试平台端的Streamline 守护进程gator_deamon 、调试平台端的Streamline 内核gator驱动 和 调试平台内核Trac原创 2022-01-12 12:00:43 · 1117 阅读 · 0 评论 -
全志平台Android 系统调试方法(1)系统内存调试
1. 前言总结Android调试过程中关于系统内存方面的方法2. 内存调试Adb shell dumpsys procstats --hours Xadb remountadb push cpu_monitor /system/xbin/cpu_monitoradb shell chmod 777 /system/xbin/cpu_monitor 测试游戏前后所需要记录的准确数据:(1)cpu_monitor -u 1 -m 500记录下以下红色框中的Anon、sl原创 2022-01-11 11:36:09 · 618 阅读 · 0 评论 -
全志平台Android rootfs切换调试记录
1. 前言由于场景需求,需要切换不同的rootfs进行挂载;如下记录了调试过程2. chroot 切换原理Linux 3.4版本内核支持chroot系统调用,chroot可以改变进程froot directory 到新的文件系统挂载路径,current->fs->root = { new path,包含root vfsmount和root dentry}。busybox工具包支持chroot shell命令:chroot [OPTION] NEWROOT [原创 2022-01-11 11:24:45 · 748 阅读 · 0 评论 -
全志平台ap6476模组 GPS功能调试记录
1. 前言全志平台ap6476模组 gps功能调试2. android定位服务框架Android上可通过gps、wifi或电话基站进行定位,gps能提供最精准的定位但定位需要的时间是最多。Android的定位服务框架图如图:由应用至实际的数据接收,可把服务框架划分为五层:应用层,android.location包中包含的内容,以Java语言提供的API; 框架层,包含系统服务的实现,主要由Java语言实现; 共享库层,由C以及C++语言实现,框架层与共享库层使用.原创 2022-01-07 11:46:11 · 740 阅读 · 0 评论 -
全志平台ap6476 蓝牙功能驱动调试记录
1. 前言蓝牙移植内核修改的较少, android层由于使用broadcom提供bplus,framework和package改动较多, android部份的移植只提及重要的修改。2. 内核配置修改.config文件以支持蓝牙的low power mode和唤醒休眠主控功能和支持android4.2 hid设备。蓝牙low power mode和唤醒休眠主控的支持。linux-3.3目录下,输入make ARCH=arm menuconfig选择 -> Networki原创 2022-01-07 11:38:58 · 2367 阅读 · 1 评论 -
全志平台ap6476 wifi模组调试
1. 前言ap6476是ampak封装的一颗broadcom四合一功能模组,包含wifi、bluetooth、gps和fm功能,使用到的芯片是bcm40181+bcm2076功能特性如下802.11b/g/n single-band radioBluetooth V4.0 with integrated Class 1.5 PA and Low Energy (BLE) supportConcurrent Bluetooth, FM (RX) RDS/RBDS, and WLAN o原创 2022-01-04 17:05:32 · 2572 阅读 · 0 评论 -
全志平台sensor图像信号质量调试记录
1. 前言在全志V5平台调试新sensor时,如果出现图像采集异常问题;如果驱动和模组没问题,一般会和排线、速率、硬件连接条件等有关;这里就出现一款典型的sensor模组,遇到类似的问题2. 错误log./csi_test_mplane_32bit 0 0 1920 1080 &sys/class/sunxi_dump # cat: can't open '/sys/devices/platform/soc/usbc0/otg_role': No such file原创 2021-10-21 15:10:32 · 930 阅读 · 0 评论 -
全志平台ov2710 sensor驱动调试记录
1. 前言全志V5 SDK里面有ov2710的sensor驱动,但是实际硬件需要根据具体特性进行修改2. 修改sensor驱动(1)初始化添加如下:(2) 修改lane数 Mipi驱动默认使用4条lane,由于这边mipi接口使用一条lane,需要修改lane数Mipi驱动目录:修改lane mapping:3. I2C问题/lib/modules/4.4.55 # insmod videobuf2-dma-contig.ko/lib/modules/原创 2021-10-21 15:08:29 · 1092 阅读 · 0 评论 -
全志平台N3模块调试(2)视频通路调试记录
1.概述前面介绍了驱动搭建方法,这里主要是排查通路的正确性2. 内核崩溃直接运行应用程序试试,发现直接内核崩了debug : ionAlloc [ 35.243468] Unable to handle kernel NULL pointer dereference at virtual address 00000008<__GetIonMemOpsS:925>: *** get _[ 35.255242] pgd = dfeac000_GetIonMemOp原创 2021-08-20 14:01:51 · 316 阅读 · 0 评论 -
全志平台 ov2718 sensor驱动开发
1. 前言全志V66平台调试ov2718 sensor;修改sensor驱动、初始化列表、isp参数、图像参数等;硬件调试等;这里主要描述遇到的问题和一些需求问题2. I2C 无信号问题(1)检测IO电压描述:由于在主板上IODD只能给3.0v电压,而sensor需要1.8V电压,测量sensor端发现电平转换出现问题发现是2.6V;原厂那边说如果是2.6v的话,芯片可能会被打坏解决办法: 换了个LDO之后,能出1.8V电,但I2C还是没信号(2)检测 S原创 2021-08-25 16:14:47 · 1250 阅读 · 0 评论 -
全志V40平台NVP6124双通道图像采集
1. 前言主要描述通过NVP6124芯片,如何同时采集双通道图像数据并显示2. 加载nvp6124驱动1)将nvp6124整个文件夹放在linux-3.10\drievers\media\platform\sunxi-vfe\device2)在上一层目录Makefile中添加obj-y += nvp6124/3)修改nvp6124目录中的Makefile将obj-y: = nvp6124.o改为obj-m : = nvp6124.o3. CSI配置csi原创 2021-08-25 16:11:21 · 1210 阅读 · 0 评论 -
全志平台华为4G模块开发调试记录
1. 前言因为需要适配4G模块,这里总结下整个调试过程;2. linux部分linux 部分主要是硬件识别,当拿到模块后,插入板子上,打印如下:[ 185.120132] usb 3-1: new high-speed USB device number 2 using xhci-hcd[ 185.141610] usb 3-1: New USB device found, idVendor=12d1, idProduct=15c1[ 185.149447] usb 3-1: N原创 2021-08-25 16:06:02 · 1113 阅读 · 0 评论 -
全志平台系统&CPU&APX调试节点总结
1. 前言由于全志平台的电源管理模块功能比较强大,驱动也比较复杂,调试起来比较费劲; 另外还有CPU和系统一些常用的调试命令; 这里主要总结一些平时用的比较多的调试方法2. /sys/class/axppower 调试目录(1) /sys/class/axppower/axpdebug echo 1 > /sys/class/axppower/axpdebug //打开电池管理部分debug信息 echo 2 &原创 2021-08-20 14:14:52 · 669 阅读 · 0 评论 -
全志平台lichee启动时间优化
1. 前言全志平台默认的SDK系统启动+相机出图的时间较长,普遍是十几秒,使用体验较差; 这里尝试通过一些方法优化整体启动时间2.统计内核耗时模块打开这个宏initial_debug,每个驱动的初始化起始时间和结束时间都打印出来了。有了这个时间,基本就可以确定哪些部分需要优化了。 我的做法是只关注耗时10000us以上的驱动。根据上面统计,可根据使用场景的需求, 尝试可以关闭相应不需要的模块3. 降低打印等级开发过程中往往会把系统的打印等级设置为最高,而实际上发布出的固件原创 2021-08-20 14:10:59 · 635 阅读 · 0 评论 -
V3平台dragonboard调试LCD不显示问题记录
1. 前言这里是已经将dragonboard的系统镜像编译出来了;烧写也正常了;启动时logo显示正常,但是跑dragonboard时就会出现LCD不亮;经过一步步分析后,最终解决问题2. 查看图层信息Disp显示图层如下:启动logo的显示图层screen 0:lcd output backlight(200) fps:62.1 800x 480under_flow:0 skip:126 irq:3124 BUF enable ch[2]原创 2021-08-20 14:09:15 · 351 阅读 · 0 评论 -
全志平台N3模块调试(3)视频图像异常调试
1. 概述上篇已完成视频驱动通路的配置问题;这里主要是解决图像异常问题2. 查看控制器寄存器问题:按照上面改完之后不报任何错误,发现并没有产生任何CSI中断;这样就可以看看控制器的寄存器是否有接收到数据解决办法:根据SDK中提供的SOC说明文档,可以查看一部分的寄存器状态查询方法【寄存器地址查看文档】:echo 0x06601000,0x06601200 > /sys/class/sunxi_dump/dumpcat /sys/class/sunxi_原创 2021-08-17 11:18:43 · 3544 阅读 · 0 评论 -
全志平台N3模块调试(2)视频通路调试记录
1.概述前面介绍了驱动搭建方法,这里主要是排查通路的正确性2. 内核崩溃直接运行应用程序试试,发现直接内核崩了debug : ionAlloc [ 35.243468] Unable to handle kernel NULL pointer dereference at virtual address 00000008<__GetIonMemOpsS:925>: *** get _[ 35.255242] pgd = dfeac000_GetIonMem原创 2021-08-17 11:17:27 · 409 阅读 · 0 评论 -
全志平台N3模块调试(1)方案分析&驱动配置
1. 前言由于需要在V5平台接四路相机用于环视使用;普遍是有模拟相机和数字相机两种选择。2. 相机优缺点分析模拟相机:便宜、接线方便可以长距离传输、方便支持多路视频采集数字相机:贵,常规mipi不支持长距离传输,调试ISP复杂 【其实也有长距离传输的数字相机,例如fpdlink和gmsl,只是整体方案价格比较贵】最终选择模拟方案,这里用的是nextchip的N3芯片3. 接口分析N3 支持4路 CVBS/AHD 1.0 /AHD2.0 模拟相机输入,一路BT6原创 2021-08-17 11:15:36 · 568 阅读 · 0 评论 -
全志axp驱动功能分析 & 调试说明
1. axp芯片功能说明Power按键 外部电源检测(插入/移除) 过压/欠压保存 过流保护 过温保护 电量计算 芯片温度检测 电池温度检测(需要电池自带NTC) 过温警告2.驱动源码说明(1)drivers/power/axp_power/axp22-board.ca. 读取sys_config.fex,初始化一些参数 包括: axp221设备地址(axp221是通过i2c连接到soc上的) 电池容量 电池充电电流 电池充电电压 预充电时间 持续充电时间自动关机电原创 2021-08-17 11:12:10 · 1257 阅读 · 0 评论 -
全志平台编译和打包系统(2)打包系统
1. 前言打包的好处: 其他平台是将kernel/uboot/rootfs编译好后直接分开烧写到flash中,分开的话必然需要用户在烧写的时候,指定烧写的bin文件。把这些整合到一个固件文件中的话,在烧写这些到flash的时候会自动去固件里面搜寻需要的内容,这样对用户更透明。打包脚本为lichee/tools/pack/pack,固件打包主要做3件事:将需要的资源文件和二进制文件拷贝到指定目录(lichee/tools/pack/out) 对某些文件进行必要的更新操作(如boot0/uboot原创 2021-08-14 09:56:04 · 933 阅读 · 0 评论 -
全志平台编译和打包系统(1)编译系统
1. 前言多个芯片使用同一个SDK这样维护成本和维护时间比较低,因此一套SDK包含有多个芯片方案。在编译前必须先配置方案。2. 编译环境lichee编译系统 lichee编译系统的脚本文件在lichee/buildroot/scripts目录下: build.sh 编译buildroot目录下内容指定编译工具链build_dump.sh build_pack.sh common.sh envsetup.sh mkconfig.sh mkcmd.sh 类似一个库,提供很多通用原创 2021-08-14 09:53:49 · 500 阅读 · 0 评论 -
全志A64平台TP9950 BT656输入驱动调试(3)驱动调试2
1. 前言承接上篇驱动调试12. 梳理d. 查中断可以查看CSI是否有中断;中断里面加打印发现有中断进入;说明图像数据进来了。e .查信号问题串完电阻示波器点信号信号如下,效果一样f .查A64主控&camera相关参数和TP FAE确认下9950端参数:上升沿触发,none模式 同时尝试调试平台端接口试试(1)修改交织模式和场模式 场模式问题inter:交织模式,即分奇偶场的none:帧模式,不奇偶原创 2021-08-06 15:39:27 · 1604 阅读 · 0 评论 -
全志A64平台 TP9950 BT656输入驱动调试(2)驱动调试
1. 前言承接上篇文章, 这里主要是驱动调试部分2. 调试记录(1)硬件引脚梳理9950没有上电时序要求,直接在dts中将PMU电配好即可(2) 调试I2Ctp9950地址为0x44;使用CCI测试 /sys/devices/tp9950;发现I2C不通;a.查看MCLK发现没有信号, MCLK正常b. 查看I2C上拉情况, 正常c. 查看电压情况, 1.8V正常后来发现是操作原因导致原因: I2C地址使用错了,应该确实是用0x88,而原创 2021-08-06 15:30:03 · 2475 阅读 · 0 评论 -
全志A64平台 TP9950 BT656输入驱动调试(1)环境搭建&驱动编写
1. 前言由于需要在全志A64平台上接入模拟相机,这里选型的模拟转换芯片是TP9950; (1)TP9950可以通过CSI接口输出,也可以通过并行的BT656接口输出; (2)由于A64平台没有MIPI接口,只有并行接口【可支持BT656输入】, 所以TP9950只能通过并行接口连接。2. A64平台环境搭建由于A64平台是针对android系统的,但是由于驱动部分调试只与内核有关, 所以可以只搭建内核环境,可以不用搭建android环境【这个毕竟也要点时间】。(1)配置lichee环境原创 2021-08-06 15:26:01 · 3533 阅读 · 3 评论 -
V3s 64M内存camdroid多媒体申请内存失败
问题描述:V3s方案内存很小,启动阶段init和应用空间大量的pte_fault类型缺页会直接从MIGRATE_CMA链表上申请内存,init阶段初始化VFE过程中,又要从CMA中申请大块内存,因此产生不停地CMA内存迁移,加大了CMA test_pages_isolated failed迁移失败的概率,造成VFE这边跟高概率的cma内存申请失败,应用异常.问题处理:CMA方案不适合V3s 64M方案,CMA预留的内存会一直被VE/DE和VFE使用,启动阶段的内存频繁迁移.原创 2021-04-01 15:09:54 · 558 阅读 · 0 评论