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
Next revision Both sides next revision
en:xboot:readme [2011/12/20 06:05]
alex [3.5 Bootloader communication]
en:xboot:readme [2012/01/09 03:12]
alex [2.4 Notes for Main Application]
Line 81: Line 81:
  
 Here are a few tips for your main application that will make using XBoot a much more pleasant experience. Here are a few tips for your main application that will make using XBoot a much more pleasant experience.
- 
-=== - Program UART Bits Properly === 
- 
-If you select the ''​USE_UART''​ option, XBoot will program the UART.  If your program uses the same UART as XBoot, you should not assume any of the UART registers are blank! ​ Manually force all bits to the desired state. ​ In particular, the 2x bit is often left out of UART configuration routines, but is set by XBoot. 
  
 === - Catch the "Enter Bootloader"​ command === === - Catch the "Enter Bootloader"​ command ===
Line 105: Line 101:
 </​code>​ </​code>​
  
-In many cases, this allows you to use the AVRDude program command without having to manually reset the AVR.  Alternatively, ​if the API is used, calling ​''​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.  ​
  
 ===== - Configuring XBoot ===== ===== - Configuring XBoot =====
Line 329: Line 325:
  
 Erase each page before writing. ​ This allows the device to be reprogrammed without a complete erase sequence. Erase each page before writing. ​ This allows the device to be reprogrammed without a complete erase sequence.
 +
 +=== - ENABLE_CRC_SUPPORT ===
 +
 +Enables commands for computing the CRC of various sections of Flash memory.  ​
  
 ==== - API Support ==== ==== - API Support ====
Line 359: Line 359:
   * ''​xboot_app_temp_erase''​   * ''​xboot_app_temp_erase''​
   * ''​xboot_app_temp_write_page''​   * ''​xboot_app_temp_write_page''​
 +
 +==== - Code Protection ====
 +
 +The code protection features built into xboot keep your code safe from reverse engineering. ​ Protected areas will read the same as unprogrammed flash or EEPROM (0xff).  ​
 +
 +=== - ENABLE_CODE_PROTECTION ===
 +
 +Enable basic code protection. ​ Code protection prevents reading of the flash memory via xboot'​s interface. ​ Code protection is temporarily disabled by an erase command, allowing verification of newly written firmware. ​ Code protection does not disable CRC commands.
 +
 +=== - ENABLE_EEPROM_PROTECTION ===
 +
 +Enable EEPROM protection. ​ EEPROM protection prevents reading of the EEPROM memory via xboot'​s interface. ​ Like code protection, EEPROM protection is temporarily disabled by an erase command, allowing verification of newly written firmware.  ​
 +
 +=== - ENABLE_BOOTLOADER_PROTECTION ===
 +
 +Enable bootloader protection. ​ Bootloader protection prevents reading of the boot block via xboot'​s interface. ​ Unlike code protection, bootloader protection is not disabled by an erase command.  ​
  
 ===== - XBoot API ===== ===== - XBoot API =====