Programming and implementation-arduino

Discussion in 'Embedded Systems and Microcontrollers' started by rock94, Jun 10, 2013.

  1. rock94

    Thread Starter New Member

    Apr 12, 2013
    7
    0
    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.
     
  2. t06afre

    AAC Fanatic!

    May 11, 2009
    5,939
    1,222
    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
     
  3. tshuck

    Well-Known Member

    Oct 18, 2012
    3,531
    675
    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...
     
  4. rock94

    Thread Starter New Member

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

    Moderator

    Oct 2, 2009
    12,420
    3,355
    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.
     
  6. tshuck

    Well-Known Member

    Oct 18, 2012
    3,531
    675
    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...
     
  7. djsfantasi

    AAC Fanatic!

    Apr 11, 2010
    2,794
    829
    The Arduino processor IDE process/program can be used to program the Atmel microprocessor AT tiny 45 or AT tiny 85 microprocessors.u
     
Loading...