Build Your Own Clone Message Board

It is currently Mon Apr 22, 2019 7:54 pm

All times are UTC - 6 hours

Post new topic Reply to topic  [ 2 posts ] 
Author Message
PostPosted: Thu Dec 15, 2016 3:42 am 

Joined: Mon Oct 24, 2016 3:54 am
Posts: 6
I'm 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 Cortex M0.
nRF51822 datasheet :P :P

PostPosted: Thu Dec 15, 2016 1:37 pm 
Site Admin
User avatar

Joined: Sun Jan 22, 2006 1:39 pm
Posts: 4110
Location: Moses Lake, WA
The device you are looking at isn't really a microcontroller per se. Even though it's a single chip, it's really more of an embedded module...much like when you use an Arduino bluetooth device. I have a programmer that I use. It's a small piece of hardware that connects to my computer via USB. I think it cost about $20. It's capable of programming a variety of brands and thousands of different models. But it can only program the actual MCU. When you have a module, like with Arduino, there is the actual MCU. If you look closely, there's usually a PIC or Amtel MCU and then usually several other peripherals connected to it, including the programmer. Since they've interfaced with the SPI pins of the MCU to give it "in circuit programming", they've essentially made the programming proprietary. I would assume that since the device you want to use is an embedded module in a single chip, you would need to use their proprietary programmer.

*patience is a virtue*

Please do not PM me. email is prefered.

Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 2 posts ] 

All times are UTC - 6 hours

Who is online

Users browsing this forum: No registered users and 1 guest

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group