Arm Cortex M0 Instruction Set
Total Page:16
File Type:pdf, Size:1020Kb
Arm cortex m0 instruction set Continue Unfortunately, your browser is not supported. We recommend upgrading your browser. We've done everything we can to make all the documentation and resources available on older versions of Internet Explorer, but the support for vector images and layout can be suboptimal. Technical documentation is available in PDF Download format. The Arm Cortex-M0 processor is one of the smallest Arm processors available. The Cortex-M0 has an exceptionally small silicon area, low power and minimal code footprint, allowing developers to achieve 32-bit performance at an 8-bit price, bypassing a step toward 16-bit devices. The ultra-low countdown gate processor allows it to be deployed in analog and mixed signaling devices. Arm Cortex-M0 Processor Architecture Armv6-M Bus Interface AHB-Lite, von Neumann Bus Architecture ISA Support Thumb / Thumb-2 Subset Pipeline 3-Stage Bit Manipulation Bit Strip Area can be implemented with Corstone Foundation IP interrupts non-masked interruption (NMI) 32 Physical Interrupts Wakeup Interruption Controller Additional Advanced Instructions Equipment One Cycle (32x32) multiply the version sleep modes Integrated WFI and WFE Instructions and Sleep On Exit Sleep And Deep Sleep Signals Extra Retention Mode with Arm Power Management Kit Debug Extra JTAG and Serial Wire Deb debugging ports. Up to 4 break points and 2 2.33 CoreMark/MHz efficiency points and 0.89/1.02/1.27 DMIPS/MHz. typical 1.8v, 25'C) 90LP (7-track, typical 1.2v, 25'C) 40LP (9-track, typical 1.1v, 25 degrees Celsius) Dynamic power floor of the planned area - See: EEMBC Benchmark Viewer Rating - The first result complies with all the basic rules set out in the Dhrystone documentation, the second allows inlining functions, not just permitted C-line libraries, while the third additionally allows for simultaneous (multi-file) compilation. All of them with the original (CHR) v2.1 dhrystone and a minimal configuration with full ISA support and controller interruption, includes 1 IR-NMI, excludes ETM, MPU and Debugging Download the next PDF data sheet to compare the specifications of Cortex-M processors. Download Was this page useful? Yes no ARM Cortex-M0 and Cortex-M3 microcontroller IC from NXP and Silicon Lab (Energy Micro) Die from STM32F100C4T6B IC.24 MHz ARM Cortex-M3 microcontroller with 16 KB flash memory, 4 KB of RAM. Manufactured by STMicroelectronics. ARM Cortex-M is a group of 32-bit RISC ARM processor cores licensed by Arm Holdings. These cores are optimized for low-cost and energy efficient microcontrollers that have been introduced into tens of billions of consumer devices. The cores consist of Cortex-M0, Cortex-M0, Cortex-M1, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M23, Cortex-M33, Cortex-M35P, Cortex-M55. [2] [3] [4] [5] [6] Ядра Cortex-M4 / M7 / M33 / M35P / M55 имеют FPU FPU option, and when incorporated into silicon these nuclei are sometimes referred to as Cortex-Mx with FPU or Cortex-MxF, where x is the main number. 2004 Cortex-M3 2007 Cortex-M1 2009 Cortex-M0 2010 Cortex-M4 2012 Cortex-M0' 2014 Cortex-M7 2016 Cortex-M7 2016 Cortex-M0-M4 2014 Cortex-M7 2016 Cortex-M4 M2 3 2016 Cortex-M33 2018 Cortex-M35P 2020 Cortex-M See also: ARM Architecture and ARM Cortex-M Cores are ARM Cores, which are designed to be used in microcontrollers, ASICs, ASSPs, FPGAs, and SoCs. Cortex-M cores are commonly used as dedicated microcontrollers, but are also hidden inside SoC chips as power control controllers, i/O controllers, system controllers, touch screen controllers, smart battery controllers, and sensor controllers. While 8-bit microcontrollers have been very popular in the past, Cortex-M has slowly chipped away at the 8-bit market as prices for low-end Cortex-M chips have moved down. Cortex-M has become a popular replacement for 8-bit chips in applications that benefit from 32-bit math operations, and replacing old outdated ARM cores such as ARM7 and ARM9. Arm Holdings does not manufacture or sell processor devices based on its own designs, but rather licenses the processor architecture to interested parties. Arm offers different licensing terms, different in value and results. For all licensees, Arm provides an integrative hardware description of the ARM kernel, as well as a complete set of software development tools and the right to sell manufactured silicon containing the ARM processor. Manufacturers of integrated Silicon Settings (IDM) devices receive an ARM IP processor as a synthesized RTL (written in Verilog). In this form, they are able to optimize and expand the architectural level. This allows the manufacturer to achieve custom design goals, such as higher clock speed, very low power consumption, extension of a set of instructions (including floating point), size optimization, debugging support, etc. Some of the silicon variants for Cortex-M cores are: SysTick Timer: a 24-bit system timer that extends the functionality of both the processor and the Nested Vectored Interrupt Controller (NVIC). When present, it also provides an additional customizable priority for SysTick to interrupt. Although the SysTick timer is optional, it is very rare to find a Cortex-M microcontroller without it. If the Cortex-M33 microcontroller has a security extension option, it has two SysTicks, one secure and one not-safe. Bit-Band: Maps complete memory for one bit in the bit-range region. For example, writing a pseudonymous word will set or clean the corresponding bit in a bit. This allows each individual bat in region that will be directly available at a contactable address. In particular, individual bits can be installed, cleaned, or disconnected from C/C without following a sequence of instructions for reading and changing. Although the bit range is optional, it is less common to find a Cortex-M3 microcontroller and a Cortex-M4 without it. Some cortex-M0 and Cortex-M0 microcontrollers have a bit range. Memory Protection Group (MPU): Provides support to protect memory regions by enforcing privilege and access rules. It supports up to eight different regions, each of which can be divided into eight other subregies of regions of equal size. Tightly connected memory (TCM): Low-delayed RAM, which is used to store critical procedures, data, stacks. In addition to the cache, it is usually the fastest RAM in the microcontroller. ARM Cortex-M optional components ARM Core CortexM0[2] CortexM0+[3] CortexM1[4] CortexM3[5] CortexM4[6] CortexM7[7] CortexM23[8] CortexM33[12] CortexM35P SysTick 24-bit Timer Optional(0,1) Optional(0,1) Optional(0,1) Yes(1) Yes(1) Yes(1) Optional(0,1,2) Yes(1,2) Yes(1,2) Single-cycle I/O port No Optional No No No No Optional No No Bit-Band memory No[13] No[13] No* Optional Optional Optional No No No Memory ProtectionUnit (MPU) No Optional(0,8) No Optional(0,8) Optional(0,8) Optional(0,8,16) Optional(0,4,8,12,16) Optional(0,4,8,12,16) Optional* Security AttributionUnit (SAU) andStack Limits No No No No No No Optional(0,4,8) Optional(0,4,8) Optional* Instruction TCM No No Optional No No Optional No No No Data TCM No No Optional No No Optional No No No Instruction Cache No[14] No[14] No[14] No[14] No[14] Optional No No Optional Data Cache No[14] No[14] No[14] No[14] No[14] Optional No No No Vector Table OffsetRegister (VTOR) No optional (0.1) Optional (0.1) Optional (0.1) Optional (0.1.2) Yes (1.2) Yes (1.2) Note: Most Cortex-M3 and M4 chips have bit range and MPU. The bit-band option can be added to the M0/M0 with the Cortex-M system design kit. Note: The software should check the presence of the feature before trying to use it. Note: Limited public information is available for Cortex-M35P until a technical reference guide is issued. Additional silicon variants: Data endion: Little-Andean or large Endian. Unlike outdated ARM cores, Cortex-M is permanently fixed in silicon as one of these variants. Interruptions: 1 to 32 (M0/M0/M1), 1 to 240 (M3/M4/M7/M23), 1 to 480 (M33/M35P). Wake-up break controller: Not to. Shift Register: Not necessary. (not available for M0). Instructions get width: 16-bit only, or mostly 32-bit. User/privilege: Not necessarily. Reset all registers: Not to. Port I/O of one cycle: Not necessary. (M0z/M23). Debugging Access Port (DAP): No, SWD, JTAG and SWD. (optional for all Cortex-M cores) Stopping Debugging Support: Extras. Number of sentry comparators: 0 to 2 2 от 0 до 4 (M3/M4/M7/M23/M33/M35P). Количество компараторов точки разрыва: от 0 до 4 (M0/M0/M1/M23), от 0 до 8 (M3/M4/M7/M33/M35P). Наборы инструкций Смотрите также: Архитектура ARM - Набор инструкций Cortex-M0 / M0 / M1 реализует архитектуру ARMv6-M, а Cortex-M3 реализует архитектуру ARMv7-M, архитектура ARMv7E-M, архитектура Cortex-M23 / M33 / M35P реализует архитектуру ARMv8-M, а Cortex-M55 реализует архитектуру ARMv8.1-M. Архитектуры являются двоичной инструкцией вверх, совместимой с ARMv6-M до ARMv7-M и ARMv7E-M. Двоичные инструкции, доступные для Cortex-M0 / Cortex-M0 / Cortex-M1, могут выполняться без изменений на Cortex-M3 / Cortex-M4 / Cortex-M7. Двоичные инструкции, доступные для Cortex-M3, могут выполняться без изменений на Cortex-M4 / Cortex-M7 / Cortex-M33 / Cortex-M35P. [9] В архитектурах Cortex-M поддерживаются только наборы инструкций Thumb-1 и Thumb-2; устаревший 32-битный набор инструкций ARM не поддерживается. Все ядра Cortex-M реализуют общий подмножество инструкций, которое состоит из большинства thumb-1, некоторых Thumb-2, включая 32-битный результат.