现在位置: 首页 > 技术文章 > 基础知识 > 文章
2016年09月23日 基础知识 ⁄ 共 1618字 评论 1 条 ⁄ 阅读 682 次
LVDS是一种低摆幅的差分信号技术,它使得信号能在差分PCB 线对或平衡电缆上以 几百Mbps的速率传输,其低压幅和低电流驱动输出实现了低噪声和低功耗。 IEEE 在两个标准中对LVDS 信号进行了定义。ANSI/TIA/E IA -644 中,推荐最大速率为 655Mbps ,理论极限速率为1.923Gbps 一、LVDS组成 lvds LVDS 信号传输一般由三部分组成:差分信号发送器,差分信号互联器,差分信号接收器。 差分信号发送器:将非平衡传输的TTL 信号转换成平...
阅读全文
2016年08月25日 基础知识 ⁄ 共 3326字 暂无评论 ⁄ 阅读 524 次
处理器基本上会按照程序中书写的机器指令的顺序执行。按照书写顺序执行称为按序执行(In-Order )。按照书写顺序执行时,如果从内存读取数据的加载指令、除法运算指令等延迟(等待结果的时间)较长的指令后面紧跟着使用该指令结果的指令,就会陷入长时间的等待。尽管这种情况无可奈何,但有时,再下一条指令并不依赖于前面那条延迟较长的指令,只要有了操作数就能执行。 此时可以打乱机器指令的顺序,就算指令位于后边,只要可...
阅读全文
2016年03月01日 基础知识 ⁄ 共 1782字 暂无评论 ⁄ 阅读 797 次
柔性数组 在日常的编程中,有时候需要在结构体中存放一个长度动态的字符串,一般的做法,是在结构体中定义一个指针成员,这个指针成员指向该字符串所在的动态内存空间,例如: typedef struct test { int a; double b; char *p; }; p指向字符串。这种方法造成字符串与结构体是分离的,不利于操作。如果把字符串跟结构体直接连在一起,不是更好吗?于是,可以把代码修改为这样: char a[] = "hello world&...
阅读全文
2016年02月25日 基础知识 ⁄ 共 1730字 暂无评论 ⁄ 阅读 603 次
采用TCP连接的C/S模式软件,连接的双方在连接空闲状态时,如果任意一方意外崩溃、当机、网线断开或路由器故障,另一方无法得知TCP连接已经失效,除非继续在此连接上发送数据导致错误返回。很多时候,这不是我们需要的。我们希望服务器端和客户端都能及时有效地检测到连接失效,然后优雅地完成一些清理工作并把错误报告给用户。 如何及时有效地检测到一方的非正常断开,一直有两种技术可以运用。一种是由TCP协议层实现的Keepaliv...
阅读全文
命名规则 交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi] arch - 体系架构,如ARM,MIPS vendor - 工具链提供商 os - 目标操作系统 eabi - 嵌入式应用二进制接口(Embedded Application Binary Interface) 根据对操作系统的支持与否,ARM GCC可分为支持和不支持操作系统,如 arm-none-eabi:这个是没有操作系统的,自然不可能支持那些跟操作系统关系密切的函数,比如fork(2)。他使用的是newlib这个专用于...
阅读全文
2015年12月28日 基础知识 ⁄ 共 611字 暂无评论 ⁄ 阅读 331 次
#include<iostream> using namespace std; int main() { char *p; if((p=(char *)malloc(0))==NULL) puts("got a null pointer"); else puts("got a valid pointer"); } 答案:got a valid pointer 首先: 在标准的malloc实现中,并不检查输入值的大小,而是将输入值做对齐操作后直接从堆上分配空间。 其次: 不论输入值的大小为多少,在malloc的内部最小的内...
阅读全文
2015年12月15日 基础知识 ⁄ 共 3364字 暂无评论 ⁄ 阅读 295 次
今天在吹牛逼群里看到有人发了这么一个问题,并发出了好几种解决放法,遂写文章记录下来。 这是一道面试题可以用以下的一些方案。 第一种是很容易想到的采用循环的方式并且与1进行位与运算,具体代码如下。 unsigned int GetBitNumOfOne_ByLoop1(unsigned int nValue) { const unsigned int nNumOfBitInByte = 8; unsigned int nBitMask = 1; unsigned int nBitNum = 0; for(unsigned int i = 0 ; i < sizeof(nValu...
阅读全文
2015年12月08日 基础知识 ⁄ 共 2773字 暂无评论 ⁄ 阅读 233 次
一、简介 Container_of在Linux内核中是一个常用的宏,用于从包含在某个结构中的指针获得结构本身的指针,通俗地讲就是通过结构体变量中某个成员的首地址进而获得整个结构体变量的首地址。 二、接口 container_of(ptr, type, member) ptr:表示结构体中member的地址 type:表示结构体类型 member:表示结构体中的成员 通过ptr的地址可以返回结构体的首地址 三、实现 /** * container_of - cast a member of a s...
阅读全文
2015年12月01日 基础知识 ⁄ 共 12316字 暂无评论 ⁄ 阅读 332 次
1.中断处理的体系结构 我们知道编写设备驱动程序一定要用到中断处理函数,这在驱动程序的编写中,占据很重要的一部分。在响应一个特定的中断的时候,内核会执行一个函数,该函数叫做中断处理程序(interrupt handler)或中断服务例程(interrupt service routine ,ISP).产生中断的每个设备都有一个相应的中断处理程序,中断处理程序通常不和特定的设备关联,而是和特定的中断关联的,也就是说,如果一个设备可以产生多种不同的...
阅读全文

×