- 博客(16)
- 资源 (12)
- 收藏
- 关注
转载 Linux usb设备驱动
原文地址:http://blog.youkuaiyun.com/chenjin_zhong/article/details/63293161.Linux usb设备驱动框架USB是通用串行总线的总称,Linux内核几乎支持所有的usb设备,包括键盘,鼠标,打印机,modem,扫描仪。Linux的usb驱动分为主机驱动与gadget驱动。前者是设备连接到计算机上,通过主机驱动扫描usb设备,控制
2015-05-19 20:28:26
3680
转载 SPI总线协议及SPI时序图详解
SPI总线协议及SPI时序图详解【转】SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。 SPI是一个环形总
2013-06-20 12:58:53
6849
原创 C语言编程程序的内存如何布局
C语言程序连接过程中的特性和常见错误C语言程序的运行方式 一:C语言程序的存储区域 由C语言代码(文本文件)形成可执行程序(二进制文件),需要经过编译-汇编-连接三个阶段。编译过程把C语言文本文件生成汇编程序,汇编过程把汇编程序形成二进制机器代码,连接过程则将各个源文件生成的二进制机器代码文件组合成一个文件。C语言编写的程序经过编译-连接后,将形成一个统一文件,
2013-05-11 23:48:37
521
转载 浅谈C语言的数据存储(二)
原文地址:http://www.embedu.org/Column/Column558.htm静态区是一个抽象笼统的概念,在实际的Linux/C的可执行程序中并没有静态区这个区域,具体来讲它主要由两个段组成:.data段和.bss段。其中.data段就是程序的数据段,在采用段式内存管理的架构中,数据段(data segment)通常是指用来存放程序中已初始化且不为0的全局变量或静态变量的一
2013-05-11 23:42:11
492
转载 浅谈C语言的数据存储(一)
原文地址:http://www.embedu.org/Column/Column540.htm程序由指令和数据组成,C语言程序亦是如此。开发者在编写程序的时候往往需要根据不同数据的特点以及程序需求来选择不同的数据存储方式,那么在C语言中数据的存储分为哪些方式呢?C程序大致来讲可以分为四个数据区:常量区,静态去,堆区,栈区。其中常量区存储了未被作为初始化使用的字符串常量和
2013-05-11 23:39:51
567
转载 存储器重映射
存储器重映射存储器映射是指把芯片中或芯片外的FLASH,RAM,外设,BOOTBLOCK等进行统一编址。即用地址来表示对象。这个地址绝大多数是由厂家规定好的,用户只能用而不能改。用户只能在挂外部RAM或FLASH的情况下可进行自定义。ARM7TDMI的存储器映射可以有0X00000000~0XFFFFFFFF的空间,即4G的映射空间,但所有器件加起来肯定是填不满的。一般来说,0X00000
2013-05-11 21:55:54
1488
原创 c文件与h文件及包含关系
其实要理解C文件与头文件有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程: 1.预处理阶段 2.词法与语法分析阶段 3.编译阶段,首先编译成纯汇编语句,再将之汇编成跟CPU相关的二进制码,生成各个目标文件 4.连接阶段,将各个目标文件中的各段代码进行绝对地址定位,生成跟特定平台相关的可执行文件,当然,最后还可以用objcopy生成纯二进制码,也就是去掉了文件格
2013-05-09 15:19:05
1462
转载 结构体位域
C99规定int、unsigned int和bool可以作为位域类型,但编译器几乎都对此作了扩展,允许其它类型类型的存在。使用位域的主要目的是压缩存储,其大致规则为:1)如果相邻位域字段的类型相同,且其位宽之和小于类型的sizeof大小,则后面的字段将紧邻前一个字段存储,直到不能容纳为止;2)如果相邻位域字段的类型相同,但其位宽之和大于类型的sizeof大小,则后面的字段将从新的存储单元开
2013-05-08 14:57:06
1417
转载 单片机的ROM与RAM
原文:http://blog.youkuaiyun.com/rseven7/article/details/7205871ROM:(Read Only Memory)程序存储器在单片机中用来存储程序数据及常量数据或变量数据,凡是c文件及h文件中所有代码、全局变量、局部变量、’const’限定符定义的常量数据、startup.asm文件中的代码(类似ARM中的bootloader或者X86中
2013-05-07 20:26:50
1070
转载 也说跳槽
转自:http://www.oschina.net/question/247503_81107跳槽的学问不在一个跳字,而在于长期的职业生涯规划。跳槽可以帮助职业生涯更上一层楼,而跳槽之所以能够成功,也是因为以往有了较好的职业生涯规划。什么决定了程序员的价格所谓的职业就是企业和员工之间的价值交换。企业付出薪水,福利来雇用员工,以期通过员工的劳动来实现企业的目标。员工付出劳
2013-05-02 18:38:31
733
原创 bootloader
bootloader的启动加载模式和下载模式启动加载模式:这种引导方式也称为“自主(autonomous)引导方式”,也即BootLoader从目标机的某个固态存储设备上将操作系统加载到RAM中并引导运 行,整个过程并没有用户的介入。这种引导方式是BootLoader的正常工作模式下普遍采用的一种引导方式。因此在嵌入式产品发布的时候,BootLoader一般以这种引导方式对内核代码
2013-04-11 20:49:54
697
原创 有关报文、分组、帧、比特流的问题
传输层——数据段(Segment)或报文 网络层——分组(数据包(Packet)) 数据链路层——数据帧(Frame) 物理层——比特(Bit) 四层,协议层传输的是数据报文,主要是协议格式。 三层,网络层传输的是数据包,包含数据报文,并且增加传输使用的IP地址等三层信息 二层,数据链路层传输的是数据帧,包含数据包,并且增加相应M
2013-04-02 14:34:35
6836
1
原创 ARM7存储器结构及外扩flash
一.存储器的字与半字1.从偶数地址开始的连续的两个字节构成一个半字。2.能被4整除的地址的连续4个字阶构成一个字ARM指令的长度刚好是一个字,Thumb指令的长度刚好是一个半字二.存储器的存储方式(半字对齐,字对齐)1.半字对齐:存放一个数据的地址如果能被二整除,则它是半字对齐。反之,则是非半字对齐。2.字对齐:存放一个数据的地址如果能被四整除,则它是字对齐。否则,它是非字
2013-03-29 13:50:58
1484
转载 ARM中的RO段、RW段和ZI段的区别
注:本文从http://mcuos.com/thread-2843-1-1.html 收集整理而来。1 前言 一直以来对于ARM体系中所描述的RO,RW和ZI数据存在似是而非的理解,这段时间对其仔细了解了一番,发现了一些规律,理解了一些以前书本上有的但是不理解的东西,我想应该有不少人也有和我同样的困惑,因此将我的一些关于RO,RW和ZI的理解写出来,希望能对大家有所帮助。
2013-03-29 13:47:55
440
转载 嵌入式系统基础
本文从http://www.rt-thread.org/phpBB3/viewtopic.php?f=2&t=143整理而来.嵌入式系统基础1、嵌入式系统的定义(1)定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。(2)嵌入式系统发展的4个阶段:无操作系统阶段、简单操作系统阶段、实时操作系统阶段、面
2013-03-29 13:42:12
576
原创 微机原理
1.处理器结构 哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度,如Microchip公司的PIC16芯片的程序指令是14位宽度,而数据是8位宽度。哈佛结构的微处理器通常具有较高
2013-03-28 21:15:48
1029
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人