嵌入式开发基础知识
一、基础知识
1、冯﹒诺依曼模型
计算机硬件由下图中的5部分构成
存储程序的思想:系统的运行过程就是按照一定的顺序不断执行存储器中的程序指令的过程。
2、存储器的分类
主存储器即内存,程序中待处理的数据和处理的结果都存储在内存中,内存的读写速度比较快,通常采用的是电驱动的工作方式,只有在加点时才能存储数据,电源关闭数据即丢失,不能长时间的保存数据,而且存储容量既要受到成本的限制,又要受到物理系统结构的限制。
外存储器是用来长期保存数据的大容量存储器。
寄存器是CPU内部的高速存储器,速度快,数目少。
3、程序的定义
广义上讲,为了实现一个特定的目标而预先设计的一组可操作的工作步骤,称之为一个程序,程序就是系统可以识别的一组有序的指令。存储在磁盘上,被加载到内存中执行。
4、程序设计语言的发展
机器语言、汇编语言、高级语言
5、程序设计步骤
二、数据的表示
送入计算机的数字,字母,符号等信息必须转换成0、 1组合的数据形式才能被计算机识别。
能够进行算术运算得到明确数值概念的信息成为计算机数值数据,其余的信息成为非数值数据。
1、数值数据的表示
数值数据包括十进制、二进制、十六进制和八进制。
a、基数与各数位的权
基数是指该进位制中允许选用的基本数码的个数,如十进制数,基数为10, 可选用0、1、2……9共10个不同数码中的任何一个;而位权的大小是以基数为底,数字所在位置的序号为指数的整数次幂。
b、二进制
基数为2的进位制叫二进制,二进制只有0、1两种数码,计数逢2进位。
c、十六进制
基数为16的进位制叫十六进制,十六进制有0、1、2…9、a、b、c、d、e、f 共16种数码,计数逢16进位。
2、非数值数据的表示
非数值数据包括文字、符号、图像、语言和逻辑信息等,也都是以0、1形式存在;字符数据在机器内也被变换成二进制编码的形式,国际上普遍采用的一种编码是美国国家信息交换标准代码,简称为ASCII码。
三、程序的编译和调试
1、GCC编译器
gcc(GNU Compiler)是GNU推出的多平台编译器,可将C、C++源程序编译连接成可执行文件,支持以下后缀:
.c 语言源代码
.h 序所包含的头文件
.i 经预处理过的C源代码文件
.s 编语言源代码文件
.o 译后的目标文件
2、程序的定义
一个程序应当包含两部分内容:
对数据的描述,在程序中要指定数据的类型和数据的组织形式,即数据结构。
对操作的描述,即操作步骤,也就是算法;做任何事情都有一定的步骤,步骤要按照一定的顺序进行,缺一不可,次序也不能错;广义的说,为解决一个问题而采取的方法和步骤就称为算法。