Pages: 1 [2]   Go Down
Author Topic: Bootloaing AVR chip  (Read 1274 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Sr. Member
****
Karma: 2
Posts: 338
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ah..Just forget about using internal osciallator as it is not that accurate too from what I heard. Just stick to 16MHz and burn arduino UNO bootloader or optibootloader.

Anyway, any difference between optiboot and UNO bootloader ?
Logged

Global Moderator
Boston area, metrowest
Offline Offline
Brattain Member
*****
Karma: 543
Posts: 27348
Author of "Arduino for Teens". Available for Design & Build services. Now with Unlimited Eagle board sizes!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I can't answer that, I don't really know.
Perhaps a little smaller with shorter startup delay?
Logged

Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

Offline Offline
Sr. Member
****
Karma: 2
Posts: 338
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Anyway, thanks for your great help in providing info smiley
Logged

SF Bay Area (USA)
Online Online
Tesla Member
***
Karma: 135
Posts: 6782
Strongly opinionated, but not official!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The Uno bootloader is a slightly older version of optiboot.  There shouldn't be any differences relevant to an ATmega328, unless you're compiling from the source code and making changes to the options.
Logged

Offline Offline
Sr. Member
****
Karma: 2
Posts: 338
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Can you elaborate more on that ?

Thank you smiley
Logged

SF Bay Area (USA)
Online Online
Tesla Member
***
Karma: 135
Posts: 6782
Strongly opinionated, but not official!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The source code for optiboot is at http://code.google.com/p/optiboot
There was a "big sync-up" back in October of 2011 (prior to 1.0), so that that code and the optiboot included in the arduino distribution were identical.  This was Optiboot version 4.4.   Since then there have been a number of change that have been made only in the optiboot project, because they have not resulted in any change in the behavior (or code) of optiboot on any of the official arduino platforms.  They MIGHT be relevant if you were building some custom platform; for example one of the changes changed the way that the uart bit rate divisor was calculated, especially for lower bitrates.
The changes are recorded by code.google.com, and mostly also in the source code itself:
Code:
/**********************************************************/
/* Edit History:                                          */
/*                                                        */
/* Mar 2012                                               */
/* 4.5 WestfW: add infrastructure for non-zero UARTS.     */
/* 4.5 WestfW: fix SIGNATURE_2 for m644 (bad in avr-libc) */
/* Jan 2012:                                              */
/* 4.5 WestfW: fix NRWW value for m1284.                  */
/* 4.4 WestfW: use attribute OS_main instead of naked for */
/*             main().  This allows optimizations that we */
/*             count on, which are prohibited in naked    */
/*             functions due to PR42240.  (keeps us less  */
/*             than 512 bytes when compiler is gcc4.5     */
/*             (code from 4.3.2 remains the same.)        */
/* 4.4 WestfW and Maniacbug:  Add m1284 support.  This    */
/*             does not change the 328 binary, so the     */
/*             version number didn't change either. (?)   */
/* June 2011:                                             */
/* 4.4 WestfW: remove automatic soft_uart detect (didn't  */
/*             know what it was doing or why.)  Added a   */
/*             check of the calculated BRG value instead. */
/*             Version stays 4.4; existing binaries are   */
/*             not changed.                               */
/* 4.4 WestfW: add initialization of address to keep      */
/*             the compiler happy.  Change SC'ed targets. */
/*             Return the SW version via READ PARAM       */
/* 4.3 WestfW: catch framing errors in getch(), so that   */
/*             AVRISP works without HW kludges.           */
Logged

Pages: 1 [2]   Go Up
Jump to: