文档详情

嵌入式笔记分析.doc

发布:2017-01-10约字共13页下载文档
文本预览下载声明
嵌入式系统软件体系结构: 无操作做系统 循环结构(主体是循环)——做很多任务时不好(有延迟),加中断和定时器较好; 前后台结构——中断 有操作系统——开发软件难度降低;多个任务并行执行,任务多少与内存(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:静态随机存储器,使用方便,容量小,无需刷新电路;
显示全部
相似文档