v4l2 driver framework code review


v4l2 drvier framework code review术语解释术语解释vfevideo front end driverccicamera control interfacecsicamera serial interface启动流程$dmesg -T |egrep -i 'vfe|ov5640|v4l|csi|cci'如上启动顺序csi、cci、mipi 等外设初始化;vfe控制 v4l2 启动;vfe在初始化 v4l2-device启动的时候已经同sub-device ov5640 通信,但是此时ov5640 启动还没有加载,这部分需要详细走读下代码;sub-devic...

linux gpio libc


gpio对linux c app里面的一个gpio操作云里雾里半天,是时候好好理理了。https://www.kernel.org/doc/Documentation/gpio/sysfs.txthttps://www.kernel.org/doc/Documentation/gpio/gpio-legacy.txt主要是这gpio number是如何同pin number 一一对应的。256 root@mxj-zbcs-310:#tree /sys/class/gpio . |-- export |-- gpio120 -> ../../devices/soc.0/1c20800...

Overview of the V4L2 driver framework


Overview of the V4L2 driver frameworkThis text documents the various structures provided by the V4L2 framework and their relationships.IntroductionThe V4L2 drivers tend to be very complex due to the complexity of the hardware: most devices have multiple ICs, export multiple device nodes in /dev, ...

使用VS2017 开发Linux C应用


使用VS2017 开发Linux C应用Visual C++ for Linux Development依赖环境sudo apt-get install zip openssh-server g++ gdb gdbserver配置sshd 支持root账户登录vi /etc/ssh/sshd_config permitRootLogin yes重定向uname,默认不支持aarch64echo "echo ARM" > /bin/uname #暂时不支持arrch64,需要重定向unameinclude在工程添加了路径添加了.h 文件,尽管在include 时...

log4c


log4chttp://log4c.sourceforge.net/已经从 http://log4c.sourceforge.net/ 下载源码,成功编译,现在需要讲动态库确定位置。然后讲对应的.h文件拷贝到工程。安装deb$sudo apt-get install liblog4c-dev #liblog4csource$wget http://prdownloads.sourceforge.net/log4c/log4c-1.2.4.tar.gz $mkdir log4c $tar -xvf log4c-1.2.4.tar.gz -C log4c $cd log4c/log4c-...

logrotate


logrotatedocsman logrotatetroubleshootings日志异常如上强制logrotate ,执行以下步骤。logrotate -v -f /etc/logrotate.d/kernel-message 重命名当前日志 renaming /var/log/messages to /var/log/messages-20180827压缩文件compressing log with: /bin/gzip默认的文件已经不在了。root@350-tf-s2 /var/log# ls -lhS message* ls -lhS kern* -rw-r----- 1 ro...

systemd


systemdSystemdsystem V与systemdman systemdsystemd 是linux操作系统的系统和服务管理器,作为boot启动后的第一个进程(PID=1),systemd扮演初始化系统,以及启动和维护用户空间服务。为了兼容SysV,如果systemd初始化被调用并且进程id不是1,它将执行telinit,并且将同步参数到该应用,所以在正常系统登录状态下的init和telinit是等同的。更多信息通过man telinit 了解。当作为系统实例启动,systemd通过system.conf 解析配置文件,如果作为用户进程启动,从user.conf解析配置文件,更...

htpdate


htpdate标签 :GAC-350 htpdateGAC-350 放弃ntpdate采用htpdate,通过/etc/default/htpdate配置为deamon模式,并且尝试从多个门户网站同步时间。但是测试反馈从开机无网络到网络恢复的时候同步时间未及时恢复,需要等待一段时间。HTP_SERVERS="baidu.com youku.com taobao.com" HTP_OPTIONS="-D -d -s -t"初步怀疑第一次未正常获取到时间后,默认轮询周期过大,导致未及时同步,在man htpdate找到轮询周期的描述,从这里看这里默认...

bashrc notes


bashrc notesbash 登录会使用/etc/profile和~/.bashrc,视情况将如下的值保存在对应文件,使之生效。man 高亮export LESS_TERMCAP_mb=$'\E[01;32m' export LESS_TERMCAP_md=$'\E[01;31m' export LESS_TERMCAP_me=$'\E[0m' export LESS_TERMCAP_se=$'\E[0m' export LESS_TERMCAP_so=$'\E[01;44;33m' export LESS_TERMCAP_ue=$'\E[0m' export LESS_TERMCA...

shell command


Shell 命令对于Shell命令我们要区分bash 内置(bash built in )和GNU 开源软件包以及三方软件包。对于所有命令我们都可以尝试whereis 确定可执行文件、源码、和手册路径。#man whereis whereis - locate the binary, source, and manual page files for a com- mand # whereis whereis whereis: /usr/bin/whereis /usr/share/man/man1/whereis.1.gz 同时可以可以通过which确定当前环境变量下的命令位置#...