<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[仗劍走天涯]]></title><description><![CDATA[本博客主要是用于工作及学习中的备份和记录，欢迎大家留言交流。]]></description><link>https://blog.youkuaiyun.com/u010299133</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u010299133]]></copyright><item><title><![CDATA[Android camera框架理解]]></title><link>https://blog.youkuaiyun.com/u010299133/article/details/112450251</link><guid>https://blog.youkuaiyun.com/u010299133/article/details/112450251</guid><author>u010299133</author><pubDate>Sun, 10 Jan 2021 23:05:23 +0800</pubDate><description><![CDATA[转自：https://www.jianshu.com/p/bac0e72351e4

总体框图



应用框架：应用代码位于应用框架级别，它使用 Camera 2 API 与相机硬件进行交互。在内部，这些代码会调用相应的 Binder 接口，以访问与相机互动的原生代码。AIDL：与 CameraService 关联的 Binder 接口可在 frameworks/av/camera/aidl/android/hardware 中找到。生成的代码会调用较低级别的原生代码以获取对实体相机的访问权限，并返回用于在]]></description><category></category></item><item><title><![CDATA[mtk camera上电分析]]></title><link>https://blog.youkuaiyun.com/u010299133/article/details/111147966</link><guid>https://blog.youkuaiyun.com/u010299133/article/details/111147966</guid><author>u010299133</author><pubDate>Sun, 13 Dec 2020 23:58:10 +0800</pubDate><description><![CDATA[转发自：https://blog.youkuaiyun.com/qq_25731223/article/details/95317260

mt6739 kernel4.4 方案

kernel部分：

涉及文件:kernel-4.4\drivers\misc\mediatek\imgsensor\src\mt6739\camera_hw\imgsensor_cfg_table.c,gpio,mclk上电信息dts配置信息
        kernel-4.4\drivers\misc\mediate...]]></description><category></category></item><item><title><![CDATA[Android Camera驱动开发入门必备知识]]></title><link>https://blog.youkuaiyun.com/u010299133/article/details/109408744</link><guid>https://blog.youkuaiyun.com/u010299133/article/details/109408744</guid><author>u010299133</author><pubDate>Sat, 31 Oct 2020 22:05:48 +0800</pubDate><description><![CDATA[camera驱动开发所需要具备基础知识，如果你还没有了解过camera模块，那么这些基础必备的知识，将会对你比较有用，俗话说“磨刀不误砍柴工”，基本功配置好了，相信你在做camera驱动开发过程中肯定得心应手。

1.硬件相关

首先，要学会看datasheet，datasheet文档包含了IC芯片的工作原理。在porting驱动之前，你总得了解IC芯片的时序图，传输数据的一些协议接口和时序图，大概有几路电压，GPIO管脚和clk时钟控制之类的吧。

其次，driver工程师不需要去专研很深的硬件知识，驱.]]></description><category></category></item><item><title><![CDATA[raspberry pi cm3+的i2c使用的问题调试]]></title><link>https://blog.youkuaiyun.com/u010299133/article/details/108835170</link><guid>https://blog.youkuaiyun.com/u010299133/article/details/108835170</guid><author>u010299133</author><pubDate>Sun, 27 Sep 2020 19:57:02 +0800</pubDate><description><![CDATA[本文是在树莓派上面使用i2c时候，运行时间太长就会随机出现错误：bcm2835 3f205000.i2c: Got unexpected interrupt (from firmware?)  调试解决方法。

之前有介绍到cm3的i2c：https://blog.youkuaiyun.com/u010299133/article/details/107006090?ops_request_misc=%257B%2522request%255Fid%2522%253A%25221601207611191952466..]]></description><category></category></item><item><title><![CDATA[树莓派CM3+系统镜像img文件的制作]]></title><link>https://blog.youkuaiyun.com/u010299133/article/details/108831807</link><guid>https://blog.youkuaiyun.com/u010299133/article/details/108831807</guid><author>u010299133</author><pubDate>Sun, 27 Sep 2020 17:04:56 +0800</pubDate><description><![CDATA[树莓派的raspberry computer module cm3+自带emmc和ddr。在项目开发好了之后，再再次制作镜像的话，一般是采用网上通用的方法，使用磁盘工具映像工具将emmc中的数据读出来做成img镜像

然后再下载到新的CM板子上面。但是这会有一个问题，比如说如果是emmc 16G的话，不管是读取制作img镜像文件还是将制作好的镜像文件烧写到新的CM板子上，都会需要很长的时间，以16G的emmc为例，不管是烧写还是制作镜像所消耗的时间都在40多分钟以上。所以如果想缩短镜像的制作和烧写时间，必须]]></description><category></category></item><item><title><![CDATA[hi3559av100 mipi接口硬件lane的接法分布]]></title><link>https://blog.youkuaiyun.com/u010299133/article/details/108034754</link><guid>https://blog.youkuaiyun.com/u010299133/article/details/108034754</guid><author>u010299133</author><pubDate>Sun, 16 Aug 2020 12:35:16 +0800</pubDate><description><![CDATA[ov7251从官方的说明文档上面得知，有两种接口，mipi和lvds接口。







公司现有的模组上面来看，只有1 lane的mipi接口，所以需要研究确认hi3559av100是否支持1lane的mipi输入。

查看hi3559av100的《mipi使用指南》中有多种sensor的接口模式。

MIPI Rx 最大能同时对接不同数量的 sensor，每个 sensor 需要的 Lane 也不尽相同。因此用户需要确定 MIPI Rx 的 LANE 分布模式。





整合我们的产品上需求来看，我们]]></description><category></category></item><item><title><![CDATA[Linux平台下的DHCP相关的设置]]></title><link>https://blog.youkuaiyun.com/u010299133/article/details/107300289</link><guid>https://blog.youkuaiyun.com/u010299133/article/details/107300289</guid><author>u010299133</author><pubDate>Sun, 12 Jul 2020 15:45:26 +0800</pubDate><description><![CDATA[本文可以作为在Linux平台下的dhcp的设置使用参考



//Install dhcp server
[root@localhost ~]#yum install dhcp

//We shoule copy  /usr/share/doc/dhcp-4.2.0/dhcpd.conf.sample to /etc/dhcp/dhcpd.conf
//and modifiy /etc/dhcp/dhcpd.conf as the following
[root@localhost ~]#cat /etc.]]></description><category></category></item><item><title><![CDATA[Realtek WiFi concurrent 模式介绍]]></title><link>https://blog.youkuaiyun.com/u010299133/article/details/107299962</link><guid>https://blog.youkuaiyun.com/u010299133/article/details/107299962</guid><author>u010299133</author><pubDate>Sun, 12 Jul 2020 15:28:08 +0800</pubDate><description><![CDATA[翻译自：Realtek_WiFi_concurrent_mode_Introduction.pdf

本文主要是介绍Realtek WiFi模块的concurrent模式的使用介绍。可以作为实现WiFi模块的ap模式和sta模式共存的配置参考。

1.什么是concurrent模式

这个模式的特点就是在OS中注册两个无线网络设备（wlan0，wlan1），并且这两个网络设备接口共享同一个硬件设备。如下图所示：



这一特性，就允许在一个无线硬件设备上同时运行两个不同的无线任务。

值得注意的是，real]]></description><category></category></item><item><title><![CDATA[WiFi吞吐量测试工具iperf的使用]]></title><link>https://blog.youkuaiyun.com/u010299133/article/details/107125560</link><guid>https://blog.youkuaiyun.com/u010299133/article/details/107125560</guid><author>u010299133</author><pubDate>Sat, 04 Jul 2020 15:58:29 +0800</pubDate><description><![CDATA[首先分别在单板上和PC机上安装iperf工具

单板和PC机连接上同一个路由器：

单板的IP：10.0.0.9

PC机的IP：10.0.0.8

PC机通过cmd命令行进入iperf工具包的目录，然后执行iperf3.exe -s 启动iperf的服务，开始监听操作

TCP发送吞吐量：

单板在终端中：iperf -c 10.0.0.8 -t 10 -i 1 

将PC机上执行iperf -s

其中：启动客户端，连接10.0.0.8，-t 10 表示测试 10 秒钟，-i 1 表示每隔 1 ...]]></description><category></category></item><item><title><![CDATA[Linux下查看分析可执行文件的方式]]></title><link>https://blog.youkuaiyun.com/u010299133/article/details/107093117</link><guid>https://blog.youkuaiyun.com/u010299133/article/details/107093117</guid><author>u010299133</author><pubDate>Thu, 02 Jul 2020 21:24:12 +0800</pubDate><description><![CDATA[本文主要讲解可执行文件信息的查看方式和方法：readelf，ldd，nm，file，strip，size， strings，objdump]]></description><category></category></item><item><title><![CDATA[linux系统设置系统时间的方法]]></title><link>https://blog.youkuaiyun.com/u010299133/article/details/107048493</link><guid>https://blog.youkuaiyun.com/u010299133/article/details/107048493</guid><author>u010299133</author><pubDate>Tue, 30 Jun 2020 20:19:52 +0800</pubDate><description><![CDATA[Linux系统设置系统时间有两种方法：

1.使用命令date

2.使用系统调用settimeofday，gettimeofday

注意：不管使用上面哪一种方法都必须是root权限。

如果系统连接上了网络，设置的时间和网络时间不同，系统会自动使用网络中的时间。



1.使用命令date

在命令行中可以使用：




sudo date --s "2020-6-30 10:10:10"

2.使用系统调用settimeofday




#include &lt;stdio.h&gt;
#inclu]]></description><category></category></item><item><title><![CDATA[树莓派cm3+的i2c使用总结]]></title><link>https://blog.youkuaiyun.com/u010299133/article/details/107006090</link><guid>https://blog.youkuaiyun.com/u010299133/article/details/107006090</guid><author>u010299133</author><pubDate>Sun, 28 Jun 2020 20:30:45 +0800</pubDate><description><![CDATA[本文主要介绍了树莓派cm3+的i2c的使用配置方法，包括芯片平台自带的两个i2c外设soc的使用，i2c0总线上面挂接多个i2c设备的设备地址探测以及配置软件模拟i2c的方法。]]></description><category></category></item><item><title><![CDATA[Linux系统中段错误信号sigsegv的捕获和调试使用]]></title><link>https://blog.youkuaiyun.com/u010299133/article/details/106868552</link><guid>https://blog.youkuaiyun.com/u010299133/article/details/106868552</guid><author>u010299133</author><pubDate>Sat, 20 Jun 2020 10:42:38 +0800</pubDate><description><![CDATA[本文介绍了在Linux系统中通过捕获信号sigsegv信号debug segmentation fault的方法。

要在程序的执行过程中能捕获段错误发出的信号sigsegv，需要在程序的开始的时候注册信号的处理函数signal(SIGSEGV, sigsegv_handler);并且在信号的处理函数sigsegv_handler中需要调用系统调用backtrace和bacetrace_symbols打印出回溯信息。接下来还需要通过objdump 的命令将程序反汇编成一个.s的汇编文件。然后根据回溯信息和汇]]></description><category></category></item><item><title><![CDATA[Linux应用层对串口的使用操作]]></title><link>https://blog.youkuaiyun.com/u010299133/article/details/106598351</link><guid>https://blog.youkuaiyun.com/u010299133/article/details/106598351</guid><author>u010299133</author><pubDate>Sun, 07 Jun 2020 10:32:32 +0800</pubDate><description><![CDATA[在Linux中串口作为字符设备，设备节点在/dev/目录下，使用普通的open，close，write和read等系统调用即可使用。这其中会涉及到一些串口的基本属性的设置，如:波特率，奇偶校验，停止位，数据位以及有无流控等。一些特殊的系统调用和数据结构会被使用。

参考:

https://blog.youkuaiyun.com/u013485792/article/details/51006790



下面是一个简单的示例：


#include &lt;stdio.h&gt;
#include &lt;str..]]></description><category></category></item><item><title><![CDATA[树莓派系统中cmdline.txt文件的介绍]]></title><link>https://blog.youkuaiyun.com/u010299133/article/details/106452779</link><guid>https://blog.youkuaiyun.com/u010299133/article/details/106452779</guid><author>u010299133</author><pubDate>Sun, 31 May 2020 11:13:29 +0800</pubDate><description><![CDATA[Linux内核会接收到在启动期间传递的命令行参数。在树莓派中这些参数是在boot分区目录下的一个文件中被定义，这个文件就是cmdline.txt。用户可以使用编辑器编辑这个文件。

在内核启动时传递给内核的命令行，可以使用cat /proc/cmdline查看。这些信息和cmdline.txt并不完全一样。因为固件在启动内核之前可以对这个文件的内容进行修改。

命令行选项

有很多命令行参数，其中一些事可以被内核定义的，其他的一些事内核正在使用的代码使用。

cmdline.txt中标准的命令行条目：

c]]></description><category></category></item><item><title><![CDATA[Linux的使用cron调度任务]]></title><link>https://blog.youkuaiyun.com/u010299133/article/details/106452591</link><guid>https://blog.youkuaiyun.com/u010299133/article/details/106452591</guid><author>u010299133</author><pubDate>Sun, 31 May 2020 11:09:03 +0800</pubDate><description><![CDATA[cron是一个Unix系统下的配置任务调度的工具。这个工具可以周期性或者是以一个固定间隔运行命令或者脚本。



命令crontab是用于编辑操作中的任务列表，这些列表是基于各自用户的，也就是说每个用户，包括root用户都有自己的crontab。



需要在系统中周期性或者是以一个固定间隔执行命令或者脚本的话，需要使用crontab -e的命令编辑这个工具，第一次执行这个命令的时候会提示选择一个编辑器，根据自己的喜好选择即可。

添加任务的方式：







如：

每天晚上的凌晨执行脚本/hom...]]></description><category></category></item><item><title><![CDATA[Linux（树莓派）系统中判断WiFi是否连接上路由器的方法]]></title><link>https://blog.youkuaiyun.com/u010299133/article/details/106342416</link><guid>https://blog.youkuaiyun.com/u010299133/article/details/106342416</guid><author>u010299133</author><pubDate>Mon, 25 May 2020 21:24:40 +0800</pubDate><description><![CDATA[之前（https://blog.youkuaiyun.com/u010299133/article/details/105823339）介绍过在Linux系统中使用wpa_supplicant连接到指定的WiFi路由器的方法，现在需要判断是否连接上路由器，以及如何获取因为WiFi密码错误造成的无法连接路由器的方法。大致思路是在使用wpa_suppliant工具连接WiFi路由器的时候使用参数（-f ）指定一个log文件存放的路径文件。如：-f /tmp/wpa.log。]]></description><category></category></item><item><title><![CDATA[树莓派系统（Linux）SD卡存储设备的命令行使用]]></title><link>https://blog.youkuaiyun.com/u010299133/article/details/106169782</link><guid>https://blog.youkuaiyun.com/u010299133/article/details/106169782</guid><author>u010299133</author><pubDate>Sun, 17 May 2020 09:18:30 +0800</pubDate><description><![CDATA[本文介绍了SD卡读卡器通过usb连接到树莓派的挂载和卸载的操作，以及SD卡的格式化以及查看SD卡容量的命令行操作。mount umount mkfs.vfat df]]></description><category></category></item><item><title><![CDATA[树莓派通过配置config.txt文件使用片上外设]]></title><link>https://blog.youkuaiyun.com/u010299133/article/details/106165232</link><guid>https://blog.youkuaiyun.com/u010299133/article/details/106165232</guid><author>u010299133</author><pubDate>Sat, 16 May 2020 22:04:00 +0800</pubDate><description><![CDATA[config.txt的说明文档：https://www.raspberrypi.org/documentation/configuration/config-txt/README.md

树莓派是使用一个配置文件config.txt代替pc机中的BIOS的功能。这个配置文件会在arm_cpu以及Linux初始化之前被GPU读取。如果相对应的外设使用到了gpio接口，那么gpio的引脚复用的功能，可以先通过gpio readall读取相应的引脚的复用信息。以cm3+的40 41两个引脚输出双通道的pwm...]]></description><category></category></item><item><title><![CDATA[树莓派CM3+的串口1（uart1）和串口0（uart0）的功能实现]]></title><link>https://blog.youkuaiyun.com/u010299133/article/details/106083339</link><guid>https://blog.youkuaiyun.com/u010299133/article/details/106083339</guid><author>u010299133</author><pubDate>Tue, 12 May 2020 22:32:49 +0800</pubDate><description><![CDATA[本文主要介绍了在树莓派的CM3+的平台上实现gpio接口的复用功能的方法。以gpio32和gpio33实现uart1的功能为例。以及在gpio14和gpio15上面实现uart0的方法。]]></description><category></category></item></channel></rss>