Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
en:xboot:readme [2012/01/09 03:12]
alex [2.4 Notes for Main Application]
en:xboot:readme [2012/03/07 04:22] (current)
alex [1.1 Compatibility List]
Line 13: Line 13:
 Currently, XBoot should work on any XMEGA processor and any ATMEGA with sufficient memory (4K boot NRWW block). ​ The following list of processors are currently supported. ​ An asterisk denotes the MCU has been tested and confirmed XBoot compatible. Currently, XBoot should work on any XMEGA processor and any ATMEGA with sufficient memory (4K boot NRWW block). ​ The following list of processors are currently supported. ​ An asterisk denotes the MCU has been tested and confirmed XBoot compatible.
  
-  * XMEGA+  * XMEGA 
     * atxmega16a4 *     * atxmega16a4 *
     * atxmega32a4 *     * atxmega32a4 *
Line 20: Line 20:
     * atxmega64a4     * atxmega64a4
     * atxmega128a1 *     * atxmega128a1 *
-    * atxmega128a3+    * atxmega128a3 ​*
     * atxmega128a4     * atxmega128a4
     * atxmega192a1     * atxmega192a1
Line 36: Line 36:
     * atxmega256d3     * atxmega256d3
     * atxmega16a4u     * atxmega16a4u
-    * atxmega32a4u+    * atxmega32a4u ​*
     * atxmega64a3u     * atxmega64a3u
     * atxmega64a4u     * atxmega64a4u
Line 49: Line 49:
     * atxmega128b3     * atxmega128b3
   * ATMEGA   * ATMEGA
 +    * atmega324
 +    * atmega324pa
 +    * atmega325
 +    * atmega3250
     * atmega328p *     * atmega328p *
 +    * atmega329
 +    * atmega3290
 +    * atmega64
 +    * atmega640
 +    * atmega644
 +    * atmega644pa
 +    * atmega645
 +    * atmega6450
 +    * atmega649
 +    * atmega649p
 +    * atmega6490
 +    * atmega128
 +    * atmega1280
 +    * atmega1281
     * atmega1284p *     * atmega1284p *
 +    * atmega2560
 +    * atmega2561
  
 ===== - Using XBoot ===== ===== - Using XBoot =====
Line 60: Line 80:
 ==== - Build XBoot and Program to Chip ==== ==== - Build XBoot and Program to Chip ====
  
-To build XBoot, select a .conf.mk file from the conf directory and make sure the settings are appropriate for your chip, programmer, and configuration. ​ Then type "make [file].conf.mk"​. ​ This will copy [file].conf.mk to config.mk, generate config.h, compile the whole package, and generate xboot.hex, which can be downloaded with any programming cable capable of programming AVR chips. ​ If you have and XMEGA and want to save some time and just program the boot section, type "make xboot-boot.hex"​ and then write the new file xboot-boot.hex to the boot section directly with avrdude. ​ The makefile includes built-in support for avrdude, so all you need to do is modify the avrdude parameters in the .conf.mk file for the programmer you have and type "make program"​.  ​+To build XBoot, select a .conf.mk file from the conf directory and make sure the settings are appropriate for your chip, programmer, and configuration. ​ Then type "make [file].conf.mk"​. ​ This will copy [file].conf.mk to config.mk, generate config.h, compile the whole package, and generate xboot.hex, which can be downloaded with any programming cable capable of programming AVR chips. ​ If you have an XMEGA and want to save some time and just program the boot section, type "make xboot-boot.hex"​ and then write the new file xboot-boot.hex to the boot section directly with avrdude. ​ The makefile includes built-in support for avrdude, so all you need to do is modify the avrdude parameters in the .conf.mk file for the programmer you have and type "make program"​.  ​
  
 Note that after typing "make [file].conf.mk",​ the settings from [file].conf.mk will remain active until either a new .conf.mk file is selected or "make clean" is run.  ​ Note that after typing "make [file].conf.mk",​ the settings from [file].conf.mk will remain active until either a new .conf.mk file is selected or "make clean" is run.  ​
Line 102: Line 122:
  
 In many cases, this allows you to use the AVRDude program command without having to manually reset the AVR.  Alternatively,​ the API call ''​xboot_reset()''​ will have the same effect.  ​ In many cases, this allows you to use the AVRDude program command without having to manually reset the AVR.  Alternatively,​ the API call ''​xboot_reset()''​ will have the same effect.  ​
 +
 +=== - Combine hex files ===
 +
 +To streamline programming multiple chips for a production run, the tool ''​srec_cat''​ can be used to combine the hex files. ​ Use the command as follows:
 +
 +<​code>​
 +srec_cat xboot.hex -intel main.hex -intel -o mergedfile.hex -intel
 +</​code>​
 +
 +This will concatenate the two hex files together with the proper offsets. ​ Please make sure to use xboot.hex and not xboot-boot.hex to ensure tha the correct offset is used (xboot.hex is relative to address 0 while xboot-boot.hex is relative to the start of the boot section). ​ Note that the combined hex file cannot be programmed with xboot; it is intended to be written with an ISP programmer so both xboot and the application are written in one step.  ​
  
 ===== - Configuring XBoot ===== ===== - Configuring XBoot =====
  
-XBoot is designed to be reconfigured to suit specific needs. ​ Out of the box, all of the standard features are turned on.  Turning off features and reassigning pins is easy, just pick a .conf.mk file in the .conf folder, make a copy of it, and edit the appropriate parameters. ​ Then build xboot with your parameters by running ​"make [file].conf.mk".  ​+XBoot is designed to be reconfigured to suit specific needs. ​ Out of the box, all of the standard features are turned on.  Turning off features and reassigning pins is easy, just pick a .conf.mk file in the .conf folder, make a copy of it, and edit the appropriate parameters. ​ Then build xboot with your parameters by running ​''​make [file].conf.mk''​.  ​
  
 Recommended configuration:​ Recommended configuration:​
Line 216: Line 246:
   * ''​UART_U2X''​ turns on the double-rate BRG in ATMEGA parts   * ''​UART_U2X''​ turns on the double-rate BRG in ATMEGA parts
     * Note: this only applies to ATMEGA devices     * Note: this only applies to ATMEGA devices
 +  * ''​UART_RX_PUEN''​ enables a pull-up on the UART RX pin
  
 === - USE_UART_EN_PIN === === - USE_UART_EN_PIN ===