ARM嵌入式系统

本文详细介绍了ARM嵌入式系统,包括嵌入式系统的基本概念、分类、实时操作系统的特点,以及ARM处理器的寄存器、存储器映射、中断处理、异常模式等关键知识点。还探讨了中断控制器(如VIC)的工作原理,强调了实时操作系统在嵌入式系统中的重要性,以及在中断处理过程中的任务切换和中断禁止策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2018年11月1日星期四

第一章:嵌入式系统概论

1.嵌入式系统:指操作系统和功能软件集成于计算机硬件之中。

2.嵌入式系统特点:嵌入性,内含计算机,专用性。

3.嵌入式系统分类:嵌入式微处理器,微控制器,DSP处理器,片上系统。

4.三种操作系统:多道批处理系统,分时操作系统,实时操作系统。

5.实时操作系统特点:异步的事件响应,切换时间和中断延迟时间响应,优先级中断和调度,抢占式调度,内存锁定,连续文件,同步。

6.一般实时系统与嵌入式实时系统的区别主要在于应用场合和开发过程:1.一般实时系统应用于实时处理系统的上位机和实时查询系统等实时性较弱的实时系统中,并且提供了开发,调试,运用一致的环境。2.嵌入式实时系统运用于实时性要求高的实时控制系统中,并且运用程序的开发过程是通过交叉开发来完成的,即开发环境与运行环境不一致。嵌入式实时系统具有规模小,可固化,实时性强的特点。

7.嵌入式系统的开发工具:人机界面,系统程序,模拟程序,模块集(包括CPU模块,IO模块和功能模块)。

8.前后台系统:循环中调用相应的函数完成相应的操作,为后台行为。中断服务程序处理异步事件,为前台行为。后台叫任务级,前台叫中断级。

9.操作系统:是计算机中最基本的程序,负责计算机系统的全部软硬件资源的分配与回收,控制与协调等并发活动;提供用户接口,使用户获得良好的工作环境,为用户扩展新的系统功能提供软件平台。

10.实时操作系统:每个任务均有一个优先级,根据各个任务的优先级,动态的切换各个任务,保证对实时性的要求。

11.代码的临界区:指处理不可分割的代码,运行这些代码不可被打断。

12.任务:一个任务也是一个线程,是一个简单的程序,CPU完全属于该程序本身使用。

13.时钟节拍:时钟节拍是特定的周期性中断,时钟的节拍式中断使得内核可以将任务延时若干个整数时钟节拍,以及当任务等待事件发生时,提供等待超时的依据。

2018年11月19日星期一

第二章:

1.堆栈指针R13(SP):

堆栈操作通常会发生在子程序调用,异常发生或者是程序运行过程中寄存器数量不够时。

寄存器R3作为堆栈指针(SP),用于保存堆栈的出入口地址。

Arm处理器的堆栈操作具有非常大的灵活性,根据堆栈指针的增减方向和指针指向的存储单元的地址是否为空,共有四种堆栈方式:满递增,空递增,满递减,空递减。

2.链接寄存器R14(LR)

寄存器R14称为链接寄存器LR,子程序的返回地址将自动存入R14中。

3.程序计数器R15(PC)

寄存器R5保存程序计数器PC,R15总是指向正在取址的指令。

4.CPSR与SPSR

所有模式全部共享一个程序状态寄存器CPSR,arm内核就是通过使用CPSR来监视和控制内部操作的。

在异常模式中,允许访问用于保存CPSR当前值的备份程序状态寄存器SPSR,每种异常模式都有相应的CPSR。

关系:1.当一个异常模式发生时,将CPSR的当前值保存到相应的异常处理模式下的SPSR,然后设置CPSR为相应的异常模式。2.从异常中断模式退出返回时,可通过保存在SPSR中的值来恢复CPSR。

5.存储器的字和半字

ARM处理器直接支持8位的字节,16位的半字和32位的字,其中以能被4整除的地址开始连续的4个字节构成一个字,从偶数地址开始连续的两个字节构成一个半字。ARM指令的长度为一个字(四个字节),Thumb指令的长度为一个
半字。

6.计算机结构

冯诺依曼结构:把代码作为一种特殊的数据来操作,指令总线,数据总线及存储区域是统一的。

哈弗结构:指令总线,地址总线,存储区域是分开独立的。

7.所有ARM外设都是存储器映射的,编程接口是一组对应于某些存储器地址的寄存器。即外设与内存统一编址,外设寄存器是内存空间的一部分,指令统一。

8.存储控制器:各种不同类型的存储器通过存储器控制器连接到处理器总线上。

9.中断控制器:ARM处理器有两种中断控制器,标准中断控制器和向量中断控制器。

10.初始化代码使处理器从复位状态进入操作系统能够运行的状态。

11.初始化过程为操作系统进行控制准备好硬件,操作系统组织系统资源:外设,存储器,处理时间。

12.流水线特点:执行一条分支指令或修改PC而发生跳转时,会使ARM内核清空流水线;即使产生一个中断,一条处于执行阶段的指令也将完成,流水线的其他指令将会被抛弃。而处理器将从向量表的其他入口(对应的中断向量地址)开始填充流水线。

13.ARM异常类型:复位异常,未定义异常,软

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值