Build Your Own Clone Message Board

It is currently Thu Nov 15, 2018 11:03 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 
Offline

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


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

Joined: Sun Jan 22, 2006 1:39 pm
Posts: 3916
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. keith@buildyourownclone.com


Top
 Profile  
 
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