Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
12627 Discussions

confusion about the concept of a programmer for microcontrollers

Honored Contributor II

Hello ,all. First, I apologize for I may place the question at the wrong place, but I'm really confused about the concept of a programmer for microcontrollers. Hoping someone can clarify. 

When I use an Arduino, I can use another Arduino to program it via the SPI pins. I understand this to mean that the SPI pins behave as programming pins using a certain programming protocol when certain conditions that put the microcontroller into programming mode are met. So, the programmer is nothing more than hardware that knows how to speak the programming protocol. 

When I read about ARM processors, often I read that I need a Segger JLink. Otherwise I cannot program it. Development kits often have a Segger chip on the board. So, this is a programmer for ARM chips. If so, why can't an Arduino, or some other general purpose hardware, also speak the programming protocol for ARM? 

Also, what is so special about programmers that it has to be hardware and cannot just be software as long as the microcontroller pins can be hooked up properly and the software can control those pins? If this really is the case, why are Segger products so expensive? What is their secret sauce that seems to give them some sort of monopoly? 

If it's important to this discussion, the specific microcontroller I'm thinking about is the nRF51822 with an ARM CortexM0MCU.  

The following are the description and features of the nRF51822 quoted fromhttp:// your refernece. 


Then RF51822 uses the 32-bit ARM Cortex M0MCU, together with extensive flash availability, 256 kB in total,with 128 kB available for application development. Code density and execution speed are considerably greater than for 8/16-bit platforms. The Programmable Peripheral Interconnect(PPI)system provides a 16-channel bus for direct and autonomous system peripheral communication without CPU intervention. This brings predictable latency times for peripheral to peripheral interaction and power saving benefits associated with leaving the CPU idle. The device has 2 global power modes ON/OFF,but all system blocks and peripheral shave individual power management control which allows for an automatic switching RUN/IDLE for system blocks based only on those required/notrequired to achieve particular tasks.The new radio forms the basis of the nRF51822’s performance.The radio supports Bluetooth Low Energy and is on air compatible with the nRF24L-series products from Nordic Semiconductor. Output power is now scalable from amaximum of+4dBm down to-20dB min 4dB steps. Sensitivity is increased at every level and offers sensitivity ranges(dependent on data rate)from-96 to-85dBm,with-92.5 dBm for Bluetooth low energy. 

key features 

•Multi-protocol 2.4G Hzradio 

• 32-bit ARMCortexM0 processor 

• 256kB flash/16kBRAM 

• Software stacks available as downloads 

• Pin compatible with other nRF51xxxseries devices 

• Application development independent from protocolstack 

• Fully on-air compatible with nRF24L-series 

• Programmable output power from+4dBmto-20dBm 



You can give your comments to answer my question.Thank you. 

• RAM mapped FIFOs using EasyDMA 

• Dynamic onair pay load length up to256Bytes 

• Flexible and configurable 31pin GPIO 

• Programmable Peripheral Interface–PPI 

• Simple ON/OFF global power modes 

• Full set of digital interfaces including PI/2-wire/UART 

• 10-bitADC• 128-bitAESECB/CCM/AARco-processor 

• Quadraturede modulator 

• Low cost external crystal 16MHz±40ppm 

• Low power 16MHz crystal and R Coscillators 

• Ultra low-power 32kHz crystal and R Coscillators 

• Wide supply voltage range(1.8V to 3.6V) 

• On-chip DC/DC buck converter 

• Individual power management for all peripherals 

• Package options: 48-pin6x6QFN 






0 Kudos
0 Replies