目录

Cortex Vendor - ARM介绍

  • ARM主要提供指令集,需要授权
  • ARM使用的RSIC结构,功耗比较低

Cortex M3整体架构

  • 核心是Processor Core - 包含寄存器和累加单元,指令的取指,译码,执行单元
  • Nested Vectored Interrupt Controller(向量中断控制) - 外部中断进来,可以直接上报,不需要查中断号及服务程序;
  • Processor Core有指令总线和数据总线 - 指令和数据分离,指令和数据可以并行处理
  • Memory Protection Unit(MPU)- 对地址进行约束和保护,一些地址只能是指令单元访问,不能数据单元访问,防止内存踩踏,可以理解为特殊地址单元的保护;可以设置privilege和user权限,priviledge用于操作系统访问,user用于用户软件访问,有些地址可以操作系统进行读写,用户不能读写,进行区分
  • Flash Patch Breakpoint(FPB)
  • Data Watchpoint and Trace(DWT)
  • Bus Matrix - 进行指令的译码

Cortex CM3 内核特性

  • 支持Thumb 16bit的指令集,ARM 32bit指令集;ARM指令集位宽多,功能更强
  • 支持Thumb-2 ISA 可以支持16bit和32bit指令
  • 支持3级流水-取指\译码\执行的时候可以同时执行
  • harvard architecture - 将指令存储和数据存储进行分开
  • blanked SP - 有两套堆栈,一个是系统进行访问的,一个是用户进行访问的

Cortex CM3 嵌套中断向量

  • priority - 不同的中断可以设置不同的中断的优先级
  • back-to-back - 中断的咬尾操作,高优先级的中断可以终止低优先级的中断,低优先级的中断不用进行出栈操作,可以提高中断处理程序的执行效率

Cortex M3 MPU保护单元

  • 支持8个memory region - 可以指定不同区域设置不同的访问权限
  • 设置缓存进行加速
  • 可以设置读写权限

Cortex M3 总线接口

  • PPB BUS - 用于调试单元

Cortex M3 低成本调试接口

Cortex-M3内核介绍的更多相关文章

  1. ARM Cortex M3系列GPIO口介绍(工作方式探讨)

    一.Cortex M3的GPIO口特性    在介绍GPIO口功能前,有必要先说明一下M3的结构框图,这样能够更好理解总线结构和GPIO所处的位置. Cortex M3结构框图     从图中可以看出 ...

  2. stm32和cortex M3学习内核简单总结

    1.stm32综述 2.寄存器组 3.操作模式和特权级别 4.存储器映射 5.中断和异常 6.其他 Stm32综述 这可以说是我第一款认真学习的单片机了,学完这个就要开启我通往arm9的大门了,接下来 ...

  3. STM32 M3内核的位带操作原理及步骤

    STM32 M3内核的位带操作原理及步骤 一.位带操作有什么用?什么是位带操作 位带操作的作用:可以实现对某一GPIO口寄存器(或SRAM内存中)的某一bit位直接写0或1,达到控制GPIO口输出(或 ...

  4. ARM 架构、ARM7、ARM9、STM32、Cortex M3 M4 、51、AVR 之间有什么区别和联系?(转载自知乎)

    ARM架构:  由英国ARM公司设计的一系列32位的RISC微处理器架构总称,现有ARMv1~ARMv8种类. ARM7:       一类采用ARMv3或ARMv4架构的,使用冯诺依曼结构的内核. ...

  5. STM32学习之路入门篇之指令集及cortex——m3的存储系统

    STM32学习之路入门篇之指令集及cortex——m3的存储系统 一.汇编语言基础 一).汇编语言:基本语法 1.汇编指令最典型的书写模式: 标号 操作码        操作数1, 操作数2,... ...

  6. 【freertos】002-posix模拟器设计与cortex m3异常处理

    目录 前言 posix 标准接口层设计 模拟器的系统心跳 模拟器的task底层实质 模拟器的任务切换原理 cortex M3/M4异常处理 双堆栈指针 双操作模式 栈帧 EXC_RETURN 前言 如 ...

  7. ARM Cortex M3(V7-M架构)硬件启动程序 一

    Cortex-m3启动代码分析笔记 启动代码文件名是STM32F10X.S,它的作用先总结下,然后再分析. 启动代码作用一般是: 1)堆和栈的初始化: 2)中断向量表定义: 3)地址重映射及中断向量表 ...

  8. Implementation of Serial Wire JTAG flash programming in ARM Cortex M3 Processors

    Implementation of Serial Wire JTAG flash programming in ARM Cortex M3 Processors The goal of the pro ...

  9. 【ARM-Linux开发】ARM7 ARM9 ARM Cortex M3 M4 有什么区别

    ARM7 ARM9 ARM Cortex M3 M4 区别 arm7 arm9 可以类比386和奔腾, 不同代,arm9相比arm7指令集和性能都有所增强,arm7和arm9都有带mmu和无mmu的版 ...

  10. 各大浏览器内核介绍(Rendering Engine)

    在介绍各大浏览器的内核之前,我们先来了解一下什么是浏览器内核. 所谓浏览器内核就是指浏览器最重要或者说核心的部分"Rendering Engine",译为"渲染引擎&qu ...

随机推荐

  1. flask蓝图(这玩意就是django的子应用)

    蓝图的概念类似django的子应用,作用就是分模块开发,有关联的都放在一起. 蓝图的创建步骤: 新建一个包(一个包就是一个模块.等同于一个子应用) 在包的__init__.py中创建蓝图对象 . 蓝图 ...

  2. django数据库事务操作celery任务注意事项

    from django.db import transaction from django.http import HttpResponseRedirect @transaction.atomic d ...

  3. 免费背景音人声分离解决方案MVSEP-MDX23,足以和Spleeter分庭抗礼

    在音视频领域,把已经发布的混音歌曲或者音频文件逆向分离一直是世界性的课题.音波混合的物理特性导致在没有原始工程文件的情况下,将其还原和分离是一件很有难度的事情. 言及背景音人声分离技术,就不能不提Sp ...

  4. Havoc C2d的初次使用

    Havoc C2 简介 Havoc是一款现代化的.可扩展的后渗透命令控制框架 当前的Havoc版本还处于早期开发版,随着框架的不断成熟,可能会对Havoc的API和核心结构进行大量更改 以下的配置部分 ...

  5. Python——第二章:字典(dictionary)以及 添、删、改、查

    首先, 字典是以键值对的形式进行存储数据的,必须有键[key],有值[value] 字典的表示方式: {key:value, key2:value, key3:value} 举例: dic = {&q ...

  6. wasm+pygbag让你在网页上也能运行Python代码:【贪吃蛇游戏】

    引言 最近小伙伴告诉我一种新的方法,可以使用wasm来使浏览器网页能够运行Python代码.这一下子激起了我的兴趣,因为这意味着用户无需安装Python环境就能直接运行我的demo,这真是太方便了.所 ...

  7. 5.elasticsearch中查询条件

    目录 一.URI查询 指定字段.泛查询 分组和phrase Bool条件 must条件 范围查询 通配符查询 正则表达式 模糊匹配与近似查询 二.RequestBody&DSL ignore_ ...

  8. vue星星评分

    <template> <div> <div class="xx"> <div v-for="(i, index) in list ...

  9. Java 将PDF转为OFD

    OFD格式一种国产文件格式,在一些对文档格式有着严格的企业中用得比较多.下面,通过Java程序展示如何将PDF文件转为OFD格式. 代码思路:加载PDF源文档,调用Spire.Pdf.jar提供的sa ...

  10. GaussDB技术解读:应用无损透明(ALT)

    本文分享自华为云社区<DTCC 2023专家解读丨GaussDB技术解读系列之应用无损透明(ALT)>,作者: GaussDB 数据库. 近日,在第14届中国数据库技术大会(DTCC 20 ...