嵌入式系统原理与设计知识点整理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章嵌入式处理器
1嵌入式系统的概念组成:
定义:以应用为主,以计算机技术为基础,软硬件可裁剪,满足系统对功能、性能、可靠性、体积和功耗有严格要求的计算机系统。
组成:硬件:处理器、存储器、I / O设备、传感器
软件:①系统软件,
②应用软件。
2.嵌入式处理器分类特点:
分类:①MPU(Micro Processor Unit)微处理器。一块芯片,没有集成外设接口。部主要由运算器,控制器,寄存器组成。
②MCU(Micro Controller Unit)微控制器(单片机)。一块芯片集成整个计算机系统。
③EDSP(Embled Digital Signal Processor)数字信号处理器。运算速度快,擅长于大量重复数据处理
④SOC(System On Chip)偏上系统。一块芯片,部集成了MPU和某一应用常用的功能模块
3.嵌入式处理器与通用计算机处理器的区别:
①嵌入式处理器种类繁多,功能多样
②嵌入式处理器能力相对较弱,功耗低
③嵌入式系统提供灵活的地址空间寻址能力
④嵌入式系统集成了外设接口
4.①哈佛体系结构:指令和数据分开存储————————(嵌入式存储结构)
特征:在同一机器周期指令和数据同时传输
②·诺依曼体系结构:指令和数据共用一个存储器——(通用式存数结构)
数据存储结构(多字节):
大端方式:低地址存高位;小端方式:高地址存高位
6.ARM指令集命名:V1~V8 (ARMV表示的是指令集)
7.ARM核命名:.
命名规则:ARM{x}{y}{z}{T}{D}{M}{I}{E}{J}{F}{S}{x}——系列(版本)
{y}——当数值为“2”时,表示MMU(存管理单元)
{z}——当数值为“0”时,表示缓存Cache
{T}——支持16位Thumb指令集
{D}——支持片上Debug(调试)
{M}——嵌硬件乘法器
{I}——嵌ICE(在线仿真器)——支持片上断点及调试点
{E}——支持DSP指令
{J}——支持Jazzle技术
{F}——支持硬件浮点
{S}——可综合版本
8. JTAG调试接口的概念及作用:
①概念:(Joint Test Action Group)联合测试行动小组→检测PCB和IC芯片标准。(P CB→印刷电路板IC→集成芯片)
②作用(1)硬件基本功能测试读写
(2)软件下载:将运行代码下载到目标机RAM中
(3)软件调试:设置断点和调试点
(4)FLASH烧写:将运行最终代码烧写到FLASH存储器中。
9.GPIO概念:(General Purpose I/O Ports)通用输入/输出接口,即处理器引脚。
10.S3C2410/S3C2440 GPIO引脚
S3C2410共有117个引脚,可分成A——H共8个组,(GPA,GPB,…GPH组)
S3C2440共有130个引脚,可分成A——J共9个组,(GPA,GPB,…,GPH,GPJ 组)
11.GPxCON寄存器,GPxDAT寄存器,GpxUP寄存器的功能,各位含义和用法
①GPxCON寄存器(控制寄存器)——设置引脚功能
→GPACON(A组有23根引脚,一位对应一个引脚,共32位,拿出0~22位,其余没用)
(若某一位是)0:(代表该位的引脚是一个)输出引脚
1:地址引脚
→GPBCON——GPH/JCON(用法一致,两位设置一个引脚)
00:输入引脚 01:输出引脚
10:特殊引脚 11:保留不用
GPBCON
②GPxDAT寄存器(数据寄存器)——设置引脚状态及读取引脚状态
若某一位对应的是输出引脚,写此寄存器相应位可令引脚输出高/低电平。
若某一位对应的是输入引脚,读取此寄存器可知相应引脚电平状态。GPBDAT
0:相应引脚使用部上拉电阻1:相 应引脚不适用部上拉电阻 12.GPIO 应用①例:使4个LED 小灯中的LED1发亮
GPBCON : 31
17 16 15 14 13 12 1
10 … 3 2 1 0
GPBDAT :
GPBUP : 不使用上拉电阻 程序:
#define GPBCON(*(Volatile unsigned long *)0x56000010) #define GPBDAT(*(Volatile unsigned long *)0x56000014) #define GPB5_OUT(1<<(5*2)) #define GPB6_OUT(1<<(6*2)) #define GPB7_OUT(1<<(7*2)) #define GPB8_OUT(1<<(8*2)) int main()
{ GPBCON=GPB5_OUT| GPB6_OUT| GPB7_OUT| GPB8_OUT; GPBDAT=~(1<<5); return 0;}
②使用按键控制LED
S3C2410
K1闭合,GPB11低电平K1断开,GPB11高电平
GPGDAT11位,当GPB11为0时,低电平;当GPG11为1时,高电平。 #define GPBCON(*(volatile unsigned long*)0x56000010) #define GPBDAT(*(volatile unsigned long*)0x56000014) #define GPGCON(*(volatile unsigned long*)0x56000050) #define GPGDAT(*(volatile unsigned long*)0x56000054) #define GPFCON(*(volatile unsigned long*)0x56000060) #define GPFDAT(*(volatile unsigned long*)0x56000064) #define GPB5_OUT 1<<(5*2) #define GPB6_OUT 1<<(6*2) #define GPB7_OUT 1<<(7*2) #define GPB8_OUT 1<<(8*2) #define GPG11_IN ~(3<<(11*2)) #define GPG3_IN ~(3<<(3*2)) #define GPF2_IN ~(3<<(2*2))
K4