嵌入式系统开发重点内容.docx
- 文档编号:29957460
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:10
- 大小:115.73KB
嵌入式系统开发重点内容.docx
《嵌入式系统开发重点内容.docx》由会员分享,可在线阅读,更多相关《嵌入式系统开发重点内容.docx(10页珍藏版)》请在冰豆网上搜索。
嵌入式系统开发重点内容
嵌入式系统及三要素
定义:
以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
简单定义:
嵌入到对象体系中的专用计算机系统。
三要素:
嵌入式系统的三个基本要素是嵌入性、专用性与计算机系统。
(1)嵌入性是把软件嵌入到Flash存储器中,
(2)专用性是指针对某个具体应用领域和场合,量体裁衣式的定制适用该场合的专用系统,
(3)计算机系统是指必须具有计算机系统的组成,核心是计算机系统。
三个要素决定了嵌入式系统是嵌入到对象体系中的一种专用的计算机系统。
嵌入式系统設計与开发原则与步驟
1.設計与开发原則
既然嵌入式系统是嵌入到对象体系中的专用的计算机系统,因此嵌入式系统设计的基本原则:
物尽其用。
这一原则表明,嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,以最小成本实现更高的性能,同时尽可能采用高效率的设计算法,以提高系统的整体性能,换句话说同,“物尽其用”就是“够用就好”,以最高性价比来设计嵌入式应用系统。
2、设计与开发步骤
嵌入式系统的设计步骤包括需求分析、体系结构设计、硬件设计,软件设计,执行机构设计、系统集成和系统测试。
各个阶段之间往往要求不断的修改,直至完成最终设计目标。
ARM存储模式
关于存储模式:
大端模式和小端模式,靠GPE8(ENDIAN)高低电平决定,高电平大端模式,低电平小端模式。
让GPE8工作于功能1模式控制。
掌握大小端模式存储结构。
已知一个32位的一个字0x87654321,存放在内存0x12000004~0x12000007中,指出对于大端模式和小端模式下,字节0x65存放的地址。
ARM指令流水线
关于指令流水线:
ARM采用指令流水线技术。
不同内核指令流水线的级数不同。
采用指令流水线的作用是提高指令执行效率。
有3、5、6、7、8级不等。
对于一个具有1条8级指令流水线的ARM处理器,假设每1级所需要的时间为1ns,求这种ARM处理器执行4000条指令最快所需要的时间。
如果有两条这样的指令流水线那?
ARM常用指令
MOV
MNV
LDR、LDRB、LDRH
STR
ORR
AND
B 注意条件域
ARM伪指令 LDR
ADD
MUL
CMP
TST
B BCC BHI BEQ BCS BLS BGE BLT BGT BLE
ARM指令条件域
ARM芯片选型
基本方法:
根据需求,对照ARM芯片的技术要点去按照够用就好,略有余量的基本原则来选择。
S3C44B0的端口組件及应用
多功能GPIO的配置方法:
1、端口配置寄存器PCONA~PCONG决定A~G端口的功能
2、端口数据寄存器PDATA~PDATG端口A~G的数据,可输入输出
3、上拉电阻寄存器PUPC~PUPG决定C~G端口是否内部上拉
4、特殊上拉电阻寄存器
SPUPR决定数据总线是否上拉
S3C44B0的UART开发应用
对于S3C44B0,已知MCLK=60MHz,阅读程序回答问题:
ARM汇编语言如下,试说明完成的功能。
LDR R0,=rPCONA
LDR R1,=0x3FF
STR R1,[R0] ;A口功能2
LDR R0,=rPCONB
LDR R1,=0x7FF
STR R1,[R0] ;B口功能2
LDR R0,=rPCOND
MOV R1,=0x0055
STR R1,[R0] ;D口中GPD7~GPD4输入,GPD3~GPD0输出
LDR R0,=rPCONF
LDR R1,=0x120000
STR R1,[R0] ;GPF6,7为UART1RXD和TXD,其余GPF为输出
LDR R0,=rPCONG
MOV R1,#0xFFFF
STR R1,[R0] ;F口为外部中断
解答:
具体功能见注释!
S3C44B0的UART組件及开发應用
常用UART寄存器
1、UART线路控制寄存器ULCON0和ULCON1
决定字符格式(数据位数、停止位、奇偶校验位,红外和正常模式)
2、UART控制寄存器UCON0和UCON1
决定中断类型、发送和接收触发方式、接收和发送中断允许等)
3、UART发送接收状态寄存器UTRSTAT0和UTRSTAT1反映接收和发送状态
4、 UART发送接收数据寄存器UTXH0和UTXH1保持发送和接收的数据
5、UART波特率发生器决定通信波特率
UBRDIVn =INT(MCLK/(波特率×16)+0.5)-1
S3C44B0的UART开发应用
利用S3C44B0进行串行通信,已知MCLK=60MHz,阅读程序回答问题:
LDR R0,=rPCONE
ORR R1,R0,#0x28 00 10 10 00
STR R1,[R0];写PCONE使GPE1GPE2为TXD0和RXD0用于串行通信功能
LDR R0,rUFCON0
MOV R1,#0
STR R1,[R0] ;UFCON0=0禁止FIFO
LDR R0,rULCON0
ORR R1,#0x23 ;00100011
STR R1,[R0] ;字符格式为:
8位数据,1位停止位,奇校验
LDR R0,=rUCON0
ORR R1,R0,#0xC1
STR R1,[R0] ;写UART0控制寄存器使允许接收中断正常接收发送
LDR R0,=rUBRDIV0
LDR R1,=325
STR R1,[R0] ;设定波特率为11520BPS
1、说明本程序完成的功能
2、串行通信波特率是多少?
3、对程序进行注释
解答:
1、本程序段完成的是对UART0进行初始化,使用GPE1和GPE2用于UART0的TXD0和RXD0进行串行通信,通信字符格式为8位数据,1位停止位,奇校验,禁止FIFO,允许接收中断,正常接收和发送。
2、串行通信波特率根据UBRDIV0=[MCLK/(波特率×16)-0.5]怪整数
所以:
波特率=MCLK/((UBRDIV0+0.5)*16)=60000000/(325.5*16)=11520bps
3、注释如上。
S3C44B0的PWM組件及开发应用
常用PWM寄存器
1、定时器配置寄存器TCFG0决定输入给定时器的时钟频率的预分频系数
2、定时器配置寄存器TCFG1决定输入给定时器的时钟频率的除数值
3、定时器控制寄存器TCON决定定时器是否自动重装、是否开始定时停止定时,是否输出反转,是否允许死区控制等。
4、 定时器计数寄存器TCNTB0~TCNTB5和比较寄存器TCMPB0~TCMPB5
S3C44B0的PWM开发应用
用PWM的TOUT1和TOUT2分别控制两个指示灯LED1和LED2,要求TOUT1=1时LED1亮,TOUT2=1时LED2亮,编程让LED1以0.5秒闪亮(即0.5秒亮,0.5秒灭,循环),LED2以2秒闪亮。
T1/T2定时器指定预分频系数199,除法器值16,MCLK=60MHz。
解答:
LED1闪亮0.5秒:
T1设置0.5S定时且反转;LED2闪亮:
T2设置2S定时且反转配置寄存器TCFG0=0xC7C7 (T1和T2为199=0xC7预分频)
配置寄存器TCFG1=0x330 (T1和 T2除法器值为16)
定时器输入时钟频率=MCLK/(预分频值+1)/(除法器值)=60000000/(199+1)/16=18750Hz
定时0.5秒,T1计数缓冲寄存器TCNTB1的值=0.5×18750=9375
定时2秒,T2计数缓冲寄存器TCNTB2的值=2×18750=37500
LDR R0,rTCFG0
MOV R1,#0xC7C7 或LDR R1,=0xC7C7
STR R1,[R0] ;写TCFG0,分频系数为199=0xC7
LDR R0,=rTCFG1
LDR R1,=0x330
STR R1,[R0] ;写TCFG1,除法器值16
LDR R0,=rTCNTB1
LDR R1,=9375
STR R1,[R0] ;写TCNTB1
LDR R0,=rTCNTB2
LDR R1,=37500
STR R1,[R0] ;写TCNTB2
LDR R0,=rTCON ;
ORR R1,R0, #0xDD00 ;T1和T2自动重装/反转、启动定时器
STR R1,[R0] ;写TCON
S3C44B0的WDT組件及开发應用
常用WDT寄存器
1、WDT控制寄存器WTCON决定是否允许复位、是否允许中断以及决定预分频系数和时钟因子
2、WDT数据寄存器WTDAT和计数寄存器WTCNT
3、WDT定时输入时间:
T_WDT=1/(MCLK/预分频系数+1)/分频系数
4、WDT复位时间:
T_RST=WTCNT×T_WDT
S3C44B0的WDT开发應用
如果MCLK=40 MHz,采用预分频值为99,分频系数为64,要使WDT的定时时间为10秒,允许复位,禁止中断,写出WDT初始化程序片段。
解答:
t_watchdog = 1/( MCLK / (预分频值+1) /分频系数 )
= 1/(40000000/100/64)
= 160us
溢出时间t = WTCNT*t_watchdog=10S
= WTCNT*160us=10000000us
WTCNT=62500
LDR R0,rWTCON
LDR R1,=0xF939
STR R1,[R0];写WDT控制寄存器使禁止中断,允许复位,预分频系数99,分频系数64
LDR R0,rWTCNT
LDR R1,=62500
STR R1,[R0] ;写WDT计数寄存器使计数值为62500,定时10秒
S3C44B0的ADC組件及开发应用
常用ADC寄存器
1、ADC控制寄存器ADCCON决定是否允许启动、选择ADC通道、反映ADC转换状态
2、ADC预分频寄存器ADCPSR决定预分频系数
3、ADC转换时间:
TADC=2×(ADCSPR的值+1)×16/MCLK
4、ADC数据寄存器寄存转换后的10位数字量
5、对ADC操作三要素:
(1)选择通道并启动AD变换
(2)查询状态(是否转换结束)
(3)读取转换结果
S3C44B0的ADC开发应用
如果MCLK=64MHz
1、让ADC转换时间为10uS,写出程序片段
解答:
ADC转换时间:
TADC=2×(ADCSPR的值+1)×16/MCLK
ADCPSR=10/32*64-1=19
主要是写ADCPSR寄存器,写寄存器三条指令:
LDR R0,=rADCPSR
MOV R1,#19
STR R1,[R0]
解答续:
CMP R2,#30
BCC LPSET0
CMP R2,#90
BHI LPSETFF
MOV R3,R2
B LPGO
LPSET0:
MOV R3,#0
B LPGO
LPSETF:
MOV R3,#0xFFFFFFFF
LPGO:
B START
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 开发 重点 内容