答: 嵌入式系统应中心计算机技术基础软件硬件裁剪功性成体积功耗严格求专计算机系统
特点:1)专计算机系统特定务
2)资源较少裁减
3) 功耗低体积集成度高成低
4)实时操作系统
5) 性求更高具系统测试性评估体系
6)运行环境差异
7)部分程序固化 ROM中
8) 较长生命周期
9)嵌入式微处理器通常包含专调试电路
2 嵌入式系统BooTLoader功什?
答:BootLoader系统加电操作系统核户应程序运行前首先必须运行段程序代码通段程序终调操作系统核运行户应程序准备正确环境(嵌入式系统说操作系统操作系统系统启动时必须运行BootLoader系统运行准备软硬件环境)
3 目前嵌入式操作系统?
答:1)µCOSII 嵌入式操作系统核2)VxWorks嵌入式实时操作系统3)WinCE操作系统4)Linux操作系统 5)Symbian操作系统
4 构造嵌入式开发环境种形式?
答:1)交叉开发环境 2)软件模拟环境 3)评估电路板
5 嵌入式系统开发基流程
答:1)系统定义需求分析
2)系统设计方案初步确立
3)初步设计方案性价评估方案评审证
4)完善初步方案初步方案实施
5)软硬件集成测试
6)系统功性测试性测试
6 什编程片系统?
答:编程逻辑技术整系统放块硅片称作编程片系统SOPC种特殊嵌入式系统首先SOC单芯片实现整系统逻辑功具般SOC基属性次具备软硬件系统编程功编程系统具裁剪扩充升级等灵活设计方式
7 时Thumb技术原
答:(Thumb指令集32位ARM指令集子集重新编码形成特殊16位指令集)性代码间取衡需较低存储代码时采Thumb指令系统Thumb指令编写代码量程序(够解决代码长度问题)取ARM代码执行性带低功耗体积低成
8 ARM处理器工作模式种?
答:1)正常户模式(usr)
2)快速中断模式(fiq)
3)普通中断模式(irq)
4)操作系统保护模式(svc) 理模式
5)数访问中止模式(abt)
6)处理未定义指令未定义模式(und)
7)运行特权级操作系统务系统模式(sys)
9 寄存器R13R14R15专功什?
答:1)寄存器R13保存堆栈指针SP2)寄存器R14作子程序链接寄存器称LR 保存返回址3)R15(PC)作程序计数器
10 寄存器CPSRSPSR功什?
答:1)CPSR包含条件码标志中断禁止位前处理器模式状态控制信息处理器模式访问前程序状态寄存器CPSR
2) 种异常模式应物理寄存器——程序状态保存寄存器SPSR异常出现时SPSR保存
CPSR状态便异常返回恢复异常发生时工作状态
11 ARM异常种进入种工作模式?退出采什指令?
答:1)复位(Reset)异常(理模式)
2)未定义指令(undefined instruction)异常(未定义模式)
3)软件中断(SWI)异常(理模式)
4)指令预取中止(Prefech Abort)异常(中止模式)
5)数访问中止(Data Abort)(中止模式)
6)快速中断请求(FIQ)(FIQ模式)
7)外部中断请求(IRQ)(IRQ模式)
异常返回指令:1)SWI未定义返回:MOVS PCR142)IRQFIQ预取中止返回:SUBS PCR14#43)数中止返回重新存取:SUBS PCR14#8
异常中断优先级:复位(高优先级)> 数异常中止>FIQ > IRQ>预取指异常中止>SWI>未定义指令(包括缺协处理器)
12 什端端存储器组织?
答:1)端存储器组织较高效字节存放较高存储器址较低效字节存放较低存储器址() 2) 端存储器组织较高效字节存放较低存储器址较低效字节存放较高存储器址(正反)
13 什数边界齐?
答:默认情况ADS编译器数类型然边界方式数然方式指:果该数类型n字节该数类型n字节齐
14 ARM核现种?
答:ARM7 ARM9ARM9E ARM10ESecurCore ARM11
15 ARM寻址方式?写条说明
答:1)立寻址 (1) ADD R0R0#1 *R0←R0+1*
(2)ADD R0R0#0x3f *R0←R0+0x3f*
2)寄存器寻址(ADD R0R1R2 *R0←R1+R2*)
3)寄存器间接寻址 (1)LDR R0[R1] *R0←[R1]*
(2)STR R0[R1] *[R1]←R0*
4)基址加偏址寻址(1)LDR R0[R1#4]R0←[R1+4]
(2)LDR R0[R1#4]R0←[R1+4]R1←R1+4
(3)LDR R0[R1] #4R0←[R1]R1←R1+4
5)堆栈寻址(1) STMFD SP {R1R7LR}
(2)LDMFD SP {R1R7LR}
6)块拷贝寻址(1)LDMIA R0 {R2R9}(2)STMIA R1{R2R9}
7)相寻址
16 ARM立寻址方式立数指令编码中表示?
答:ARM数处理指令中参操作第二操作数立数型时立数采8位常数循环右移偶数位间接中循环右移位数4位二进制两倍表示果立数记作
17 指令ADRADRLLDRNOP处理址值读入寄存器中?
答:ADR基PC者寄存器址值读入寄存器ADR伪指令通常换成条ADD指令SUB指令实现该ADR指令功ADRL伪指令ADR指令处读取更范围址编译器换成2条数处理指令LDR32位立数者址值读取寄存器中范围址读取NOP汇编时换成ARM中空操作
18 指令LDR R10xFFF立数0xfff读入R1?
答:需读取寄存器数超MOVMVN指令操作范围编译器该常数放数缓区中时条基PCLDR指令读取该常数
LDR R1[PCoffset_to_LPOOL]
LTORG 声明数缓池
LPOOL DCD OxFFF OxFFF放数缓池中
19 c语言程序中嵌汇编?
答:嵌汇编指令包括部分ARM指令Thumb指令直接引C变量定义数交换必须通ATPCS进行嵌入式汇编形式表现独立定义函数体
20 汇编语言程序访问C语言全局变量?
答:汇编程序通址间接访问C语言程序中声明全局变量通IMPORT关键词引全局变量利LDRSTR指令根全局变量址访问
类型变量需采选项LDRSTR指令示:
1)unsigned char—— LDRBSTRB
2)unsigned short——LDRHSTRH
3)unsigned int——LDRSTR
4)char ——LDRSBSTRSB
5)Short——LDRSHSTRSH
21 C语言程序调汇编语言程序?
答:保证程序调时参数正确传递汇编程序设计遵守ATPCS汇编程序中需EXPORT伪操作声明程序程序调时C程序调该汇编程序前需C语言程序中extern关键词声明该汇编程序
22 汇编语言程序调C语言程序?
答:保证程序调时参数正确传递汇编程序设计遵守ATPCSC程序中需关键字声明汇编语言调C程序汇编程序调该C程序前需汇编语言程序中IMPORT伪操作声明该C程序汇编程序中通BL指令调子程序
23 嵌入式C语言程序设计中提高程序效率相关设计技巧
答:1)变量定义2)参数传递3)循环条件4)空间换时间5)数学方法解决问题6)位操作7)嵌入汇编
24Linux操作系统核文件系统编程接口等P192 P201
答:Linux核种例普通Linux核uClinux核RTLinux核等
25嵌入式Linux操作系统特点
答:广泛硬件支持核高效稳定开放源码软件丰富优秀开发工具完善网络通信文件理机制
26Windows CE操作系统特点
答:Windows CE32位务线程操作系统开放式设计结构适种样设备特点:
CE种压缩升级软件系统存条件提供较高性
二CE具便携带优点运行种微处理器
三CE拥电源理系统延长移动设备电池寿命
四CE支持标准通讯系统非常方便访问Internet发送接受电子邮件浏览万维网
程序解释
AREA COPYBSCODEREADONLY 定义代码段
ENTRY 程序入口
LDR ROSRC 取原数表表头
LDR R1DST 取目标数表表头
MOV R2#20 R4作循环控制
△Anna Petrov 安娜帕特罗夫(女名)BCOPY MOVS R3R2LSR#3 R3R2 <<3 逻辑右移3位
BEQ CWORD Z1跳转CWORD
OCOPY LDMIA R0{R4R11} 加载R0指址字数保存R4~R11中R0值更新
STMIA R1{R4R11} R4R11数存储R1指址R1值更新
SUBS R3R3#1 R3R31
BNE OCOPY Z0跳转OCOPY
CWORD AND R2R2#7 R2R2&7
BEQ STOP Z1跳转STOP
WCOPY LDR R3{R0}#4 R3中字数读入R0址存储器中新址R0+4写入R1
STR R3{R1}#4 R3中字数写入R1址存储器中新址R1+4写入R1
SUBS R2R2#1 R2R21
BNE WCOPY Z0跳转WCOPY
STOP ……
……
程序中常常需根定参数选择执行子程序跳转表中存放子函数址选择子程序参数该子程序跳转表中偏移量例中R3寄存器中存放跳转表基址(首选址中存放第子程序址)R0寄存器值选择子程序R00时选择子程序DoAddR01时选择子程序DoSub
ADS编译环境程序:
AREA JumpCODEREADONLY 设置程序名称属性
NUM EQU 2 跳转表中子程序数
ENTRY 程序执行入口点
Start MOV R0#0 设置3参数R0选择调子程序
MOV R1#3 R1子程序参数
MOV R2#2 R2子程序参数
BL Func 调子程序Func进行算术运算
Stop MOV R0 #0x18 条条指令作参数传递
LDR R1&20026
SWI 0x123456 CPU控制权交调试器
Func CMP R0#NUM 判断R0否效范围
MOVHS PCLR 果超出范围程序返回
ADR R3JTable 读取跳转表基址
LDR PCR3R0LSL #2根参数R0值跳转相应子程序
JTable DCD DoAdd 参数R00时面代码选择DoAdd
DCD DoSub 参数R01时面代码选择DoSub
DoAdd ADD R0R1R2 子程序DoAdd执行加法操作
MOV PCLR 子程序返回
DoSub SUB R0R1R2 子程序DoSub执行减法操作
MOV PCLR 子程序返回
END 结束汇编
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档