南京工业大学嵌入式系统考试知识点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
什么是嵌入式系统
ES(Embedded system)
嵌入到对象系统中的专用计算机系统
嵌入式系统设计的层次结构
硬件层
驱动层
操作系统层
应用层
MCU与CPU的区别
MCU
Micro Control Unit
单片机,微处理器
嵌入式系统的核心芯片
集成了CPU、存储器、定时器、接口等多项功能,主板小,功耗低
CPU
Central Processing Unit
中央处理器
计算机的核心芯片
集成度低,主板大,功耗高,但性能强
Cortex A系列,M系列,R系列
A系列:高性能
R系列:高可靠性、高实时性
M系列:高性价比、低功耗
M系列目前用量最多的是:
Cortex M3
什么是嵌入式操作系统?
EOS(Embedded Operating System)
用在嵌入式系统中的操作系统
STM32的GPIO的功能
模拟输入浮空输入(引脚内部为高阻状态。引脚的电压由外部电路控制。)
下拉输入上拉输入
开漏输出
推挽输出(两个场效应管)
复用开漏输出复用推挽输出
模拟输入和浮空输入的电压都完全由外电路决定
模拟输入采集模拟量
浮空输入采集数字量
开漏输出和复用开漏输出
开漏输出:GPIO口
复用开漏输出:非GPIO口的其它片上外设推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。输出既可以向负载灌电流,也可以从负载抽取电流。推拉式输出级既提高电路的负载能力,又提高开关速度。
Stm32引脚的驱动能力
约为8mA
发送信号至其他芯片
芯片对输入信号的定义(通常):
> 2.4V左右:“1”
< 0.8V左右:“0”
推挽输出的作用
直接控制外部设备发送信号至其他芯片开漏输出的作用
直接控制外部设备发送信号至其他芯片直接控制外部设备的硬件电路
发送信号至其他芯片的硬件电路
外部晶振电路
供电电路
LCD 接口电路
SW 下载电路
SRAM (64K )
0x2000 0000 ~ 0x2000 FFFF FLASH ROM(256K)
0x0800 0000 ~ 0x0803 FFFF SFR (散布)
0x4000 0000 ~ 0x5003 FFFF
startup 模块 汇编语言编写 作用:
系统时钟设置 划分堆栈区 安排中断向量表
RAM
堆区(heap ):人工申请(malloc 函数)和释放(free
函数)小心!
栈区(stack ):存放函数的参数、局部变量等,由编译器负责申请和释放
静态区(static ):存放全局变量、静态变量,编译器负
责申请
指出某变量存储在哪个区
CMSIS
CMSIS :Cortex Microcontroller Software Interface
Standard
内核的软件抽象层
STM STM32CUBE
ST 公司针对STM32微控制器推出的免费开发平台。
可根据用户需要自动生成C 语言代码框架,尽可能让用户专注于应用层的编写。
异常
异常(Exception )包括:系统异常和中断(Interrupt ) 系统异常:与内核相关的打断程序顺序执行的事件。 中断:与片上外设相关的打断程序顺序执行的事件。
CM3的中断优先级分为:
抢占式优先级(也称主优先级)
响应式优先级(也称亚优先级)
CM3通过NVIC来设置优先级。
NVIC
Nested Vectored Interrupt Controller
嵌套向量中断控制器
可嵌套中断
缩短中断延时
优先级调整
中断屏蔽
系统定时器简介
STM32F10X内核中有一个24位的系统定时器。设定初值并使能后,该定时器每经过1个系统时钟周期减1,当减到0时,自动重装初值,并触发SYSTICK异常
TIM6 TIM7 :基本定时器
16位自动重载
分频设置:1- 65536(0-65535)
周期数设置:1- 65536(0-65535)
STM32的定时器需程序员写代码启动:HAL_TIM_Base_Start_IT(&htim6 );
Stemwin为ST公司定制的emwin
以下语句显示结果分别是?
GUI_DispCharAt('a', 50, 150); a
GUI_DispCharAt(97, 50, 150);a
GUI_DispDecAt('a', 50, 150, 2);97
GUI_DispDecAt(97, 50, 150, 2);97
GUI_DispDecAt(‘a' - 'A' , 50, 150, 2);32 GUI_DispCharAt('a' - 32, 50, 150); A
GUI_DispCharAt('!' * 2, 50, 150);
字符显示原理
通过字符编码查找到相应字库的字形代码完成显示。
ASCII码
规定了128(0x00-0x7F) 个字符的编码
GB2312
GB2312采用2个字节进行编码,前一个字节称区码,后一个字节称位码。编码范围均为:0xA1-0xFE 6763
GBK
GBK区码范围为:0x81-0xFE
GBK位码范围为:0x40-0xFE
思考:GBK最多可以表示多少个字符?21003
在简体中文Windows操作系统中,ANSI 编码代表GBK 编码
统一编码
Unicode
如果有一种编码将世界上所有的符号都纳入其中,规定统一并且唯一的二进制编码,那么乱码问题就会消失。
UCS-2包含了各种常用的字符6万多个
UCS-4最高位规定为0,最多可容纳
2^31个字符
UTF-8对Unicode编码进行了转换Unicode转换为UTF-8时,可以将Unicode 二进制从低位往高位取出二进制数字,每次取6位,如上述的二进制就可以分别取出为如下示例所示的格式,前面按格式填补,不足8位用0填补。
1- 7位:0xxxxxxx
8-11位:110xxxxx 10xxxxxx
12-16位:1110xxxx 10xxxxxx 10xxxxxx
AD转换简介
Stm32f107vc有2个12位的ADC(模数转换器)
DMA简介
DMA(Direct Memory Access)
直接存储器存取
无需CPU干预,提供在外设和存储器之间或者存储器和存储器之间的高速数据传输