- * Bootloaders reporting a device release revision number of 1.00 or greater are bootloader API enabled. From the application
- * the API support of the bootloader can be detected by reading the FLASH memory bytes located at address \c BOOTLOADER_MAGIC_SIGNATURE_START
- * and comparing them to the value \c BOOTLOADER_MAGIC_SIGNATURE. The class of bootloader can be determined by reading the
- * FLASH memory bytes located at address \c BOOTLOADER_CLASS_SIGNATURE_START and comparing them to the value \c BOOTLOADER_MASS_STORAGE_SIGNATURE.
- * The start address of the bootloader can be retrieved by reading the bytes of FLASH memory starting from address \c BOOTLOADER_ADDRESS_START.
+ * \section Sec_KnownIssues Known Issues:
+ *
+ * \par In some cases, the application is not fully loaded into the device.
+ * Write-caching on some operating systems may interfere with the normal
+ * operation of the bootloader. Write caching should be disabled when using the
+ * Mass Storage bootloader, or the filesystem synced via an appropriate command
+ * (such as the OS's normal disk ejection command) before disconnecting the device.
+ *
+ * \par On Linux machines, written data may be corrupted.
+ * Linux systems appear to attempt a full filesystem re-write when the virtual
+ * firmware file of the bootloader is written to normally, causing corrupt
+ * device programming. On Linux systems, new firmware should be copied over
+ * in-place via the \c dd command on the virtual file to ensure the filesystem
+ * is left intact.
+ *
+ * \par After loading an application, it is not run automatically on startup.
+ * Some USB AVR boards ship with the BOOTRST fuse set, causing the bootloader
+ * to run automatically when the device is reset. In most cases, the BOOTRST
+ * fuse should be disabled and the HWBE fuse used instead to run the bootloader
+ * when needed.