自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 资源 (3)
  • 收藏
  • 关注

原创 逻辑运算符

& |:逻辑运算符&& ||:逻辑短路运算符a && b和 a & b的区别是:当a为false时,&&不会计算b的结果,&会计算b的结果开发中优先使用短路逻辑运算符其中& | 既可以做逻辑运算符,也可以做位运算符,在实际的表达式中具体是哪个,要看对应的操作数类型1、如果两边都是数值,那就是位运算符2、如果两边都是boolean类型,那就是逻辑运算符//位移运算符,每左移一位,相当于乘以2;每右移一位,相.

2022-03-11 13:59:05 373

原创 Java类型转换

一、自动类型提升 byte、char、short --> int --> long --> float --> double byte、char、short三个类型任意组合运算结果类型为int类型 float b1 = 3.14f; //整型常量默认为int,当整型常量超过int表示的范围后,就会报错,需要加上后缀L/l long a1 = 23423112345235234L; byte a2 = 54; //浮点型常量默认为double,因为float要

2022-03-11 13:09:04 410

原创 编码技巧

一、错误处理技术返回中立值比如,数值返回0,空指针返回NULL等换用下一个正确数据如果每秒100次读取体温计数据,那么某一次数据有误,只需再等上1/100秒即可返回与前次相同的数据温度在1/100秒内一般不会发生变化,可以简单返回上一次的数据换用最近的合法值温度计已经校准在0-100°C,如果某一次检测到小于0的结果,那么可以把它替换为0,即最接近的那个合法值;如果...

2020-02-15 16:56:30 363 1

原创 ​人生格局

听过这样一句话:你对待他人的态度,决定了你的人生高度。人生很复杂,其实也简单,说到底无非两件事:怎么看待别人和怎么对待自己。怎么对待别人,既有看人的角度问题,又有做人的层次问题。层次高的人,因为能正确对待别人,所以看谁都顺眼,满眼都是春风,满心都是欢喜。层次低的人,习惯以是否对自己有利来评价别人,不符合自己“标准”的,怎么看都不顺眼,生活中多的是怨气和冷漠。一个人格局是否足够大,以下是其...

2020-01-19 12:58:22 766

原创 函数返回值与参数传递

1.函数返回值基本理解函数返回的不管是指针还是数值,通常,函数将返回值复制到指定的CPU寄存器或内存单元中来将其返回。随后,调用程序将查看内存单元。返回函数与调用函数必须就该内存单元中存储的数据的类型达成一致。函数原型将返回值类型告知调用函数,而函数定义告知被调用函数应返回什么类型的数据。在原型中提供与定义中相同的信息似乎有些多余,但这样做确实有道理。要让信差从办公室的办公桌上取走一些物品,则向...

2019-12-19 08:22:25 617

原创 string类变量

一、string类简介1.将字符串作为一种数据类型,即string类型,而c中是没有字符串类型的2.string类定义移仓了字符串的数组性质,可以像处理普通变量那样处理字符串二、string类型使用方法1.可以像c风格字符串来初始化string对象string str1 = “Hello”;2.可以使用cin来将键盘输入存储到string对象中cin >> str1;3...

2019-12-14 23:12:43 3642

原创 ctype函数库

1.isalnum()如果参数是字母数字,即字母或数字,该函数返回true2.isalpha()如果参数是字母,该函数返回true3.iscntrl()如果参数是控制字符,该函数返回true4.isdigit()如果参数是数字(0-9),该函数返回true5.isgraph()如果参数是除空格之外的打印字符,该函数返回true6.islower()如果参数是小写字母,该函数t...

2019-12-07 13:48:47 802

原创 C++输入输出

一、cin概述cin是C++中的一个对象,输入流对象用户在命令行输入的内容最终会发送到cin输入流中cin会忽略掉输入中所有的space,enter,tab按键发送给cin的输入被缓冲,只有当用户按下enter键,输入的内容才会发送给程序cin >> ch,ch只从cin中取第一个字符二、文件结尾1.文件结尾用EOF表示,在键盘中用Enter或者Ctrl+Z与Ente...

2019-12-06 23:37:11 476

原创 C++顺序点和副作用

一、概述1.副作用(side effect)在计算表达式时对某些东西(存储在变量中的值)进行了修改2.顺序点(sequence point)程序执行过程中的一个时间点3.顺序点类型分号(;),逗号(,);冒号(:);或运算符(||)4.顺序点的作用在这个点之后,将确保前面的副作用都已生效。这意味着程序处理下一条语句之前,赋值运算符、递增运算符和递减运算符执行的所有修改都必须完成。另...

2019-12-06 13:41:09 652

转载 android的m、mm、mmm编译命令的使用

 android源码目录下的build/envsetup.sh文件,描述编译的命令- m:       Makes ...

2019-09-18 00:00:57 835

原创 进程的简单理解

1.Linux中,进程的产生是由用户空间程序进行系统调用fork()产生的,此函数会返回两次,一次回到父进程,一次回到新产生的进程。2.程序本身并不是进程,进程是处于执行期的程序以及相关的资源的总称。3.内核把进程的列表存放在叫做任务队列(task list)的双向循环链表中。链表中的每一项都是类型为task_struct,称为进程描述符的结构,进程描述符包含一个具体进程的所有信息:打开的文件...

2019-09-15 15:27:18 324

原创 内联函数与宏函数

一、函数与宏#define TABLE_COMP(x) ((x)>0?(x):0)就定义了一个宏。为什么要使用宏呢?因为函数的调用必须要将程序执行的顺序转移到函数所存放在内存中的某个地址,将函数的程序内容执行完后,再返回到转去执行该函数前的地方。这种转移操作要求在转去执行前要保存现场并记忆执行的地址,转回后要恢复现场,并按原来保存地址继续执行。因此,函数调用要有一定的时间和空间方面的开...

2019-09-15 14:00:15 226

转载 linux-----页、页表、页框(块)

基本介绍 我们知道,在linux操作系统中,CPU在执行一个进程的时候,都会访问内存。 但CPU...

2019-09-14 13:46:36 436

原创 I/O内存

一、I/O寄存器和常规内存尽管硬件寄存器和内存才能非常相似,但程序员在访问I/O寄存器的时候必须注意避免由于CPU或编译器不恰当的优化而改变预期的I/O动作。I/O寄存器与RAM的最主要的区别就是IO操作具有边际效应,而内存没有:内存写操作的唯一结果就是在指定位置存储一个数值;内存读操作则仅仅返回指定位置最后一次写入的数值。由于内存访问速度对CPU的性能至关重要,而且也没有边际效应,所以可用多...

2019-09-14 12:01:50 350

转载 Linux内存管理之kmalloc 与 __get_free_page()

在设备驱动程序中动态开辟内存,不是用malloc,而是kmalloc,或者用get_free_pages直接申请页。释放内存用的是kfree,或free_pages.  对于提供了MMU(存储管理器,辅...

2019-09-13 15:30:04 874 1

转载 linux驱动 之 module_init解析 (上)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

2019-09-10 01:14:29 538

转载 C语言宏定义中 ## 和#的作用

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

2019-09-08 14:21:11 1573 1

转载 详解SPI中的极性CPOL和相位CPHA

详解SPI中的极性CPOL和相位CPHA           SPI由于接口相对简单(只需...

2019-08-15 15:13:49 354

原创 内存分配

一、概述

2019-07-23 17:08:18 219

原创 内核定时器及延迟操作

一、内核计数器1.HZ内核通过定时器中断来跟踪时间流,时钟中断由系统定时硬件以周期性的间隔产生,这个时间间隔由内核根据HZ的值设定。如果希望改变系统时钟中断发生的频率,可以修改HZ值,一般保持默认。所以HZ就是指一秒钟内产生多少次时钟中断(单位为次/ 秒),而产生一次时钟中断需要的时间(也即周期性的间隔)T = 1 / HZ,单位为秒(S)。2.jiffies而每次当时钟中断发生时,...

2019-07-21 16:21:56 863

原创 poll和select

一、概述

2019-07-09 08:43:33 1769

原创 阻塞型与非阻塞型I/O,异步通知

一、ioctl1.ioctl系统调用可以实现用户空间的各种需求,比如报告错误信息,改变波特率,执行自破坏等2.用户空间的ioctl(int fd, unsigned long cmd, …)后面的三个点表示的是可变参数目的参数表。这些点并不是数目不定的一串参数,而只是一个可选参数。另外这些点只是为了在编译时防止编译器进行类型检查。第三个参数的具体形式依赖于要完成的控制命令,也就是第二个参数。某...

2019-07-06 11:55:58 1022

原创 linux内核的并发与竞态的理解

一、概念理解1.概述对于我们的驱动程序,或一个代码片段,是可以被两个独立的进程同时执行。驱动程序,或者代码片段对cpu来说就是机器指令,显然指令是可以同时发出的。但是共享资源却不能同时使用,不然就没法统计了。2.竞态多个进程同时执行某一代码段,或者调用同一个驱动程序;而这一代码段涉及到对内存的分配,或者驱动程序对硬件进行访问;由于内存或者硬件资源对系统来说都是共享的,那么就容易出问题。比如...

2019-07-04 23:07:59 466

转载 uboot源码——mmc驱动分析

一、uboot与linux驱动1、uboot是裸机程序狭义的驱动的概念:操作系统中用来具体操控硬件的那部分代码叫驱动。裸机中没有驱动的概念,因为没有操作系统。裸机程序是直接操控硬件的,而操作系统中则是通过驱动来操控硬件。两者的本质区别是分层。2、uboot的虚拟地址对硬件操作的影响(1)操作系统下,MMU是开启的,即linux驱动使用的都是虚拟地址。纯裸机程序不会开启MMU,全部使用物理地址...

2019-07-04 21:55:22 831

原创 imx6 Android bsp下载过程中遇到的问题总结

执行repo init -u https://android.googlesource.com/platform/manifest -b android-6.0.1_r22时报如下错误:fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundlefatal: error [Errno 101] Network...

2019-07-04 14:32:33 1273

转载 linux驱动面试题2018(面试题整理,含答案)

linux驱动面试题2018(面试题整理,含答案)版权声明:本文为博主原创文章,未经博主允许不得转载。 转载请标明原址:https://blog.csdn.net/kai_zone/article/details/82021233      前言: 这篇文章主要是对linux驱动面试题一个整理跟总结,参考了很多网上的资料,基本涵盖linux驱动相关面试...

2019-06-14 22:57:41 1986 1

转载 移植Python2.7到ARM-LINUX嵌入式平台

xz -d Python-2.7.3.tar.xztar xvf Python-2.7.3.tar编译HOST版解释器编译Python的嵌入式版需要解释器解析setup.py从而编译Python的模块,因此需要先编译出HOST的解释器。./configuremake python Parser/pgenmv python hostpythonmv Parser/pgen Parse...

2019-06-12 09:18:47 514

转载 移植gdb 到 Arm平台

下载 gdb-8.0 http://ftp.gnu.org/gnu/gdb/ ncurses-6.1 http://ftp.gnu.org/gnu/ncurses/编译生成 ncurses-6.1 cd ncurses-6.1 ./configure –host=arm-poky-linux –prefix=/home/rank/HaiSi/gdb-depend –without...

2019-06-11 13:49:19 225

转载 FAT格式磁盘镜像制作方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/codehat/article/details/44104483 </div> <link rel="stylesheet" href="https://csdnimg.cn/release/...

2019-06-05 09:51:00 1906 1

转载 深入剖析串口通信数据格式

串口是串行接口(serial port)的简称,也称为串行通信接口或COM接口。串口通信是指采用串行通信协议(serial communication)在一条信号线上将数据一个比特一个比特地逐位进行传输的通信模式。 串口按电气标准及协议来划分,包括RS-232-C、RS-422、RS485等。在串行通信中,数据在1位宽的单条线路上进行传输,一个字节的数据要分为8次,由低位到高位按顺序一位一位的进...

2019-05-10 21:43:05 14445

转载 LCD常用接口原理

TFT-lCD常用的接口,TTL(RGB)、LVDS、EDP、MIPI,这篇我们大致说一下这些接口的信号组成已经基本原理。一、TTL1、TTL接口概述TTL(Transistor Transistor Logic)即晶体管-晶体管逻辑,TTL电平信号由TTL器件产生。TTL器件是数字集成电路的一大门类,它采用双极型工艺制造,具有高速度、低功耗和品种多等特点。TTL接口属于并行方式传输数据的...

2019-05-10 21:38:46 2808

转载 linux内核支持usb驱动,usb转串口设备,u盘

配置内核 make menuconfig。选中device驱动Device Drivers ---->USB support—>USB Serial Converter support---->(1)USB Generic Serial Driver. (2)USB FTDI...

2019-05-10 10:51:51 1408

转载 Linux 压缩、解压缩文件(invalid tar magic 报错)

今天在Linux-arm 设备解压*.tar 压缩文件不成功,一直报错提示invalid tar magic,但是在Ubuntu 上使用tar 压缩、解压缩相同文件并不报错,经查找,后来确定原因并找到解决方法。整个过程及现象、解决方法记录如下:最先是在Ubuntu上拷贝了几个脚本文件到U盘,把U盘插在示教器(内置BuzyBox工具),运行其中一个脚本提示找不到这个脚本文件,但是ls 明显看得见此...

2019-05-10 10:43:25 3858

转载 C语言里栈和堆的区别整理

这里说的是C语言程序内存分配中的堆和栈。下面先谈谈C语言的内存管理:可执行程序在存储时(没有调到内存)分为代码区(text)、数据区(data)和未初始化数据区(bss)3个部分。(1)代码区(text segment)。存放CPU执行的机器指令(machine instructions)。通常,代码区是可共享的(即另外的执行程序可以调用它),因为对于频繁被执行的程序,只需要在内存中有一份代...

2019-05-10 08:50:24 518

转载 C语言字符串指针(指向字符串的指针)

C语言中没有特定的字符串类型,我们通常是将字符串放在一个字符数组中,这在《C语言字符数组和字符串》中已经进行了详细讲解,这里不妨再来演示一下:#include <stdio.h>int main(){ char str[] = "http://c.biancheng.net"; ...

2019-05-10 08:47:16 3290 1

转载 技术干货:Linux Shell 编程基础,看这一篇就够了!

本文主要介绍 Linux Shell 编程的基础知识,包含下面 8 个方面:Shell 编程概述Shell 关键字Shell 变量Shell 运算Shell 语句Shell 函数Shell 调试Shell 易错点下面一一介绍。Shell 编程概述在 Linux 下有一门脚本语言叫做:Shell 脚本,这个脚本语言可以帮助我们简化很多工作,例如编写自定义命令等,所以还是很有...

2019-05-10 08:45:32 271

转载 ISP 图像传感器camera原理

ISP 图像传感器camera原理1、Color Filter Array — CFA随着数码相机、手机的普及,CCD/CMOS 图像传感器近年来得到广泛的关注和应用。 图像传感器一般都采用一定的模式来采集图像数据,常用的有 BGR 模式和 CFA 模式。BGR 模式是一种可直接进行显示...

2019-05-10 08:42:59 1496

转载 linux驱动由浅入深系列:camera驱动之一(背景及基础知识篇)

这篇文章了解一下与摄像头相关的概念知识,如光圈、快门速度、CCD,CMOS图像传感器、彩色滤波阵列、白平衡、自动对焦等。下一篇文章介绍应用层通过摄像头获取一张图片的实例程序,之后再逐层深入linux的v4l2架构下的驱动部分。曝光三要素在摄影名词中应该听说过曝光三要素:光圈大小、快门速度、感光度(ISO),今天我们也从这个开始了解吧。先通俗的说一下,光圈就是指曝光瞬间开孔多大;快门速度就是指快...

2019-05-10 08:40:40 1855

转载 AM335x+Linux移植SGX+OpenGL+Qt5

这里的主机是64位的ACER 5745DG,安装了桌面发行版Fedora20,桌面环境是GNOME。这里的目标板是CortexA8的AM335x,安装了之前编译好的U-Boot、Kernel和Filesystem,安装的过程见《U-Boot for AM335x》、《为AM335x移植Linux...

2019-05-10 08:39:06 1519 1

转载 MIPI D-PHY介绍

Escape mode:是于data lanes 的一个可选模式,在该模式下,低速率的命令和数据可以以非常低的功耗进行传输。 CIL: Control and Interface Logic LP-CD: Low-Power Contention Detector LPDT: Low-Power Data Transmission LPS: Low-Power State...

2019-05-09 10:27:23 6705 1

imx7芯片手册

imx7芯片手册,需要的可以下载看看,去官网下载比较麻烦

2018-10-17

Linux启动优化时间分析工具

超级好用,可以检测从uboot启动到文件系统,全面分析linux启动时间

2018-10-17

HDMI之HDCP文档

这篇问题描述HDMI中的HDCP工作原理,对于不想看specification的朋友,可以看看这篇文档

2013-11-01

空空如也

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

TA关注的人

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