arm处理器模式和arm处理器状态的区别_arm处理器模式和arm处理器状态有何区别-程序员宅基地

技术标签: 嵌入式  

ARM处理器状态

ARM微处理器的工作状态一般有两种,并可在两种状态之间切换:
第一种为ARM状态,此时处理器执行32位的字对齐的ARM指令;
第二种为Thumb状态,此时处理器执行16位的、半字对齐的Thumb指令。
在程序的执行过程中,微处理器可以随时在两种工作状态之间切换,并且,处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。但ARM微处理器在开始执行代码时,应该处于ARM状态。

ARM处理器状态
进入Thumb状态:当操作数寄存器的状态位(位0)为1时,可以采用执行BX指令的方法,使微处理器从ARM状态切换到Thumb状态。此外,当处理器处于Thumb状态时发生异常(如IRQ、FIQ、Undef、Abort、SWI等),则异常处理返回时,自动切换到Thumb状态。
进入ARM状态:当操作数寄存器的状态位为0时,执行BX指令时可以使微处理器从Thumb状态切换到ARM状态。此外,在处理器进行异常处理时,把PC指针放入异常模式链接寄存器中,并从异常向量地址开始执行程序,也可以使处理器切换到ARM状态。
对于Coretex-A系列,还有一种工作状态,即运行Thumb-2指令集的ThumbEE的状态,Thumb-2指令集是32位与16位混合运行的指令集。

ARM处理器模式
ARM微处理器支持7种运行模式,分别为:
用户模式(usr):ARM处理器正常的程序执行状态ÿ
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u011641891/article/details/10161883

智能推荐

小结_csdn小结-程序员宅基地

文章浏览阅读658次。Java基础Java集合框架Java集合——ArrayListJava集合——LinkedListJava集合——HashMapJava集合——TreeMapJava集合——LinkedHashMapJava泛型Java反射(一)Java反射(二)Java反射(三)Java注解Java IO(一)Java IO(二)RandomAccessFileJava NIOJava异常详解Java抽象类和接..._csdn小结

ModuleNotFoundError: No module named “pip”_在线部分:werobot服务、主要逻辑服务、句子相关模型服务-程序员宅基地

文章浏览阅读306次。日萌社人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新)报错:ModuleNotFoundError: No module named 'pip'解决:python -m ensurepippython -m pip install --upgrade pip_在线部分:werobot服务、主要逻辑服务、句子相关模型服务

supervisor笔记-程序员宅基地

文章浏览阅读63次。supervisor笔记 supervisord 作为主进程,管理旗下的各个子进程,子进程会产生若干线程。当某个管理的服务异常奔溃之后,supervisor 会自动重启该服务。配合使用 superlance 插件以实现 Http状态、内存等进行监控报警。mysql[program:mysql]command=/path/to/pidpro..._supervisor 线程

react-native使用ScrollView组件出现不滑动或者隐藏的解决方案_react native scrollview ios无法滑动-程序员宅基地

文章浏览阅读3.4k次。1、ScrollView组件上不能存在高度和flex,2、ScrollView如果为嵌套的子组件,其父组件上必须有固定高度_react native scrollview ios无法滑动

Tensorflow 设置GPU按需分配 memory_tf.config.experimental.set_memory_growth(gpu, true-程序员宅基地

文章浏览阅读3.8k次,点赞4次,收藏10次。import tensorflow as tfdef Set_GPU_Memory_Growth(): gpus = tf.config.experimental.list_physical_devices('GPU') if gpus: try: # 设置 GPU 显存占用为按需分配 for gpu in gpus: tf.config.experimenta..._tf.config.experimental.set_memory_growth(gpu, true)

selenium 无法启动IE浏览器的解决方法_python+selenium启动ie浏览器,启动不了。提示ielanuchurl() return-程序员宅基地

文章浏览阅读3.7k次。需导入的支持类: 启动IE浏览器的代码:  System.setProperty(“webdriver.ie.driver”, IEDriverServer.exe的存放路径);   WebDriver driver = new InternetExplorerDriver();   driver.get(“http://www.baidu.com“);  driver.quit(); //关_python+selenium启动ie浏览器,启动不了。提示ielanuchurl() returnd hresult

随便推点

用python暴力破解rar加密文件(经过测试)_python 清除rar密码-程序员宅基地

文章浏览阅读2.7w次,点赞18次,收藏85次。参考文章1参考文章2 第一次使用csdn写文章,写得不好还请见谅。(运行环境:python3.6) 下了一个带密码的压缩包文件,作为一个刚学python的新手,想着能不能用python暴力破解它,于是在网上搜了很多资料,看着似乎并不是很麻烦,也想试着自己写一个可以暴力破解的程序,在写的过程中却遇到了各种各样的问题,希望大手们能带带我。遇到的问题如下:zipfile和zipfile2似..._python 清除rar密码

Orangpi镜像烧录_orange pi img烧录软件-程序员宅基地

文章浏览阅读2.4k次。Orange Pi 镜像烧录准备工作windows系统 或者 ubuntu系统如果是windows系统还需要准备 Win32DiskImager 、xshell 和 diskgenues镜像下载1:Orange Pi 官网下载:Orange Pi 镜像下载地址2: Armbian 官网下载:我的是Orange Pi R1,传送门:Orange Pi R1 armbian其他型号传..._orange pi img烧录软件

操作系统-I/O(1)设备控制器-程序员宅基地

文章浏览阅读963次。I/O设备通常是物理上相互独立的设备,它们一般通过通信总线(电缆)与I/O控制器连接。例如,图中IDE接口是通信总线而非I/O总线。I/O控制器(I/O接口)在扩展卡或者南桥芯片内,通过I/O总线、北桥芯片连接CPU和MMI/O硬件建立了外设与主机之间的“通路”:主机----北桥---I/O总线----南桥(设备控制器)----电缆——外设把printf("hello..._io系统中 设备控制器

边缘计算网关-多台西门子S7-1200/1500等PLC与SQL数据库对接的案例_s7-1200与边缘计算网关通信-程序员宅基地

文章浏览阅读1.5k次。IGT-DSER智能网关模块,支持各种PLC、智能仪表、远程IO与数据库之间双向通讯,既可以读取设备的数据上报到SQL数据库,也可以从数据库查询数据后写入到设备;数据库软件支持MySQL、SQLServer、PostgreSQL。 网关安装在设备侧,与设备同时起停,不担心数据丢失;在断网、服务器维护上报数据有异常时,网关主动将数据缓存,待故障解除后自动重新上报到数据库;网关也支持多服务器冗余、异常未提交数据本地保存等功能,确保数据安全;已批量用于多种行业的智能工厂,大大提高..._s7-1200与边缘计算网关通信

IJKPlayer编译FFmpeg命令行_ijkplayer 编译ffmpeg-程序员宅基地

文章浏览阅读1.5k次。编译环境Win10 + Oracle VM + Ubuntu 19NDK version: r10e编译CMD进IJK中,使用正常的IJK编译方法即可。编译HTTPS进入IJK中拉取IJK后,进入文件夹目录进行命令编译./init-android-openssl.sh./init-android.sh完成后进入下一步编译SSL和FFMPEG在config文件夹中选择自己的编......_ijkplayer 编译ffmpeg

玩转【斗鱼直播APP】系列之框架搭建-程序员宅基地

文章浏览阅读3.3k次。搭建效果展示框架搭建分析首先最底部是一个UITabbar,因此我们可以用一个UITabBarController作为启动控制器分别添加子控制器HomeVc、LiveVc、FollowVc、ProfileVc在storyboard中直接添加方式如下:设置四个TabbarItem的内容设置Tabbar全局颜色 fun

推荐文章

热门文章

相关标签