与基于51系列与基于arm处理器的控制系统开发有何异同。

author author     2023-03-22     716

关键词:

(一)在ARM处理器中,子程序调用、异常中断和软件中断有何异同。(从应用场合、寄存器保护、地址的保护与返回和工作模式等方面比较)
ARM中子程序调用是用跳转指令B、BL或BX,跳转到程序计数器PC的指向处,产生程序分支。正常的子程序调用属于用户模式。ARM 处理器中PC是对程序员开放的,所以可以把分支和子程序调用看成同一种操作,因此没有专门的子程序调用指令。当使用BL指令跳转时,处理器自动把下一条指令的地址值拷贝到链接寄存器LR中。在执行跳转指令时,处理器并不保存状态寄存器CPSR。
处理器相应异常中断时,正常的程序流被暂时中止,处理器就进入异常,ARM中所有的异常都会引起中断。异常中断时处理器硬件自动把当前CPSR的状态存储到当前异常模式的特定SPSR中,以免中断处理程序在使用CPSR时改变原来的状态,从而对中断返回造成影响。进入异常中断处理程序时,应该保留中断时的程序地址,以便中断结束时,返回到中断的正常位置,执行下一条指令。异常中断有很多类型,因而不同的异常中断有不同的模式,中断返回时的指令也不同。中断返回时,程序需要一条指令把SPSR中的内容恢复到CPSR中,如MOV PC, LR,执行此指令时,处理器会自动把SPSR中保存的程序状态拷贝到CPSR中。异常中断时,处理器自动把中断处地址保存到相应模式下的LR (R14)中,大多数保存在LR中的地址是:
LR保存的值二PC的值一8,但也有特殊情况。
软件异常中断时一个很灵活的软件功能,和子程序调用不同,软件异常中断吧程序导入管理模式,软件中断是异常中断的一种类型。软件中断是由指令SWI引起的。程序在执行这一指令后,进入异常中断,处理器响应中断,硬件执行过程如下:把下一条指令的地址拷贝给LR;把程序状态寄存器CPSR拷贝给SPSR_svc;强制进入管理模式;强制进入到ARM状态;跳转到绝对地址Pc=0x00000008;禁止IRQ中断。软件中断处理程序完成后,使用下列指令返回到原中断处。
(二)与基于51系列单片机的控制系统开发相比,基于ARM处理器的控制系统开发有何异同。(从指令系统、工作模式、寄存器分布和外围器件等方面比较)
(1)指令系统:
①51系列单片机采用8位数据结构,指令--8位,数据--8位,51系列单片机中指令的取指、数据的读写只使用一个地址值;
②ARM处理器采用32位数据结构,指令--32位ARM指令(ARM模式),16位Thumb指令(Thumb模式)数据--32位、16位、8位,ARM处理器中,指令的取值使用四个地址单元(ARM 模式)指令的取值使用两个地址单元(Thumb模式),数据的读写读写使用4、2、1个地址单元。
(2)工作模式
①51系列单片机只有一种模式,所有资源所有情况下都可利用;
②ARM处理器具有多种模式(用户模式、快速中断模式、标准中断模式、管理模式、中止模式、未定义模式、系统模式),只有特权模式可以可以访问和修改某些资源,用户模式不能够访问被保护起来的资源(如不能访问某些程序存储区,不能改写某些存储区),因此用户程序不会对系统造成干扰。
(3)寄存器分布
ARM状态时,ARM处理器中一般可使用的通用寄存器是R0-R12,而51系列中共有4组R0-R12; ARM中所有寄存器都有累加器功能和间接寻址功能,通用寄存器比51系列强大一些。在51系列中,所有的重要功能指令都要用到累加器A,因此要不停地保护累加器A中数据,在ARM中不会出现这种清况。两者的程序计数器的使用极其意义是相同的,程序状态器含义是想近的,51系列中,程序状态一般是由累加器A决定的,因为A参与并保存操作结果;ARM处理器中,则是由参与操作的目标寄存器决定的。51系列中,堆栈指针是SP;而在ARM处理器中,堆栈指针是R13。
Thumb状态下的寄存器是ARM状态下寄存器的一个子集,Thumb状态所能访问的寄存器少一些,Thumb状态下的寄存器的定义及其使用和ARM状态时相同的。
(4)外围器件
ARM不是单片机,而只是一个单片机的内核,ARM仅仅是单片机中的中央处理器,它有自己的指令代码集,可以通过执行代码控制外部设备,给ARM处理器设计出各种外部设备,用总线连接到一起,就组成了不同结构和性能的单片机。
参考技术A 51系列的用的再好,一般遇到了用arm尤其是arm9的开发人员的时候,51的开发人员一般都不会提出“控制系统”这个词语。因为51系列的单片机基本都是裸机程序(当然也有人用ucos-ii,在51上跑操作系统的)。而arm9基本必须和linux或者wince结合,才好意思说用的是arm做系统。毕竟把arm9 当单片机跑,如果是在实际工作中,是难以启齿的。追问

2、结合工程应用,回答下列问题:
1)在ARM处理器中,子程序调用、异常中断和软件中断有何异同。(从应用场合、寄存器保护、地址的保护与返回和工作模式等方面比较)
2)与基于51系列单片机的控制系统开发相比,基于ARM处理器的控制系统开发有何异同。(从指令系统、工作模式、寄存器分布和外围器件等方面比较)
大侠 这两个问题该怎么回答呢??谢谢……

追答

你这个问题,百度一下各种解释。你买本嵌入式系统基础的书开头几章,全是讲这个的~我就不浪费时间了

课程设计个人报告——基于arm实验箱的捕鱼游戏的设计与实现(代码片段)

课程设计个人报告——基于ARM实验箱的捕鱼游戏的设计与实现一、实验环境Eclipse软件开发环境;ARM实验箱(HonyaS5PC100);windows操作系统。二、实践内容Windows环境下ARM集成开发环境的搭建与使用;安装软件到模拟器;连接ARM实验... 查看详情

cortex-a8与stm32的区别

1.概述Cortex-A8是ARM公司研发的一款微处理器内核。STM32为ST公司(意法半导体)系列产品的简称,尤其是以STM32系列中Cortex-M3与Cortex-M4架构MCU(单片机)最为著称。2.Cortex-A8ARMCortex™-A8处理器基于ARMv7体系结构ÿ... 查看详情

课程设计个人报告——基于arm实验箱的捕鱼游戏的设计与实现(代码片段)

课程设计个人报告——基于ARM实验箱的捕鱼游戏的设计与实现个人贡献实验环境的搭建代码调试在电脑上成功运行在ARM实验箱上成功实现给程序增加功能(没成功)研究程序代码撰写小组报告一、实验环境Eclipse软件开发环境;AR... 查看详情

功能最弱的arm处理器

Arm处理器大致可以分为Classic、Cortex-M、Cortex-R以及Cortex-A三个系列,其性能天梯图如下,Classic系列处理器在很大程度上已经逐步被Cortex系列所取代ARMClassic(传统)系列处理器ARM7系列:基于ARMv3或ARMv4架构,包括ARM7TDMI-S和ARM7EJ-S处... 查看详情

课程设计个人报告——基于arm实验箱的捕鱼游戏的设计与实现(代码片段)

课程设计个人报告——基于ARM实验箱的捕鱼游戏的设计与实现一、个人贡献参与课设题目讨论及部分过程资料收集负责代码调试捕鱼游戏相应功能的实现实验环境Eclipse软件开发环境;ARM实验箱(HonyaS5PC100);windows操作系统。实... 查看详情

nordic内核arm蓝牙芯片nrf51802/nrf51822

...。它的主要功能包括:功能强大且低功耗的32位ARMCortex-M0处理器,启动时间为2µs,与8/16位处理器相比,大限度地降低了活动时间并提高了代码密度; 细化电源管理,个别系统可独立开关,并能基于活动级别自主控制时钟... 查看详情

xilinx_zynq_详解

...布了可扩展处理平台的架构详情,这款基于无处不在的ARM处理器的SoC可满足复杂嵌入式系统的高性能、低功耗和多核处理能力要求。赛灵思可扩展处理平台芯片硬件的核心本质就是将通用基础双ARMCortex-A9MPCore处理器系统作为“主... 查看详情

20155338课程设计个人报告——基于arm实验箱的android交友软件的设计与实现(代码片段)

课程设计个人报告——基于ARM实验箱的Android交友软件的设计与实现个人贡献实验环境的搭建代码调试在电脑上成功运行研究程序代码撰写小组报告一、实验环境1、Eclipse软件开发环境;2、ARM实验箱(HonyaS5PC100);3、windows操作系... 查看详情

课程设计小组报告——基于arm实验箱的捕鱼游戏的设计与实现(代码片段)

课程设计小组报告——基于ARM实验箱的捕鱼游戏的设计与实现一、任务简介1.1任务内容捕鱼游戏是一个娱乐性的游戏开发,可以给人们带来娱乐的同时还可以给人感官上的享受,所以很受人们的欢迎。本次游戏的程序设计包含,... 查看详情

课程设计小组报告——基于arm实验箱的捕鱼游戏的设计与实现(代码片段)

课程设计小组报告——基于ARM实验箱的捕鱼游戏的设计与实现一、任务简介1.1任务内容捕鱼游戏这个项目是一个娱乐性的游戏开发,该游戏可以给人们带来娱乐的同时还可以给人感官上的享受,所以很受人们的欢迎。本次游戏的... 查看详情

课程设计小组报告——基于arm实验箱的捕鱼游戏的设计与实现(代码片段)

课程设计小组报告——基于ARM实验箱的捕鱼游戏的设计与实现一、任务简介1.1任务内容捕鱼游戏这个项目是一个娱乐性的游戏开发,该游戏可以给人们带来娱乐的同时还可以给人感官上的享受,所以很受人们的欢迎。本次游戏的... 查看详情

基于tidavinci架构的多核/双核开发高速扫盲(以omapl138为例),dm8168多核开发參考以及达芬奇系列资料userguide整理

基于TIDavinci架构的双核嵌入式应用处理器OMAPL138开发入门原文转自http://blog.csdn.net/wangpengqi/article/details/8115614感谢wangpengqi的共享。一、简单介绍TI的达芬奇架构嵌入式应用处理器使用DSP与ARM结合的非对称多核结构,当然如今也有管... 查看详情

嵌入式:arm系列处理器详解与性能对比

ARM处理器目前包括以下几个系列:ARM7系列ARM9系列ARM9E系列ARM10E系列SecurCore系列Inter的XscaleInter的StrongARM其中,ARM7、ARM9、ARM9E和ARM10为4个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求。SecurCore系... 查看详情

arm开发入门与汇编基础(代码片段)

...家公司,它成立于1990年。ARM公司主要是设计ARM系列的RISC处理器内核,并将这些内核授权给合作伙伴进行生产与销售。ARM公司是一家只负责设计内核而不生产芯片的公司。 ARM芯片的产品线主要分为三种:1、应用级应用于高端... 查看详情

soc与arm

...成的,这个系统也称为SOPC其实就是SOC的一种,只不过是基于FPGA和软核来构成的!ARM授权从高到低大体分为三种,即架构授权、内核授权以及使用授权(实际的授权中,授权费用 查看详情

arm伪处理器使用的是啥总线标准

arm伪处理器使用的是什么总线标准要使用低成本的32位处理器,开发人员面临两种选择,基于Cortex-M3内核或者ARM7TDMI内核的处理器。如何做出选择?选择标准又是什么?本文主要介绍了ARMCortex-M3内核微控制器区别于ARM7的一些特点... 查看详情

android启动过程深入解析

...源操作系统。x86(x86是一系列的基于intel8086CPU的计算机微处理器指令集架构)是linux内核部署最常见的系统。然而,所有的Android设备都是运行在ARM处理器(ARM源自进阶精简指令集机器,源自ARM架构)上,除了英特尔的Xolo设备(http... 查看详情

各位有没有数字图像处理方面的本科毕业论文题目

...些数字图像处理毕业论文题目,希望对你有用。  1、基于模糊分析的图像处理方法及其在无损检测中的应用研究  2、数字图像处理与识别系统的开发  3、关于数字图像处理在运动目标检测和医学检验中若干应用的研究 ... 查看详情