- 博客(17)
- 收藏
- 关注
转载 objdump命令解析
转载于:http://man.linuxde.net/objdumpobjdump命令是用查看目标文件或者可执行的目标文件的构成的gcc工具。选项–archive-headers-a显示档案库的成员信息,类似ls -l将lib*.a的信息列出。-b bfdname–target=bfdname指定目标码格式。这不是必须的,objdump能自动识别许多格式,比如:objdump -b oasys -m vax -h fu.o显示fu.o的头部摘要信息,明确指出该文件是Vax系统下用Oasy
2020-09-27 14:52:11
1592
原创 USB协议以及枚举过程浅析
一、概述数据是由二进制数字串构成的,首先数字串构成域(有七种),域再构成包,包再构成事务(IN、OUT、SETUP),事务最后构成传输(中断传输、并行传输、批量传输和控制传输)。二、域域:是USB数据最小的单位,由若干位组成(至于是多少位由具体的域决定),域可分为七个类型1、同步域(SYNC)是用来告诉USB的串行接口引擎数据要开始传输了,请做好准备。除此之外,同步域还可以用来同步主机...
2019-11-28 09:34:39
812
转载 断言函数assert详解
assert是C语言代码在debug阶段使用频率非常高的一个宏,所以我们需要熟悉他的用法,在网上找到了一个非常好的一个博客,对assert宏进行了详细的介绍。assert完全攻略...
2019-11-19 10:29:41
413
原创 ubuntu中cmake编译arm linux应用程序实现
CMake是一个跨平台的安装编译工具,使用起来非常简单,在开发arm-linux过程中主要用它来生成makefile,进而根据makefile生成可执行文件。下面举一个简单的例子介绍下CMake的用法。|——bulid|——src| |——strlen.c|——include| |——strlen.h|——main.c|——CMakeLists以上是文件目录结构1 c...
2019-11-15 15:55:46
1937
原创 相机的景深
简单的说,景深(depth of field)就是聚焦清晰的焦点前后“可接受的清晰区域”。这段距离的特点是实焦点后面清晰的距离要长于前面清晰的距离,对于任意口径来说,其焦点之后的景深大约是焦点前面景深的2倍。清晰范围前后较短的,我们一般称之为景深浅(或景深短);而清晰范围较大的,我们一般称之为景深深(或景深长)。...
2019-11-05 15:49:31
447
原创 关于Linux中i2c驱动的一点感悟
i2c-dev.c就相当于一个i2c设备驱动,他为用户提供了一个通用的访问I2C外设的驱动,主体是i2c_driver成员+字符设备驱动cdev_driver。它为用户提供了操作一个字节的read write,也可以通过I2C_RDWR ioctl实现一次操作多个字节。之前一直错误理解为他是I2C驱动架构的一部分,其实他就和外部存储器驱动例如at24c64.c,sensor驱动ov2640.c等同...
2019-10-25 17:50:51
294
原创 GNU C和ASCI C差异
公司固件程序的编译器为GUN C ,所以我们需要弄清GUN C和ASIC C的区别。Linux上用的C编译器为GNU C,它对标准ASCIC进行了一系列扩展,以增强C语言的功能。1 零长度和变量长度数组GNU C允许使用零长度数组,在定义变长对象的头结构时,这个特性非常有用。stuct var_data {int len;char data[0];};char data[0]仅仅意味...
2019-09-12 11:03:02
475
转载 vim将tab改为4个空格
缩进用 tab 制表符还是空格,这不是个问题,就像 Python 用四个空格来缩进一样,这是要看个人喜好的。在 Vim 中可以很方便的根据不同的文件类型来设置使用 tab 制表符或者空格,还可以设置长度,非常灵活。vim默认tab为8个空格首先来看如何设定 tab 的宽度以及如何确定用 tab 制表符还是空格来表示一个缩进:set tabstop=4set softtabstop=4set...
2019-05-06 11:13:24
270
转载 Android系统和linux内核的关系详解
大家都知道Android是基于Linux内核的操作系统,也曾经和Linux基金会因为内核问题产生过分歧( 可以参考本文后面的“参考阅读”)。这里主要对android和linux的关系进行分析,参考http://www.itbenet.net/Article/HTML/1344.html。但对其中的部分观点不敢苟同,做了一些修改如下。虽然Android基于Linux内核,但是它与Linux之...
2019-04-01 14:52:07
1866
翻译 SPI的时钟配置心得
配置主设备SPI接口时钟时一定要弄清楚从设备的时钟要求,由于主设备这边的时钟极性和相位都是从设备为基准的。硬件上主设备的SDO和从设备的SDI相连,主设备的SDI和从设备的SDO相连。主设备上SDO发送的数据从设备通过SDI接收,主设备SDI接收的数据从设备通过SDO发送。所以主设备的SPI时钟极性的配置(即SDO)和从设备的SDI接收数据的极性相反,和从设备SDO发送数据的极性相同。下面这段话...
2019-03-26 20:26:01
4775
原创 C语言知识点总结
1 C语言中枚举类型在其他地方的引用方法首先初始化enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun };枚举类型的引用enum week a = Mon, b = Wed, c = Sat;这样变量 a,b,c分别得到了枚举类型week这总Mon ,Wed和Sat的值。...
2019-02-02 16:30:06
712
原创 ARM官方手册官网
arm官方内核网站这里边有各个版本的内核架构的详细说明、使用说明和指令集说明内容。不需要在网上其他地方找,而且是免费的。
2019-01-14 11:47:00
15348
2
转载 C语言共用体
联合(union)变量的所有成员共享同片存储区/内存。因此联合变量每个时刻里只能保存它的某一个成员的值。union的主要特征有:union中可以定义多个成员,union的大小由最大的成员的大小决定;union成员共享同一块大小的内存,一次只能使用其中的一个成员;对union某一个成员赋值,会覆盖其他成员的值(但前提是成员所占字节数相同,当成员所占字节数不同时只会覆盖相应字节上的值,比如对c...
2018-12-03 09:46:29
200
原创 global shutter and rolling shutter的区别
Global shutter 是指全局快门rolling shutter是指卷帘快门
2018-10-08 20:50:02
1375
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人