自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

仗劍走天涯

本博客主要是用于工作及学习中的备份和记录,欢迎大家留言交流。

  • 博客(341)
  • 资源 (9)
  • 收藏
  • 关注

转载 Android 硬件抽象层(HAL)概要介绍和学习计划

前言Android 硬件抽象层(HAL)概要介绍和学习计划Android 的硬件抽象层,简单来说,就是对Linux 内核驱动程序的封装,向上提供接口,屏蔽低层的实现细节。也就是说,把对硬件的支持分成了两层,一层放在用户空间(User Space),一层放在内核空间(Kernel Space),其中,硬件抽象层运行在用户空间,而Linux 内核驱动程序运行在内核空间。为什么要这样安排呢?把硬件抽象层和内核驱动整合在一起放在内核空间不可行吗?从技术实现的角度来看,是可以的,然而从商业的角度来看,把对硬件

2021-05-05 23:56:59 949 1

转载 Android camera框架理解

转自:https://www.jianshu.com/p/bac0e72351e4总体框图应用框架:应用代码位于应用框架级别,它使用 Camera 2 API 与相机硬件进行交互。在内部,这些代码会调用相应的 Binder 接口,以访问与相机互动的原生代码。AIDL:与 CameraService 关联的 Binder 接口可在 frameworks/av/camera/aidl/android/hardware 中找到。生成的代码会调用较低级别的原生代码以获取对实体相机的访问权限,并返回用于在

2021-01-10 23:05:23 990 1

转载 mtk camera上电分析

转发自:https://blog.csdn.net/qq_25731223/article/details/95317260mt6739 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...

2020-12-13 23:58:10 1599

转载 Android Camera驱动开发入门必备知识

camera驱动开发所需要具备基础知识,如果你还没有了解过camera模块,那么这些基础必备的知识,将会对你比较有用,俗话说“磨刀不误砍柴工”,基本功配置好了,相信你在做camera驱动开发过程中肯定得心应手。1.硬件相关首先,要学会看datasheet,datasheet文档包含了IC芯片的工作原理。在porting驱动之前,你总得了解IC芯片的时序图,传输数据的一些协议接口和时序图,大概有几路电压,GPIO管脚和clk时钟控制之类的吧。其次,driver工程师不需要去专研很深的硬件知识,驱.

2020-10-31 22:05:48 5790

原创 raspberry pi cm3+的i2c使用的问题调试

本文是在树莓派上面使用i2c时候,运行时间太长就会随机出现错误:bcm2835 3f205000.i2c: Got unexpected interrupt (from firmware?) 调试解决方法。之前有介绍到cm3的i2c:https://blog.csdn.net/u010299133/article/details/107006090?ops_request_misc=%257B%2522request%255Fid%2522%253A%25221601207611191952466..

2020-09-27 19:57:02 703

原创 树莓派CM3+系统镜像img文件的制作

树莓派的raspberry computer module cm3+自带emmc和ddr。在项目开发好了之后,再再次制作镜像的话,一般是采用网上通用的方法,使用磁盘工具映像工具将emmc中的数据读出来做成img镜像然后再下载到新的CM板子上面。但是这会有一个问题,比如说如果是emmc 16G的话,不管是读取制作img镜像文件还是将制作好的镜像文件烧写到新的CM板子上,都会需要很长的时间,以16G的emmc为例,不管是烧写还是制作镜像所消耗的时间都在40多分钟以上。所以如果想缩短镜像的制作和烧写时间,必须

2020-09-27 17:04:56 1298

原创 hi3559av100 mipi接口硬件lane的接法分布

ov7251从官方的说明文档上面得知,有两种接口,mipi和lvds接口。公司现有的模组上面来看,只有1 lane的mipi接口,所以需要研究确认hi3559av100是否支持1lane的mipi输入。查看hi3559av100的《mipi使用指南》中有多种sensor的接口模式。MIPI Rx 最大能同时对接不同数量的 sensor,每个 sensor 需要的 Lane 也不尽相同。因此用户需要确定 MIPI Rx 的 LANE 分布模式。整合我们的产品上需求来看,我们

2020-08-16 12:35:16 6680 2

转载 Linux平台下的DHCP相关的设置

本文可以作为在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.

2020-07-12 15:45:26 281

翻译 Realtek WiFi concurrent 模式介绍

翻译自:Realtek_WiFi_concurrent_mode_Introduction.pdf本文主要是介绍Realtek WiFi模块的concurrent模式的使用介绍。可以作为实现WiFi模块的ap模式和sta模式共存的配置参考。1.什么是concurrent模式这个模式的特点就是在OS中注册两个无线网络设备(wlan0,wlan1),并且这两个网络设备接口共享同一个硬件设备。如下图所示:这一特性,就允许在一个无线硬件设备上同时运行两个不同的无线任务。值得注意的是,real

2020-07-12 15:28:08 4779

原创 WiFi吞吐量测试工具iperf的使用

首先分别在单板上和PC机上安装iperf工具单板和PC机连接上同一个路由器:单板的IP:10.0.0.9PC机的IP:10.0.0.8PC机通过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 ...

2020-07-04 15:58:29 4935

转载 Linux下查看分析可执行文件的方式

本文主要讲解可执行文件信息的查看方式和方法:readelf,ldd,nm,file,strip,size, strings,objdump

2020-07-02 21:24:12 4301

原创 linux系统设置系统时间的方法

Linux系统设置系统时间有两种方法:1.使用命令date2.使用系统调用settimeofday,gettimeofday注意:不管使用上面哪一种方法都必须是root权限。如果系统连接上了网络,设置的时间和网络时间不同,系统会自动使用网络中的时间。1.使用命令date在命令行中可以使用:sudo date --s "2020-6-30 10:10:10"2.使用系统调用settimeofday#include <stdio.h>#inclu

2020-06-30 20:19:52 8662

原创 树莓派cm3+的i2c使用总结

本文主要介绍了树莓派cm3+的i2c的使用配置方法,包括芯片平台自带的两个i2c外设soc的使用,i2c0总线上面挂接多个i2c设备的设备地址探测以及配置软件模拟i2c的方法。

2020-06-28 20:30:45 2024

翻译 Linux系统中段错误信号sigsegv的捕获和调试使用

本文介绍了在Linux系统中通过捕获信号sigsegv信号debug segmentation fault的方法。要在程序的执行过程中能捕获段错误发出的信号sigsegv,需要在程序的开始的时候注册信号的处理函数signal(SIGSEGV, sigsegv_handler);并且在信号的处理函数sigsegv_handler中需要调用系统调用backtrace和bacetrace_symbols打印出回溯信息。接下来还需要通过objdump 的命令将程序反汇编成一个.s的汇编文件。然后根据回溯信息和汇

2020-06-20 10:42:38 5881 2

转载 Linux应用层对串口的使用操作

在Linux中串口作为字符设备,设备节点在/dev/目录下,使用普通的open,close,write和read等系统调用即可使用。这其中会涉及到一些串口的基本属性的设置,如:波特率,奇偶校验,停止位,数据位以及有无流控等。一些特殊的系统调用和数据结构会被使用。参考:https://blog.csdn.net/u013485792/article/details/51006790下面是一个简单的示例:#include <stdio.h>#include <str..

2020-06-07 10:32:32 1217

翻译 树莓派系统中cmdline.txt文件的介绍

Linux内核会接收到在启动期间传递的命令行参数。在树莓派中这些参数是在boot分区目录下的一个文件中被定义,这个文件就是cmdline.txt。用户可以使用编辑器编辑这个文件。在内核启动时传递给内核的命令行,可以使用cat /proc/cmdline查看。这些信息和cmdline.txt并不完全一样。因为固件在启动内核之前可以对这个文件的内容进行修改。命令行选项有很多命令行参数,其中一些事可以被内核定义的,其他的一些事内核正在使用的代码使用。cmdline.txt中标准的命令行条目:c

2020-05-31 11:13:29 5431

翻译 Linux的使用cron调度任务

cron是一个Unix系统下的配置任务调度的工具。这个工具可以周期性或者是以一个固定间隔运行命令或者脚本。命令crontab是用于编辑操作中的任务列表,这些列表是基于各自用户的,也就是说每个用户,包括root用户都有自己的crontab。需要在系统中周期性或者是以一个固定间隔执行命令或者脚本的话,需要使用crontab -e的命令编辑这个工具,第一次执行这个命令的时候会提示选择一个编辑器,根据自己的喜好选择即可。添加任务的方式:如:每天晚上的凌晨执行脚本/hom...

2020-05-31 11:09:03 864

转载 Linux(树莓派)系统中判断WiFi是否连接上路由器的方法

之前(https://blog.csdn.net/u010299133/article/details/105823339)介绍过在Linux系统中使用wpa_supplicant连接到指定的WiFi路由器的方法,现在需要判断是否连接上路由器,以及如何获取因为WiFi密码错误造成的无法连接路由器的方法。大致思路是在使用wpa_suppliant工具连接WiFi路由器的时候使用参数(-f )指定一个log文件存放的路径文件。如:-f /tmp/wpa.log。

2020-05-25 21:24:40 5203

转载 树莓派系统(Linux)SD卡存储设备的命令行使用

本文介绍了SD卡读卡器通过usb连接到树莓派的挂载和卸载的操作,以及SD卡的格式化以及查看SD卡容量的命令行操作。mount umount mkfs.vfat df

2020-05-17 09:18:30 2446

翻译 树莓派通过配置config.txt文件使用片上外设

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...

2020-05-16 22:04:00 1868 1

翻译 树莓派CM3+的串口1(uart1)和串口0(uart0)的功能实现

本文主要介绍了在树莓派的CM3+的平台上实现gpio接口的复用功能的方法。以gpio32和gpio33实现uart1的功能为例。以及在gpio14和gpio15上面实现uart0的方法。

2020-05-12 22:32:49 2860 2

转载 树莓派(Linux系统)gpio 基于wiringPi输出pwm信号

本文介绍了树莓派的gpio引脚输出pwm波用以控制led灯亮度的方法,使用的是基于树莓派官方系统中自带的wiringPi库函数实现的。

2020-05-06 23:07:59 2396

转载 Linux C语言获取命令行执行结果输出的指定字符串后指定的内容

本文介绍了在Linux系统中,使用C语言中的popen执行了一个终端命令后,将终端输出重定向到一个文件流中,再使用fgets获取到终端输出的每一行,并使用strstr提取其中的关键字符串,然后使用sscanf获取到字符串后面的字符。由于fgets是指定的流中读取数据,本文也适用于从一个文件中获取指定字符串的使用场景。

2020-05-06 23:03:34 3044

翻译 树莓派(Linux)在终端命令行中连接路由器

本文介绍了Linux系统启动后,在Linux的命令行中使用wpa_supplicant以及wpa_passphrase工具连接到指定路由器的方法。以及使用过程中的调试过程。

2020-04-28 21:59:15 4142 1

翻译 树莓派(Linux)音频输出接口(HDMI和3.5mm耳机接口)相互切换方法

本文主要介绍了树莓派音频输出的接口(包括HDMI音频输出和3.5 耳机接口的音频输出)音频输出接口的切换方法。音频的输出接口切换主要分为:1.系统中多媒体播放(如:网站上的音乐或者视频)2.在终端命令行中播放本地mp3音频的方法

2020-04-26 22:07:32 10362 1

转载 修改树莓派系统(Linux)开机画面的操作

本文介绍了修改树莓派系统的开机自定义画面的方法。硬件:树莓派3b+(BCM2837)系统:2019-09-26-raspbian-buster-fullLinux raspberrypi 4.19.75-v7+ #1270 SMP Tue Sep 24 18:45:11 BST 2019 armv7l GNU/Linux参考:https://blog.csdn.net/hua...

2020-04-22 22:09:56 2192

原创 树莓派CM3+设置静态IP并开机自动连接指定路由器

本文主要介绍了在树莓派(Linux)CM3+的USB WiFi的使用,包括静态ip设置,以及开机后自动连接一个ap。顺便介绍了ssh的开启和samba服务器的搭建。

2020-04-21 23:09:45 634

翻译 树莓派系统(BCM283x)的启动过程

树莓派主控芯片BCM283x的启动过程https://www.raspberrypi.org/documentation/hardware/computemodule/cm-peri-sw-guide.mdBCM283x的启动过程BCM283x devices consist of a VideoCore GPU and ARM CPU cores. The GPU ...

2020-04-19 10:46:32 1232 1

原创 Windows10 安装配置opencv和qt开发环境

本文参考网络资源,主要介绍了在window10下面的,qtide中调用opencv的接口函数,环境的配置方法

2020-04-15 23:34:55 538

原创 在树莓派(Linux)上使用FTDI的usb转串口芯片ft232两种驱动方式(VCP和D2xx)

FTDI的芯片ft232芯片提供VCP和D2xx两种方式的驱动。目前的树莓派系统中提供的主要还是VCP的驱动方式。但是有的代码是基于D2xx的驱动方式的API编写的,这时候就需要将系统中的VCP驱动方式替换成D2xx的驱动方式。默认情况下是VCP的方式驱动。直接插入USB转接板的现象如下:驱动设备:所以直接将ft232芯片的转接板的usb插入到树莓派,可以查看到如下的设备...

2020-04-10 22:35:22 8841

原创 树莓派上实现qt+opencv获取mipi-csi摄像头视频以及qt使用wiringPi库控制LED的亮灭

https://blog.csdn.net/xiaolintyd/article/details/52974809首先在系统里面安装opencvsudo apt-get install libopencv-dev安装qtsudo apt-get updatesudo apt-get install qt5-defaultsudo apt-get install qtcrea...

2020-04-08 22:31:45 3471 4

转载 python调用c/c++的方法

首先编写一个c++文件api.cpp:#include <Python.h>class MyClass { public: int add(int x,int y) { return x+y; }};extern "C" int add(int x,int y){ MyClass obj; return obj.add(x,y);}...

2020-04-05 13:49:37 296

原创 Android设备通过以太网使用adb

一般pc调试Android设备的时候最常用的方法就是adb了。多数时候我们都是通过Android设备的usb口和pc相连来使用adb,其实pc机也可以通过以太网的方式使用adb。这样在通过usb方式受限的时候,我们也可以通过以太网方式调试Android设备了。下面基于exynos4412平台介绍具体的方法:1.再开机前插好网线,由于要输入命令,所以连接好串口线和设置好超级终端。2.进入...

2020-04-04 19:59:49 1816

原创 修改Android系统的system分区的读写权限

Android系统的默认分区是只读mount,是不能往里写数据的。如果想往system分区中写数据,可以使用adb命令adb remount从新mount一下。也可以在板子的终端上面remount一下system分区使其可以读写:mount -o remount /dev/block/mmcblk0p2 /system以上命令只会对当次启动有效,从新启动后又会恢复到只读。有一种方法,就...

2020-04-04 16:59:20 11201 1

转载 基于python的opencv的录像保存视频预览的操作

本文介绍基于python语言使用OpenCV提供的接口在树莓派上实现视频的预览和视频的保存(avi),以及使用OpenCV读取播放一个现有的视频文件,并将这个视频文件写道另一个文件中。本文主要参考http://www.waveshare.net/study/article-903-1.html1.摄像头的视屏预览并保存到本地。1.1首先是设置摄像头:capCamera = c...

2020-03-31 22:39:54 1803

转载 树莓派使用mipi-csi摄像头

本文主要介绍了在树莓派平台上的mipi-csi摄像头的使用,以及mipidsi触摸板的显示屏翻转和触摸板的翻转的方法

2020-03-29 20:49:53 5299 1

转载 树莓派中将usb摄像头的数据通过Framebuffer显示到LCD屏上

通过操作Linux系统下的/dev/video0 USB摄像头设备节点和/dev/fb0 LCD设备节点,将USB摄像头的视频数据显示到LCD上面。从/dev/video0设备节点通过v4l2框架接口读出的数据是yuyv的,这些数据是不能直接显示在lcd上面的,需要转换成rgb才能显示在lcd上面。主要参考:https://blog.csdn.net/zhangdaxia2/arti...

2020-03-20 20:13:26 1836

转载 git commit之后,想撤销commit

写完代码后,我们一般这样git add . //添加所有文件git commit -m "本功能全部完成"执行完commit后,想撤回commit,怎么办?这样凉拌:git reset --soft HEAD^这样就成功的撤销了你的commit注意,仅仅是撤回commit操作,您写的代码仍然保留。说一下个人理解:HEAD^的意思是上...

2020-03-13 20:55:31 137

原创 live555转发H264实时流实现直播的实现

本文介绍了在树莓派上通过live555实现了从树莓派的USB端口获取到的H264码流的实时直播的功能。live555实现直播的方式是以testProgs/testOnDemandRTSPServer.cpp文件为参照对象。但是查看这个源码文件实现的是直播个本地已经录制好的文件如:test.264。并且只是将这个文件播放完后就停止了读取这个文件:所以当前的任务需求,如...

2020-03-10 22:17:09 2333

原创 golang的模块化编程即不同文件间函数的调用

本文介绍了golang中模块化编程的方法,以及其中需要注意的地方。GitHub:https://github.com/SkyDreamcode/Golang.git参考:https://www.runoob.com/go/go-program-structure.html模块化编程,就是在不同的源代码文件中实现不同功能的函数,以方便我们在项目中的代码移植和维护。下面介绍golang语言...

2020-03-10 22:09:19 3410

qt-pro.rar

本代码是基于树莓派3B+平台,使用qt5和opencv获取mipi-csi摄像头视频并显示,以及通过树莓派的wiringPi控制gpio的电平高低

2020-04-08

海思平台异构系统ISP在线调试代码Makefile注释

海思平台的ISP在线调试使用了单独的代码编译,可以生成a53端执行的liteos 系统bin文件。其中Makefile文件就是组织了整个的编译过程,包括一些编译所要依赖到的mpp库文件以及liteos_a53系统头文件,还有诸如config.mk配置文件。这对于很多希望能够构建自己的liteos端固件程序Makefile编写提供了参考,本人将这个Makefile逐行做了注释,希望能够对大家的Makefile学习和编译生成自己的liteos端的bin文件提供帮助

2019-10-19

c语言实现的便于移植的sha1算法.tar

使用的c语言实现的sha1 数字签名的功能,可以方便的移植到自己的工程中

2019-06-20

Linux下ARM汇编入门.pdf

此文档包含了Linux下ARM汇编的基础入门知识,可供学习参考

2019-06-18

01_leds.rar

资源主要是exynos4412裸机控制led灯的具体实现,详细的分析见:https://mp.csdn.net/postedit/92435112

2019-06-16

FCB_EV7520摄像头模组资料

FCB_EV7520摄像头模组输出的是LVDS的视频信号,如果需要mipi信号,还需要使用LVDS转MIPI的转接板。

2018-12-28

LT8918_datasheet

龙讯半导体的芯片LT8918实现将输入的TTL信号转成mipi信号

2018-12-28

THC63LVD104C芯片datasheet

THC63LVD104C,可以摄像头的lvds信号转TTL信号,本文档是它的datasheet

2018-12-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除