嵌入式笔记分析.doc
文本预览下载声明
嵌入式系统软件体系结构:
无操作做系统
循环结构(主体是循环)——做很多任务时不好(有延迟),加中断和定时器较好;
前后台结构——中断
有操作系统——开发软件难度降低;多个任务并行执行,任务多少与内存(RAM)大小有关;
嵌入式操作系统的分类:
商用系统、专用系统、开源系统
按响应时间分类——实时操作系统、非实时操作系统
第三章
ARM:
内核、32位、占市场比例75%;
也是公司名,制作内核;
与PC相比——功耗小、价格低、集成度低,但集成了一些外设;
MIPS/W——衡量处理器的标准;
工作模式、代码密度——存储密度。
3、2 ARM微处理器体系结构
偏上外设的空间属于I/O空间;
ARM的架构——1个32bitsALU,31个32bits通用寄存器及6个状态寄存器。
3、2、3 ARM的寄存器组织(注:内核寄存器):
未分组寄存器 R0~R7;
分组寄存器 R8~R14;
程序计数器 PC(R15);
R13——堆栈指针SP;
R14——PC的备份,也常写作LR,操作系统切换用;
程序状态寄存器 CPSR
3、2、4 ARM处理器模式(7种)
用户模式(USR); (2)快速中断模式(FIQ); (3)外部中断模式(IRQ);
管理模式(SVC); (5)数据访问终止模式(ABT); (6)系统模式(SYS);
未定义指令中止模式(UND);
大部分为用户模式下运行
3、2、5 异常
种类; 异常向量表——P85; 异常优先级;
对异常的响应:
保存下一条指令地址——LR(R14);
CPSR——SPSR;
根据异常类型设置CPSR的M[4:0];
PC跳转至异常向量地址(异常向量表内的);再跳转至异常处理程序;
从异常返回。
ARM指令集——32位;
Thumb指令集——16位,是ARM指令集的子集;
常用指令:
B 目标地址;
BL 目标地址; R14——PC-4
BLX 目标地址; ARM——Thumb
MOV R1,R0; R0-R1
MOV R0,#0; #表示常数——————??????????
CMP R1,R0; 比较;影响CPSR标志位
LDR R0,[R1]; MOV不能从存储器读取数据
LDR R0,[R1,R2]; 相加为内存单元地址——?????????
LDR R0,[R1,#8];
LDR R0,[R1,R2,LSL #2]!; ——??????????
——地址R1+R2*4的数据——》R1,LSL表示左移,LSR表示右移
ADD R0,R2,R3,LSL #1; R0=R2+R31——????
SUB R0,R1,R2; R0=R1-R2
ADC、SBC 考虑CBSR中C位——进、借位标志
SWI 软中断指令
伪指令——不会生成机器码,起辅助作用
AREA Init ,CODE ,READONLY
……
ENTER ;入口地址
……
END
Thumb指令集:
区别——没有协处理器指令;无访问CPSR、SPSR指令;
无64位乘法指令;访问寄存器受限
3、4 ARM处理器编程简介
文件格式:*.S,*.ASM; *.C,*.CC(C++程序);
一般初始化文件用汇编,主要任务用C语言
汇编语言结构——P102
一个代码段(或多个),链接器确定在存储器中的位置
混合编程:主要是C语言内嵌套汇编语言
关心:传递、返回用什么寄存器(特定)
3、5 ARM处理器初始化分析
Bootloader:硬件、软件初始化
PC初始化过程
BIOS完成计算机硬件自检——》运行MBR中的代码——》读取运行活动分区引导扇区代码——》从分区中读取内核映像并启动。
嵌入式系统初始化
无BIOS,硬件自检由Bootloader完成。
一般Bootloader存放于0,即处理器开始执行程序处。但不同处理器不同,具体可查datasheet。
Bootloader是一段小程序,通过这段小程序初始化最基本的硬件设备,并建立内存空间映射图。
常用Bootloader有:U—boot和ViVi,其中U—boot开源
嵌入式系统硬件平台与接口设计
5、1
S3C2410简介
ARM920T内核、0.18um;
CMOS工艺、外围模块(片上外设);
MMU(内存管理单元)
PWM——控制直流电机中的转速,开关电源,产生方波
S3C2310A微处理器的启动方式
Nandflash——SDRAM——大容量存储器
Norflash——SRAM
——XIP功能:在片内运行程序,成本高,容量小,掉电不消失
DRAM:动态随机存储器,存储密度大,需刷新电路;
SRAM:静态随机存储器,使用方便,容量小,无需刷新电路;
显示全部