Programming and implementation-arduino

Thread Starter

rock94

Joined Apr 12, 2013
7
Can the arduino development board be used to program other non-arduino avr microcontrollers too?I'm buying the Arduino UNO R3 tomorrow.Also there's the leonardo which is newer but it seems to use the surface mounted Atmega32u4.So how do you implement this in the final pcb design.Like, I understand how it works with the usual DIP mcus,you plug it in,program it and then use it in the final circuit.But I don't understand how the surface mounted mcu is programmed and implemented in the circuit(physical implementation). I couldn't find the info I wanted online.Could please someone explain this or provide some relevant links?
Thanks.
 

t06afre

Joined May 11, 2009
5,934
The Arduino use a bootloader concept. In the Arduino case the bootloader is a small preprogrammed software inside the Arduino chip. And this software control the transfer your code to the AVR chip on your board. The Arduino is not a programmer and hence it can not program any other micro. Unless someone has made some kind of software tool and shared it on the net. Who knows ;) I do not use Arduinos so my knowledge in that area is limited
 

tshuck

Joined Oct 18, 2012
3,534
Yes, this can and has been done.


AVR s should be fairly straight forward, and PICs would probably need to have LVP enabled to work directly...
 

Thread Starter

rock94

Joined Apr 12, 2013
7
What about the other thing?How is the surface mounted mcu programmed(plugged into the board or removed)?And how is it implemented?
 

MrChips

Joined Oct 2, 2009
30,708
Almost all (if not all) MCUs today come with a mechanism for programming and debugging using a serial data I/O scheme. When you lay out a PCB for a surface mount mcu, make sure you provide connections to these programming pins. Some systems require only a single pin to do this. Others use two or more pins.

SMD or DIP packages, I still provide access to the programming pins so that you can program and debug the code in-circuit.
 

tshuck

Joined Oct 18, 2012
3,534
The microcontroller has the ability to modify its own program memory.

The bootloader its a small section of program memory that will monitor the programming interface and write received data to the program memory. The bootloader is typically not changed after being implemented. The processor jumps to the bootloader section of memory when certain conditions are met, think interrupts...
 

djsfantasi

Joined Apr 11, 2010
9,156
The Arduino use a bootloader concept. In the Arduino case the bootloader is a small preprogrammed software inside the Arduino chip. And this software control the transfer your code to the AVR chip on your board. The Arduino is not a programmer and hence it can not program any other micro. Unless someone has made some kind of software tool and shared it on the net. Who knows ;) I do not use Arduinos so my knowledge in that area is limited
The Arduino processor IDE process/program can be used to program the Atmel microprocessor AT tiny 45 or AT tiny 85 microprocessors.u
 
Top