Section _ Understanding and building a programmer and programming micros
Review and analysis of the ARM series microcontroller programmer (how it works and applications)
Researcher and author: Dr. ( Afshin Rashid)
Note: An ARM microcontroller programmer is hardware that is used to transfer information (sometimes programs or data) from a computer to ARM microcontrollers or memories.
Various companies manufacture microcontrollers based on ARM processors, such as: Atmel, Philips, Samsung, St-micro, Motorola, and with the widespread use of ARM processors and their use in a variety of industrial, educational, medical, and other devices, most interested people are migrating to the ARM processor. We will need a type of programmer for almost every family of microcontrollers.
Programmer compilers and ARM microcontrollers
IAR : Ability to program ARM microcontrollers in C, C++, and assembly languages, ability to simulate written programs, support for all ARM microcontrollers, intermediate learning resources and professional environment, support for SPY-C, which has many features, high execution speed and full compatibility with ANSI C, few library functions, no security bugs.
Winarm : Programming capabilities in C and C++ languages, no program emulation, only ARM7 support, many educational resources and examples, open source and of course free, high library functions, this software has not been updated for 3 years.
Keil : Programming in C, C++, and assembly languages, ability to simulate written programs, support for all ARM microcontrollers, user-friendliness of the program, and average educational resources.
Other compilers : Cross works for ARM, Flowcode ARM, ARM ADS, Keil and IAR compilers are almost two more popular.
Currently, many developers offer 32-bit microcontrollers based on ARM Cortex microcontrollers. These chips support both low-level and high-level programming languages. However, some of these older microcontrollers have problems with high-level programming languages due to their limited design.
The most famous ARM processor core is ARM7. It is one of the most common processing cores available. After ARM7, there are ARM9, ARM10, and ARM11, all of which use the HARVARD architecture.
Cortex-M0 : This processor supports the ARMv6-M architecture. It has a 3-stage pipeline based on the Harvard architecture and can support Thumb-2.
Cortex -M1 : This processor supports the ARMv6-M architecture. It has a 3-stage pipeline and is based on the Harvard architecture.
Cortex-M3 : This processor supports the ARMv7-M architecture. It has a 3-stage pipeline based on the Harvard architecture. It has MPU and hardware division and jump prediction capabilities.
Cortex-A5/Cortex-A8/Cortex-A9 : This processor supports the ARMv7-A architecture. It has a 13-stage pipeline and is based on the Harvard architecture. It has an MPU and AXI bus, and has L1 and L2 caches.
Cortex-R4/Cortex-R4F : This processor supports the ARMv7-R architecture. It has an 8-stage pipeline and is based on the Harvard architecture. It has an MPU and an AXI bus. It has L1 and L2 caches and hardware partitioning.
Researcher and author: Dr. ( Afshin Rashid)
Specialized PhD in Nano-Microelectronics








