首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

arm的一些概念(ARM9、Cortex的区别)

ARM7:ARMv4架构,ARM9:ARMv5架构,ARM11:ARMv6架构,ARM-Cortex 系列:ARMv7架构。 ARM7没有MMU(内存管理单元),只能叫做MCU(微控制器),不能运行诸如Linux、WinCE等这些现代的多用户多进程操作系统,因为运行这些系统需要MMU,才能给每个用户进程分配进程自己独立的地址空间。ucOS、ucLinux这些精简实时的RTOS不需要MMU,当然可以在ARM7上运行。 ARM9、ARM11,是嵌入式CPU(处理器),带有MMU,可以运行诸如Linux等多用户多进程的操作系统,应用场合也不同于ARM7。 到了ARMv7架构的时候开始以Cortex来命名,并分成Cortex-A、Cortex-R、Cortex-M三个系列。三大系列分工明确:“A”系列面向尖端的基于虚拟内存的操作系统和用户应用;“R”系列针对实时系统;“M”系列对微控制器。简单的说Cortex-A系列是用于移动领域的CPU,Cortex-R和Cortex-M系列是用于实时控制领域的MCU。 所以看上去ARM7跟Cortex-M很像,因为他们都是MCU,但确是不同代不同架构的MCU(Cortex-M比ARM7高了三代!),所以性能也有很大的差距。此外,Cortex-M系列还细分为M0、M3、M4和超低功耗的M0+,用户依据成本、性能、功耗等因素来选择芯片。 想必楼主现在肯定知道了ARM7、Cortex-M的区别,不过还是花了点时间整理在此,可以帮助后来的初学者搞明白这些基本的概念性问题。

01
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    STM32上的backtrace原理与分析

    一般来说,1,2,3板子都是在开发者手上,一旦遇到bug,只要可以复现,基本上都可以排查出来,然后修复或者规避。但一旦进入到4,5阶段,产品已经成型之后,再想排查BUG就比较麻烦了。例如工厂测试阶段,有可能连续运行好几天或者好几个星期才能复现的问题,排查起来就十分的复杂。对于这种情况,backtrace是十分必要的。可以在离线的状态下分析系统的关键信息,通过函数的栈回溯,从而找到出错的对应的执行函数,然后结合程序设计,基本上大部分的bug基本上也可以找到。我之前写过一篇文章arm上backtrace的分析与实现原理。分析了在cortex-a上的分析情况。但是对于cortex-m来说,问题就会复杂许多,因为cortex-m对于固件的体积的限制以及特殊的架构,让backtrack的方案占用了过大的flash。这是设计者所不能接受的,而且更加难受的是cortex-m并没有栈回溯指针。这就让栈的深度的计算变的十分复杂。本文主要分析cortex-m的栈布局以及一些栈回溯的底层原理和方案。

    06

    CMSIS的简介_CMSInitiatingOccupancyFraction

    Cortex微控制器软件接口标准(Cortex Microcontroller Software Interface Standard)是ARM和一些编译器厂家以及半导体厂家共同遵循的一套标准,是由ARM专门针对CORTEX-M系列提出的标准。在该标准的约定下,ARM和芯片厂商会提供一些通用的API接口来访问Cortex内核以及一些专用外设,以减少更换芯片以及开发工具等移植工作所带来的金钱以及时间上的消耗。只要都是基于Cortex的芯片,代码均是可以复用的。CMSIS是 Cortex-M 处理器系列的与供应商无关的硬件抽象层。使用 CMSIS可以为处理器和外设实现一致且简单的软件接口,从而简化软件的重用、缩短微控制器新开发人员的学习过程,并缩短新设备的上市时间。

    01

    嵌入式开发基础之中断管理

    中断就是系统正在处理某一个正常事件,忽然被另一个需要马上处理的紧急事件打断,系统转而处理这个紧急事件,待处理完毕,再恢复运行刚才被打断的事件。 无论在单片机开发还是嵌入式开发中,中断都是一个非常重要的概念。而重要的原因,是中断的概念符合我们普世生活的场景。 你正在上班努力编程,却有一通电话打了进来,而不得不停止工作,接通完电话后,发现只是外卖到了楼下,这时候你又恢复到工作的状态,这是短期中断。 你本科毕业,因为第一年的工作经验的优先级高于考研所以你去找了份工作,干了一年后,去考研,回到学校继续学习,对你的学业来说,这也是中断,无非是中断处理时间长而已。 本文将会介绍嵌入式开发中,中断管理的概念,及基于RTOS的一些例子。

    02

    ARM的体系结构。

    1.1 Application Cortex Processors (ARM Cortex 应用处理器 )  • Cortex™-A 系列 - 开放式操作系统的高性能处理器  Cortex 应用处理器在先进工艺节点中可实现高达 2GHz+ 标准频率的卓越性能,从而可支持下一代的移动 Internet 设备。这些处理器具有单核和多核种类,最多提供四个具有可选 NEON™ 多媒体处理模块和先进浮点执行单元的处理单元。  所有 Cortex-A 处理器都共享共同的体系结构和功能集。 这使其成为开放式平台设计的最佳解决方案,因为此时不同设计之间软件的兼容性和可移植性最重要:  ARMv7-A 体系结构  对所有操作系统的支持  Linux 完整分配 - Android、Chrome、Ubuntu 和 Debian  Linux 第三方 - MontaVista、QNX、Wind River  Symbian  Windows CE  需要使用内存管理单元的其他操作系统支持  指令集支持 - ARM、Thumb-2、Thumb、Jazelle®、DSP  TrustZone® 安全扩展  高级单精度和双精度浮点支持  NEON™ 媒体处理引擎

    03
    领券