第一章 嵌入式系统概述1.嵌入式系统是一种“完全嵌入受控器件内部,为特定应用而设计的专用计算机系统” ,执行带有特定要求、预先定义的任务2.特点:功能的单一性、系统的紧凑性、运用的实时性3.嵌入式系统与通用计算机的区别特征 嵌入式系统 通用计算机形式和类型 看不见的计算机形式多样,应用广泛,按应用来分看得见的计算机按体系结构、运算速度和结构规模等因素分为大、中、小型机和微机组成 面向应用的嵌入式微处理器,总线和外部接口集成在处理器内部软件与硬件紧密集成在一起通用处理器、标准总线和外设软件和硬件相对独立软硬件平台 构成精简, 低功耗,体积小,低成本高性能,通用开发方式 交叉开发,开发平台一般为通用计算机,运行平台为嵌入式系统开发平台和运行平台都是通用计算机二次开发性 一般不能再编程 应用程序可重新编制4. 发展阶段第一阶段:单片机(Single Chip Microcomputer,SCM)系统特点:以 4 位和低档 8 位微处理器为核心,将 CPU 和外围电路集成到一个芯片,配置外部并行总线、串行通讯接口、SFR 模块和布尔指令系统,无操作系统支持缺点:系统结构和功能相对单一,处理效率较低,存储容量较小,几乎没有用户接口 第二阶段:微控制器(Micro Controller Unit,MCU)系统 特点:以高档的 8 位/16 位微处理器为核心,集成较多外部接口,如 A/D 转换、PWM、PCA、Watchdog 、高速 I/O 口等,配置了芯片间的串行总线,软件结构比较复杂缺点:应用软件较为专业化,用户界面不友好第三阶段:微处理器(MicroProcessorUnit,MPU)系统由通用计算机中的 CPU 演变而来,具有 32 位以上的处理器。
实际中,只保留和嵌入式应用紧密相关的功能硬件,去除冗余,以最低的功耗和资源实现嵌入式应用的特殊要求目前主要的嵌入式处理器类型有 Am186/88、386EX、SC-400、 68000、 PowerPC、 MIPS、ARM/StrongARM 系列等,其中 Arm/StrongArm 是专为手持设备开发的嵌入式微处理器从系统结构来讲基于 MCU 和 MPU 的电路结构区别不大,关键是区别是 MCU和 MPU 处理器的性能差别很大第四阶段:片上系统(System on Chip,SOC)32 位/64 位系统,应用于小型的电子设备中,一般含一个很小的操作系统内置到芯片上,是一种面向应用的集成电路设计可根据不同的客户的要求定制的芯片,将系统的关键的部件集成到一个芯片上,以适应于大批量工业生产和应用5.应用:军用、工业控制、网络应用、其他6.构成:嵌入式计算机系统和执行装置Comment [F1]: 中间层又称硬件抽象层或板级支持包(BSP) 分离上层软件与底层硬件包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置完成两部分工作:嵌入式系统硬件初始化和硬件相关的设备驱动程序 嵌入式系统硬件初始化:片级初始化(嵌入式处理器的初始化) 、板级初始化(嵌入式处理器以外的其他硬件设备的初始化)和系统级初始化(操作系统的初始化) 硬件相关的设备驱动程序:在系统初始化过程中由 BSP将设备驱动与操作系统中通用的设备驱动程序关联起来,并在随后的应用中由通用的设备驱动程序调用,实现对硬件设备的操作Comment [F2]: 由实时多任务操作系统(RTOS ) 、文件系统、图形用户接口(GUI) 、网络系统及通用组件模块组成,其中RTOS是应用软件的基础和开发平台Comment [F3]: 由基于实时操作系统开发的应用程序组成,作用是实现对被控制对象的控制功能。
面向被控制对象和用户,为方便用户操作,需要提供友好的人机界面Comment [F4]: 常用的通用设备接口有 A/D(模/数转换接口) 、D/A 接口(数 /模转换接口)I/O接口有 RS-232接口(低速串口协议) 、Ethernet(以太网接口) 、USB(通用串行总线接口) 、CAN接口(现场总线) 、RS485、音频接口、VGA视频输出接口、I2C 串行接口、SPI(串行外围设备接口)和 IrDA(红外线接口)等Comment [F5]: 存储器存储器包含 Cache、主存和辅助存储器,还有容量不大的片内 RAM和片内ROM,高档微处理器基本上都包含 CacheCache是一种容量小、速度快的存储器阵列,位于主存和嵌入式处理器内核之间,存放最近使用最多的程序代码和数据,提高微处理器和主存之间的数据传输速率主存是嵌入式微处理器能直接访问的寄存器,用来存放系统和用户的程序及数据,ROM 和 RAM常用作主存辅助存储器(外存)用来存放大数据量的程序代码和信息,容量大,读取速度慢主存辅助存储器C a c h eR A MR O M嵌入式处理器Comment [F6]: 嵌入式微处理器 将通用 CPU中许多由板卡完成的任务集成到芯片内部 体系结构可以采用冯诺依曼体系结构或哈佛体系结构 指令系统可以选用精简指令系统(RISC)和复杂指令系统(CISC) 。
CISC计算机具有大量的指令和寻址方式,但只用到少量指令;RISC 计算机只包含最有用的指令,确保每一条指令快速完成,以提高执行效率嵌入式计算机系统是核心,包含硬件层、中间层、系统软件层和应用软件层执行装置又称被控制对象,接受嵌入式计算机系统发出的控制命令,执行预定的操作或任务硬件层结构:嵌入式核心控制模块和外围设备接口嵌入式核心控制模块包含嵌入式微处理器,存储器,电源电路,时钟电路和复位电路外围设备接口包含通用设备接口和 I/O接口,如 LCD,CAN,触摸屏等嵌入式系统开发流程应 用 软 件 层系 统 软 件 层中 间 ( 驱 动 ) 层硬 件 层 执 行 机 构传 感 机 构执 行 装 置嵌 入 式 计 算 机 系 统存 储 器电 源 电 路时 钟 电 路复 位 电 路嵌 入 式微 处 理 器核 心 控 制 模 块LCD电 路A/、 /CN…第 2 章 Linux 基础知识1.Unix 已经发展成为一个支持多任务、多线程、虚拟内存、换页、动态链接和TCP/IP 网络的现代操作系统2.Linux 克隆了 Unix,但 Linux 不是 Unix3.Linux 内核与 Unix 各种变体的内核的分析比较如下Linux 支持动态加载内核模块;Linux 支持对称多处理(SMP)机制;Linux 内核可以抢占(preemptive ) ;Linux 对线程支持的实现比较有意思;Linux 体现了自由这个词的精髓。
4.Linux 系统的特点开放性、多用户多任务、出色的速度性能、良好的用户界面、提供了丰富的网络功能、可靠的系统安全、良好的可移植性、具有标准兼容性5.Linux 一般由 4 个部分组成:内核、shell、文件系统和应用程序6. Linux 的内核版本开 始映 像 生 成交 叉 编 译 链 接编 写 代 码烧 写 到 目 标 机运 行调 试 、 优 化结 束 使 用 汇 编 , C/+编 写 源 代 码使 用 编 译 器 、 链 接 器 生 成 目 标 代 码使 用 打 包 工 具 生 成 可 执 行 的 二 进 制 映 像使 用 烧 写 器 把 映 像 烧 写 到 目 标 设 备执 行 并 查 看 结 果调 试 程 序 , 优 化 性 能编 码 阶 段构 建 阶 段部 署 阶 段调 优 阶 段内核版本号由 3 个数字组成:r.x.yr:目前发布的 Kernel 主版本x:偶数:稳定版本;奇数:开发中版本y:错误修补的次数7. 常用命令简介 [root@tty/]#其中第一个 root 表示登录用户, tty 表示网络中主机名,/表示当前目录(当登录用户,登录主机名以及进入目录不同时,相应的项也会改变) ,#表示登录用户是超级用户 root,如果是一般用户则为$。
关机与重新启动关机可以使用命令:#init 0;重新启动系统可以使用命令#init 6命令 init 用于立即关机或重启,但在多用户系统中,若想给用户发送关机警告信息以便各个用户完成自己的工作并注销登录,则必须使用 shutdown 命令常用文件目录操作命令1)ls:显示文件和目录列表ls 命令应该是 Unix 用户和 Linux 用户非常熟悉的命令,该命令的基本功能是浏览文件它的后面可以附加一定格式的参数,从而来显示关于文件的不同信息ls –a 在 Linux 系统中,以.开头的文件被系统视为隐藏文件,仅用 ls 命令是无法看到的如果想要显示出隐藏文件,我们就要使用 ls -a 命令该命令除了显示一般文件名外,连隐藏文件也同时显示出来ls -l 以长格式显示结果有的时候我们希望察看更详细的文件或目录属性,这个时候我们就可以使用-l 参数每一行的信息可以分成 7 栏最左端第一栏中包含 10 个字符,比如“lrwxrwxrwx”这 10 个字符主要是显示 文档的类型以及不同用户对该文档的操作权限从左向右第一个字符表示文件是目录、连接文件或普通文档其中,d 表示目录文件,l 表示连接文件,-表示一般文件。
后面的 9 个字符可以被分成 3 组,每组 3 个字符,分别用于表示Owner、Group 、Other 用户对该文件的操作权限;其中,r:可读,w:可写,x:可执行,有时执行部分不是 x 而是 s,表示这个程序的执行者临时拥有和拥有者一样的权利来执行该文件第一栏后面的第二个栏是一个数字,用于表示文件数目,如果是目录,则是该目录下文件数目第三栏用于表示文件或目录的拥有者,若使用者目前处于自己的 Home,那这栏则是他的账号名称第四栏表示所属的组第五栏表示文件大小,一般是以字节为单位第六栏表示文件的创建时间,第七栏则给出了文件名2)cp:复制文件或目录用法:cp [options] source dest 或 cp [options] source directory选项:-a 表示尽可能将档案状态、权限等资料都按照原样予以复制 -r 若 source 中含有目录名,则目录下档案也按序复制到目标目录中f 若目的目录中已经包含与被复制文件或者目录相同名字的文件或者目录,则复制前先将原来的文件或者目录删除,然后把新的文件或者目录写入到该目录下3)mv 移动文件或目录,文件或目录改名。
用法:mv [options] source target,选项: -b 在把文件名或子目录名改为其他文件或子目录已经使用过的名字时,将会对所有原有文件和子目录备份i mv 命令设有回显,使用该参数可以和用户交互4)cat:显示文本文件内容用法:cat [options] filename选项: -n 由 1 开始对所有输出的行数编号b 和-n 相似,只不过对于空白行不编号5)more,less:分页显示文本文件内容6)head ,tail :显示文本文件的前若干行或后若干行7)wc :统计指定文本文件的行数、字数、字符数8)find :在文件系统中查找指定文件9)grep:从指定的一个或多个文本文件中逐行查找指定的字符串10)pwd:显示当前工作目录11)mkdir:创建目录12)rmdir:删除空目录选项:-p 删除某个子目录的全部继承结构13)rm :删除文件用法:rm [option] 文件名参数:-i 删除文件时会询问用户是否删除f 强行删除某个文件除时会报错,-f,-r 参数一起使用时可以删除该同名目录以及其下的子目录常用信息显示命令1)stat:显示指定文件的相关信息。
2)who:显示登录用户3)whoami:显示用户自己的身份4)hostname:显示主机名称5)uname:显示操作系统信息6)ifconfig:显示网络接口信息7)ping:测试网。