参考文件:

Cortex™-M0+
Revision: r0p1
Technical Reference Manual

1、Introduction(介绍)

1.1 About the processor

The Cortex-M0+ processor is a very low gate count, highly energy efficient processor that is intended for microcontroller and deeply embedded applications that require an area optimized,low-power processor.

1.2 Features

The processor features and benefits are:

  • Tight integration of system peripherals reduces area and development costs.
  • Thumb instruction set combines high code density with 32-bit performance.
  • Support for single-cycle I/O access.
  • Power control optimization of system components.
  • Integrated sleep modes for low power consumption.
  • Fast code execution enables running the processor with a slower clock or increasing sleep mode time.
  • Optimized code fetching for reduced flash and ROM power consumption.
  • Hardware multiplier.
  • Deterministic, high-performance interrupt handling for time-critical applications.
  • Deterministic instruction cycle timing.
  • Support for system level debug authentication.
  • Serial Wire Debug reduces the number of pins required for debugging.
  • Support for optional instruction trace.

1.3 Interfaces

The interfaces included in the processor for external access include:

  • External AHB-Lite interface.
  • Debug Access Port (DAP).
  • Optional single-cycle I/O Port.

1.4 configurable options

The MULS instruction provides a 32-bit x 32-bit multiply that returns the least-significant 32-bits of the result. The processor can implement MULS in one of two ways:

  • As a fast single-cycle array.
  • As a 32-cycle iterative multiplier.

The iterative multiplier has no impact on interrupt response time because the processor abandons multiply operations to take any pending interrupt.

1.5 Design flow and architecture

TRM:Tecnical Reference Manual

1.6 Architecture & protocol information

ARM architecture
The processor implements the ARMv6-M architecture profile. See the ARMv6-M Architecture Reference Manual.

Advanced Microcontroller Bus Architecture
The system bus of the processor implements AMBA-3 AHB-Lite. See the ARM AMBA 3 AHB-Lite Protocol Specification.

Debug Access Port architecture
The Debug Access Port (DAP) is an optional component, defined by v5.1 of the ARM Debug interface specification, see the ARM Debug Interface v5 Architecture Specification.

2、Functional description

2.1 About the functions

The Cortex-M0+ processor is a configurable, multistage, 32-bit RISC processor. It has an AMBA AHB-Lite interface and includes an NVIC component. It also has optional hardware
debug, single-cycle I/O interfacing, and memory-protection functionality. The processor can execute Thumb code and is compatible with other Cortex-M profile processors.

Figure 2-1 shows the functional blocks of the processor.

The implemented device provides:
A low gate count processor that features:

  • The ARMv6-M Thumb® instruction set.
  • Thumb-2 technology.
  • Optionally, an ARMv6-M compliant 24-bit SysTick timer.
  • A 32-bit hardware multiplier. This can be the standard single-cycle multiplier, or a 32-cycle multiplier that has a lower area and performance implementation.
  • Support for either little-endian or byte invariant big-endian data accesses.
  • The ability to have deterministic, fixed-latency, interrupt handling.
  • Load/store multiple and multicycle multiply instructions that can be abandoned and restarted to facilitate rapid interrupt handling.
  • Optionally, Unprivileged/Privileged support for improved system integrity.
  • C Application Binary Interface compliant exception model.This is the ARMv6-M, C Application Binary Interface (C-ABI) compliant exception model that enables the use of pure C functions as interrupt handlers.
  • Low power sleep-mode entry using Wait For Interrupt (WFI), Wait For Event (WFE) instructions, or the return from interrupt sleep-on-exit feature.

NVIC that features:

  • Up to 32 external interrupt inputs, each with four levels of priority.
  • Dedicated Non-Maskable Interrupt (NMI) input.
  • Support for both level-sensitive and pulse-sensitive interrupt lines.
  • Optional Wake-up Interrupt Controller (WIC), providing ultra-low power sleep mode support.
  • Optional relocation of the vector table

Optional debug support:

  • Zero to four hardware breakpoints.
  • Zero to two watchpoints.
  • Program Counter Sampling Register (PCSR) for non-intrusive code profiling, if at least one hardware data watchpoint is implemented.
  • Single step and vector catch capabilities.
  • Support for unlimited software breakpoints using BKPT instruction.
  • Non-intrusive access to core peripherals and zero-waitstate system slaves through a compact bus matrix. A debugger can access these devices,including memory, even when the processor is running.
  • Full access to core registers when the processor is halted.
  • Optional, low gate-count CoreSight compliant debug access through a Debug Access Port (DAP) supporting either Serial Wire or JTAG debug connections.

Bus interfaces:

  • Single 32-bit AMBA-3 AHB-Lite system interface that provides simple.integration to all system peripherals and memory.
  • Optional single 32-bit single-cycle I/O port.
  • Optional single 32-bit slave port that supports the DAP.

Optional Memory Protection Unit (MPU):

  • Eight user configurable memory regions.
  • Eight sub-region disables per region.
  • Execute never (XN) support.
  • Default memory map support.

3、Programmers Model

This chapter provides an overview of the application-level programmers model. It contains the following sections: omitted

3.1 instruction set summary

The processor implements the ARMv6-M Thumb instruction set, including a number of 32-bit instructions that use Thumb-2 technology. The ARMv6-M instruction set comprises:

  • All of the 16-bit Thumb instructions from ARMv7-M excluding CBZ, CBNZ and IT.
  • The 32-bit Thumb instructions BL, DMB, DSB, ISB, MRS and MSR.

Table 3-1 shows the Cortex-M0+ instructions and their cycle counts. The cycle counts are based on a system with zero wait-states.

3.1.1 arithmetic

3.1.2 logical & shift

3.1.3 Push & Pop

3.1.4 Hint

3.2 Binary compatibility with other Cortex processors

The processor implements a binary compatible subset of the instruction set and features provided by other Cortex-M profile processors. You can move software, including system level
software, from the Cortex-M0+ processor to other Cortex-M profile processors.To ensure a smooth transition, ARM recommends that code designed to operate on other Cortex-M profile processor architectures obey the following rules and configure the Configuration Control Register (CCR) appropriately:

3.3 Memory Model

The processor contains a bus matrix that arbitrates the processor core and optional Debug Access Port (DAP) memory accesses to both the external memory system and to the internal
NVIC and debug components.Priority is always given to the processor to ensure that any debug accesses are as non-intrusive as possible. For a zero wait-state system, all debug accesses to system memory, NVIC, and debug resources are completely non-intrusive for typical code execution.The system memory map is ARMv6-M architecture compliant, and is common both to the debugger and processor accesses. Transactions are routed as follows:

  • All accesses below 0xE0000000 or above 0xEFFFFFFF appear as AHB-Lite transactions on the AHB-Lite master port of the processor.
  • Accesses in the range 0xE0000000 to 0xEFFFFFFF are handled within the processor and do not appear on the AHB-Lite master port of the processor.
  • Data accesses to the AHB-Lite interface from both the debugger and the processor can be hardware configured to appear instead on the single-cycle I/O port.

The processor supports only word size accesses in the range 0xE0000000 - 0xEFFFFFFF. Table 3-2 shows the code, data, and device suitability for each region of the default memory map. This is the memory map used by implementations without the optional Memory Protection Unit (MPU), or when an included MPU is disabled. The attributes and permissions of all
regions, except that targeting the Cortex-M0+ NVIC and debug components, can be modified using an implemented MPU.

3.4 Processor core registers summary

Table 3-3 shows the processor core register set summary. Each of these registers is 32 bits wide.

3.5 Exceptions

NMI:Non-maskable Interrupt

4、System Control

4.1 About system control

This section describes the system control registers that control and configure various system control functions.

4.2 System control register summary

Table 4-1 gives the system control registers. Each of these registers is 32 bits wide.

4.2.1 CPUID register

5、Nested Vectored Interrupt Controller

5.1 About NVIC

External interrupt signals connect to the NVIC, and the NVIC prioritizes the interrupts.Software can set the priority of each interrupt. The NVIC and the Cortex-M0+ processor core
are closely coupled, providing low latency interrupt processing and efficient processing of late arriving interrupts.
All NVIC registers are only accessible using word transfers. Any attempt to read or write a halfword or byte individually is Unpredictable.
NVIC registers are always little-endian. Processor accesses are correctly handled regardless of the endian configuration of the processor.
Processor exception handling is described in Exceptions on page 3-10.

5.2 SysTick timer option

5.3 Low power modes

5.4 NVIC register summary

6、MPU(Memory Pretection Unit)

6.1 About the MPU

6.2 MPU registers summary

7、Debug

ARM cortex M0+ introduction相关推荐

  1. 32 位 ARM® Cortex®-M0+内核 单片机

    PY32F003 系列微控制器采用高性能的 32 位 ARM® Cortex®-M0+内核,宽电压工作范围的 MCU.嵌入高达 32Kbytes flash 和 4Kbytes SRAM 存储器,最高 ...

  2. 32位ARM®Cortex®-M0+内核单片机 XL32F003系列MCU

    XL32F003系列微控制器采用高性能的32位ARM®Cortex®-M0+内核,宽电压工作范围的MCU.嵌入高达64 Kbytes flash和8 Kbytes SRAM存储器,最高工作频率32 M ...

  3. ARM Cortex M0权威指南_PDF电子书下载 带书签目录 高清完整版 http://pan.baidu.com/s/1jGKQSwY MariaDB入门很简单_PDF电子书下载 带

    ARM  Cortex  M0权威指南_PDF电子书下载 带书签目录 高清完整版   http://pan.baidu.com/s/1jGKQSwY   MariaDB入门很简单_PDF电子书下载 带 ...

  4. 英飞凌tle985x芯片简介--集成了Arm®Cortex®M0的H桥驱动芯片

    TLE985X解决方案的简介 Infineon`s integrated motor driver optimizes the target applications by offering cost ...

  5. 基于ARM Cortex M0 核心的低功耗蓝牙BLE芯片

    MS1793S 是一款基于ARM Cortex M0 核心的低功耗蓝牙芯片,射频采用2.4GHz ISM 频段的频率,2MHz 信道间隔,符合蓝牙规范.MS1793S使用高性能的ARM®Cortex® ...

  6. 新唐ARM®Cortex™-M0特点总结

    ARM®CortexTM-M0特点: 主频50mhz主频,0.9DMIPS/MHz(相当于8位和16位产品的2-4倍) 小的处理内核,系统和存储器,可以降低器件成本 完善的电源管理(睡眠,深度睡眠和深 ...

  7. 基于ARM Cortex M0国产32位单片机MM32SPIN220B

    灵动MM32SPIN220B使用高性能的ARM®CortexTM-M0为内核的国产32位MCU,内嵌两组具备有自举二极管的N通道半桥栅极驱动器.MCU微控制器工作频率高达96兆赫兹,内置高速SRAM存 ...

  8. ARM CORTEX M0 程序镜像和启动逻辑

  9. 基于Cortex M0+的STM32L0系列简介

    L0系列是意法半导体于2014年新推出的超低功耗的MCU,基于ARM Cortex M0+内核.目前有STM32L0x1,STM32L0x2,STM32L0x3三个子系列,默认主频为32M,RAM都是 ...

  10. ARM® Cortex®-M内核单片机STM32家族介绍,覆盖STM32F、STM32H、STM32L全系列

     STM32是ARM®Cortex®-M内核单片机.目前提供10大产品线(F0, F1, F2, F3, F4, F7, H7, L0, L1, L4),超过700个型号.STM32产品广泛应用于 ...

最新文章

  1. 2013-3-10日记
  2. 学python要下载什么-从应用的角度去学习Python--为孩子下载课本
  3. 结合EM快速解决复杂的配置问题
  4. 如何打造一个小而精的电商网站架构?
  5. loginform登录表单 vs_【VSRC唯科普】穿越网页表单与登录窗口的采集(第9/14篇)...
  6. php怎么选择路径,利用php+mcDropdown实现文件路径可在下拉框选择
  7. ImportError: cannot import name ‘Optional‘
  8. “花书”的佐餐,你的线性代数笔记
  9. linux 进程的 5 大段
  10. 互联网控制协议ICMP
  11. 203.移除链表元素
  12. Spotfire 连接mysql数据库
  13. Python 爬取科技部计划申报指南pdf文件并作词频分析
  14. Multisim电路分析仿真-叠加原理
  15. Unity TileMap 2D 工具基础教程
  16. MTK android 修改背光自动调节亮度最大值和最小值
  17. CurveLane-NAS: Unifying Lane-Sensitive Architecture Search and Adaptive Poin
  18. 独家揭秘:小程序销售额破千万,他们怎么做到的
  19. 我的学习笔记003--!!DOCTYPE html PUBLIC -//W3C//DTD HTML 4.0 Transitional//EN http://www.w3.org/mxx
  20. 【VSCode】yarn : 无法加载文件 A:\yuke\node\node_gobal\yarn.ps1,因为在此系统上禁止运行脚本。

热门文章

  1. IDEA Terminal修改为git bash并解决中文转unicode问题
  2. 苹果已停产的 12 英寸 MacBook 和 iMac Pro或将回归
  3. 百度地图室内Poi检索
  4. 51单片机外部扩展实验
  5. MEM/MBA 考研高频单词总结(07)
  6. 【每日一题】2520. 统计能整除数字的位数-2023.10.26
  7. 澳洲留学生考试挂科本科没有毕业如何化解尴尬
  8. 电力载波通信G3PLC标准之编码(二)交织
  9. Vue element tabs 点击锚点定位 , 鼠标滚动定位
  10. Qt自定义截图----仿微信截图