ARM Cortex-M0 : Introduction

Well we designers come to a point when we want to go to the next level of embedded designing and we start to think about ARM based microcontrollers. So what is ARM ?

Actually ARM is a processor and the processor core is  sold by the company also named ARM to different vendors like STM , Texas Instruments , Atmel and so on . So these vendors do what ?
well instead of re designing the processor these compnaies make microcontrollers around the ARM processor . & we developers choose microcontroller from these vendors and start using it.

So why would all the vendors choose ARM ?

Because ARM ( advanced RISC machine) is a family of reduced instruction set computing architectures and requires less number of transistors than typical complex instructions set computing architecture s (CISC) . This approach reduces cost , power consumption and heat . for example ARM cortex M0 has 12,000 logic gates & even a 32 bit multiplication can be completed in 1 cycle. some of the important features are below:

Features: 
  • Cortex- M processors are extremely C friendly
  • increased performance and efficiency 
  • Low cost
  • extended battery life
  • floating point 
  • DSP capability 
  • Lower operating frequency means : lower active power & lower EMI

More information on  ARM cortex M processor: 
  • Remember ARM cortex M0 is a processor, Cortex M0 is designed as an ideal C target  
  • Cortex M0 has 56 instructions 
  • user can choose devices with smaller flash memory sizes for the the same application 
  • The ARM Cortex-M1 processor is the first ARM processor designed specifically for implementation in FPGAs. 
  • Cortex M0 processor is a 32 bit RISC (reduced instruction set computing) processor with Von neuman Architecture 
  • clock frequency for the cortex M0 processor can be reduced significantly to achieve lower power consumption 
  • Cortex M0 processor has implemented the ARMv6-m architecture 

Some Abbreviations:  

ASSP: Application Specific Standard products
SOC: System on chip
ARM:  originally Acorn RISC Machine , later Advanced RISC Machine
NVIC: Nested Vector Interrupt Controller
MDK: Microcontroller development Kit
AMBA: Advanced Microcontroller BUS architecture
AHB: Advanced High performane BUS
APB: Advanced peripheral Bus


Instruction sets : 

ARM cortex M processors supports 2 types of instructions sets

  • 32 bit instruction set ----------- called ARM instruction set 
  • 16 bit instruction set ----------- called Thumb instruction set 
for example ARM7TDMI supports both types of instruction sets 

Most instructions generated by the C compiler use the 16 bit instructions & 32 bit instructions are used when the 16-bit version cannot carry out the required operations. 



Interrupt types: 

Maskable Interrupt: The interrupts which can be ignored by the processor 

NMI(Non maskable interrupt): the interrupts that can not be ignored by the processor



Cortex M0 block diagram: 


Processor Core elements :

  • Register Banks
  • ALU(arithmetic logic unit)
  • Control Logic 


AHB Lite Bus interface: is a on chip bus protocol used in many ARM processor . it is part of the AMBA ( Advanced Microcontroller BUS architecture) specification . it is 32 bits wide .




  • APB means Advanced Peripheral Bus and you can see peripherals are attched with this BUS 
  • AHB Lite supports 32,16,8 bit transfers
Unlike AHB lite APB does not support different sized transfers So APB should be accessed using word sized transfers 


                                           In ARM Word is 32 bits wide 

Categories

Pages

Firmware Engineer

My photo
Works on Firmware, Embedded Linux, Smart Metering, RTOS, IoT backend

Contact Form

Name

Email *

Message *

Copyrighted by Hassin. Powered by Blogger.