【Embedded】
文章平均质量分 69
南丶烟
这个作者很懒,什么都没留下…
展开
-
TTL以及LVDS接口传输
液晶屏接口主要分为TTL信号接口以及LVDS信号接口TTL接口:属于并行方式传输数据的接口,采用这种接口时,不必在液晶显示器的驱动板端和液晶面板端使用专用的接口电路,而是由驱动板主控芯片输出的TTL数据信号经电缆线直接传送到液晶面板的输人接口。由于TTL接口信号电压高、连线多、传输电缆长,因此,电路的抗干扰能力比较差,而且容易产生电磁干扰(EMI)。LVDS接口:即Low Volt原创 2013-12-02 13:54:25 · 6135 阅读 · 0 评论 -
ARM 关键几个寄存器
arm 寄存器和对应的汇编描述符 图中缩写如下:R:Register;寄存器PC:Program Counter;程序计数器CPSR:Current Program Status Register;当前程序状态寄存器SPSR:Saved Program Status Register;保存的程序状态寄存器SP:Stack Pointer;数据栈指针LR:Link Register;连接转载 2015-06-18 14:48:40 · 11851 阅读 · 0 评论 -
repo—git入门使用
repo统一管理多个git仓库repo init -u URL 当前目录下安装仓库,生成.repo .repo/manifest.xml 指向TAGrepo sync 更新下载 ==> * (no branch) repo start master –all ( git branch - * (no branch) => master)repo branch 查看项目下所有存在分支git c原创 2015-06-29 18:50:13 · 1968 阅读 · 0 评论 -
Linux 下 signal 机制
【摘要】本文分析了Linux内核对于信号的实现机制和应用层的相关处理。首先介绍了软中断信号的本质及信号的两种不同分类方法尤其是不可靠信号的原理。接着分析了内核对于信号的处理流程包括信号的触发/注册/执行及注销等。最后介绍了应用层的相关处理,主要包括信号处理函数的安装、信号的发送、屏蔽阻塞等,最后给了几个简单的应用实例。 【关键字】软中断信号,signal,sigaction,kill,si转载 2015-06-30 19:46:06 · 1540 阅读 · 0 评论 -
32bit - 64bit machine attention
32bit-64bit porting work注意事项64位服务器逐步普及,各条产品线对64位升级的需求也不断加大。在本文中,主要讨论向64位平台移植现有32位代码时,应注意的一些细小问题。什么样的程序需要升级到64位?理论上说,64位的操作系统,对32位的程序具有良好的兼容性,即使全部换成64位平台,依然可以良好的运行32位的程序。因此,许多目前在32位平台上运行良好的程序也许不必转载 2015-07-22 16:18:53 · 1798 阅读 · 0 评论 -
处理器体系结构(了解CPU的基本运行原理)——《深入理解计算机系统》
处理器体系结构ISA一个处理器支持的指令和指令的字节级编码称为它的指令集体系结构ISA。虽然每个厂商制造的处理器性能和复杂性不断提高,但是不同型号在ISA级别上都保持着兼容。因此,ISA在编译器编写者和处理器设计人员之间提供了一个概念抽象层。这个概念抽象层即ISA模型:CPU允许的指令集编码,且顺序地执行指令,也就是先取出一条指令,等到她执行完毕,再开始下一条。然而,现代处转载 2015-09-06 10:16:48 · 4337 阅读 · 0 评论 -
自我修养——编译和链接
前段时间慢悠悠的在看 程序员的自我修改-链接.装载.库 ,写的蛮好的,推荐大家有空闲的话都去看看~ 断断续续看完了前两章,还是记录一下~好记性不如烂笔头撰写不易,转载需注明出处:http://blog.csdn.net/jscese/article/details/50036605本文来自 【jscese】的博客!做了什么我们习惯性的在linux下编译某个C程序 直接敲个命令:gcc hello原创 2015-11-27 11:22:00 · 2264 阅读 · 0 评论 -
自我修养——目标文件.o有什么
同自我修养——编译和链接 来源于 程序员的自我修改-链接.装载.库 一书 ,又看了一章~撰写不易,转载需注明出处:http://blog.csdn.net/jscese/article/details/50161675本文来自 【jscese】的博客!文件类型executable windows: PE(Portable executable) linux: EIF(Executable L原创 2015-12-03 17:05:37 · 3683 阅读 · 0 评论 -
Linux kernel-CPU 调频
1,performance :顾名思义只注重效率,将CPU频率固定工作在其支持的最高运行频率上,而不动态调节。2,powersave:将CPU频率设置为最低的所谓“省电”模式,CPU会固定工作在其支持的最低运行频率上。因此这两种governors 都属于静态governor,即在使用它们时CPU 的运行频率不会根据系统运行时负载的变化动态作出调整。这两种governors 对应的是两种极端的应原创 2016-03-03 11:20:05 · 3500 阅读 · 0 评论 -
文件夹对比-生成同级差异patch
最近一段时间研究kodi,需要做一些定制修改,由于kodi对g++ 版本的要求,只能在本地编译集成,没整成git去管理,所以打算以kodi官方release版code为基准 ,任何改动的文件作为patch,只把patch git管理起来,方便同步整合到其它版本打算以文件夹形式保存改动过的文件,也方便之后的Beyondcompare对比,找了一下没有什么好工具可以直接对比抽出patch,只有自己动手了原创 2016-03-15 16:43:58 · 3452 阅读 · 0 评论 -
ARM GPU 架构简介
1. 架构 2. 开发流程3. Mali GPU Linux 内核设备驱动程序 Mali GPU DDK 的 Linux 版本包含在内核中运行的以下三个组件: 1)设备驱动程序: 它是最重要的组件,提供对 Mali-200 或 Mali-400 GPU 的低级访问。其主要功能如下: •对 Mali GPU 硬件的访问转载 2016-04-29 11:37:12 · 11992 阅读 · 0 评论 -
Linux下的 fork 函数
之前只是了解到linux中的fork函数是用来创建进程,并没有太多的去学习,这里学习记录如下。撰写不易,转载需注明出处:http://blog.csdn.net/jscese/article/details/44401389 本文来自 【jscese】的博客!定义:来自百科的解释:fork函数将运行着的程序分成2个(几乎)完全一样的进程,每个进程都启动一个从代码的同一位置开始执行的线程。这两个进程原创 2015-03-18 11:48:22 · 2652 阅读 · 0 评论 -
Android—— 4.2 Vold挂载管理_Kernel_USB_Uevent (七)
在前文Android—— 4.2 Vold挂载管理_NetlinkManager (四)中有解析到Vold 是从kernel中获取uevent事件,来获取device信息,其中是通过一个Netlink的套接字,目前整个Vold机制也分析完了, 上篇 Android—— 4.2 Vold挂载管理_MountService (六) 分析了机制中最上层的,这里分析一下最下层的kernel uevent事件的发送,以USB设备为例!原创 2014-09-02 18:12:17 · 3678 阅读 · 0 评论 -
Kernel中Module调用编译问题
最近在kernel driver中写一个功能,遇到module之间调用的问题,以此记录一下。在kernel中两个不同的模块之间是不能通过简单的#include “XX.h”来相互调用函数的。如果这样在调用的地方不会出现语法错误,但是在最后生成模块文件XXX.ko时就会出现error:“xxxx” 【xxx.ko】undefined! 在生成 .ko文件(kernel object)这个时候原创 2013-12-03 17:17:44 · 3816 阅读 · 0 评论 -
Kernel 中的 GPIO 定义和控制
最近要深一步用到GPIO口控制,写个博客记录下Kernel层的GPIO学习过程! General Purpose Input Output (通用输入/输出)简称为GPIO,或 总线扩展器。也就是芯片的引脚,当微控制器或芯片组没有足够的I/O端口,或当系统需要采用远端串行通信或控制时,GPIO产品能够提供额外的控制和监视功能。通常在ARM里,所有I/O都是通用的,原创 2013-11-23 16:12:17 · 11640 阅读 · 1 评论 -
MakeFile 基本函数
Makefile 常用函数表一、字符串处理函数1.$(subst FROM,TO,TEXT)函数名称:字符串替换函数—subst。函数功能:把字串“TEXT”中的“FROM”字符替换为“TO”。返回值:替换后的新字符串。2.$(patsubst PATTERN,REPLACEMENT,TEXT)函数名称:模式替换函数—patsubst。函数功能:搜索“TEX转载 2014-04-28 19:26:21 · 1410 阅读 · 0 评论 -
Bootloader
Bootloader启动转载 2013-12-06 19:37:44 · 2597 阅读 · 1 评论 -
SPI_FLASH 操作
一.概念:SPI:serial peripheral interface串行接口设备,spi flash 就是通过串行的接口进行操作的flash存储设备flash按照内部存储结构不同,分为两种:nor flash和nand flash。这里spi flash 属于 nor flash!spi flash 读写较慢,次数有限制,一般用于不经常更改的存储。原创 2014-06-18 17:12:33 · 5831 阅读 · 0 评论 -
Kernel 编译配置机制
编译kernel前需要一个配置相关的编译选项,最终的配置文件就是kernel根目录路下的 .config 文件一:.config这个文件里面保存的是kernel的配置选项,格式如下:CONFIG_XX_XX=y/n/m/0xFFFFFF/32/”XXXXXXX”这个文件由/scripts/kconfig/mconf.c负责解析,然后解析该文件并将解析原创 2014-05-07 15:34:43 · 6543 阅读 · 2 评论 -
内存分配
内存的静态分配和动态分配的区别主要是两个:一是时间不同。静态分配发生在程序编译和连接的时候。动态分配则发生在程序调入和执行的时候。二是空间不同。堆都是动态分配的,没有静态分配的堆。栈有2种分配方式:静态分配和动态分配。静态分配是编译器完成的,比如局部变量的分配。动态分配由函数malloc进行分配。不过栈的动态分配和堆不同,他的动态分配是由编译器进行释放,无需我们手工实现。对转载 2014-05-21 10:10:40 · 1530 阅读 · 0 评论 -
Linux 的 Shell
一:Shell 概念shell 这个词都不陌生,意思是 “壳” 是介于OS 核心与用户之间的一层交互,在linux系统中,用户可以通过命令终端,使用shell 命令向下传达自己的意愿,驱使kernel 调动硬件实现自己的目的!原创 2014-07-17 16:07:44 · 1792 阅读 · 0 评论 -
Shell 中的 正则表达式
常接触shell脚本语言的,经常会看到一个shell命令接一堆乱七八糟的option,类似这样的 sed -e "s/^[^\-]*-//" ,虽然知道那肯定是一个逻辑条件组合,但是如果不是熟悉正则表达式的人,绝对看的眼花.这里学习记录一下正则表达式的一些基本用法.原创 2014-12-02 16:51:09 · 4250 阅读 · 0 评论 -
同步 与 异步
一.进程同步及异步的概念 1.进程同步: 就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事.就像早上起床后,先洗涮,然后才能吃饭,不能在洗涮没有完成时,就开始吃饭.按照这个定义,其实绝大多数函数都是同步调用(例如sin,isdigit等)。但是一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间转载 2014-12-11 10:04:59 · 1408 阅读 · 0 评论 -
linux 自旋锁和信号量
自旋锁最多只能被一个可执行线程持有(读写自旋锁除外)。自旋锁不会引起调用者睡眠,如果一个执行线程试图获得一个已经被持有的自旋锁,那么线程就会一直进行忙循环,一直等待下去(一直占用CPU),在那里看是否该自旋锁的保持者已经释放了锁,"自旋"一词就是因此而得名。由于自旋锁使用者一般保持锁时间非常短,因此选择自旋而不是睡眠是非常必要的,自旋锁的效率远高于互斥锁。信号量和读写信号量适合于保持时间较转载 2015-02-11 10:59:01 · 2106 阅读 · 0 评论 -
自我修养——静态链接
半年没更新博客了,一是工作内容变了,二是项目忙,其实就是懒 - - ||这是第100篇了,不知不觉,点点滴滴,虽不说都是高质量博文,但也算是个里程碑,毕竟都是一手敲出来的文章最近有点迷茫,脱离android大半年了,发张方向是个迷,程序员生涯接下来的路应该怎么走~ 得好好想想了空下来 把之前的补上,程序员的自我修养 这本书里面的第三部分撰写不易,转载需注明出处:http://blog.csdn.n原创 2017-10-23 16:57:35 · 793 阅读 · 0 评论