summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBluebie <a@creativepony.com>2012-10-05 08:36:06 +1000
committerBluebie <a@creativepony.com>2012-10-05 08:36:06 +1000
commit2c5da5576872ffe24a0cb237fb87926da060b961 (patch)
treede9a963dc81004fa8f28639fec2cc9dd2b8fb5db
parent66b662fc71061e874bef879820112b397f04e746 (diff)
downloadmicronucleus-2c5da5576872ffe24a0cb237fb87926da060b961.tar.gz
micronucleus-2c5da5576872ffe24a0cb237fb87926da060b961.tar.bz2
micronucleus-2c5da5576872ffe24a0cb237fb87926da060b961.zip
Upgrade: add warning to readme
-rw-r--r--upgrade/readme.txt2
1 files changed, 2 insertions, 0 deletions
diff --git a/upgrade/readme.txt b/upgrade/readme.txt
index 0e5bd81..49b276a 100644
--- a/upgrade/readme.txt
+++ b/upgrade/readme.txt
@@ -1,6 +1,8 @@
Micronucleus Upgrade
====================
+**WARNING**: Upgrade requires more testing. Don't use it on chips you can't recover by other means. Consider it experimental for now.
+
Upgrade is a virus-like payload you can upload via micronucleus (or other bootloaders) to install a new version of micronucleus on the target chip. The upgrade program works by copying the contents of a bootloader hex file in to a progmem array, then bricking the device so it doesn't enter the bootloader on reset but instead runs the upgrader program exclusively. Next it erases and rewrites the bootloader in place at the same address the hex file specifies (BOOTLOADER_ADDRESS in the case of micronucleus). Once the bootloader has been rewritten, upgrade rewrites it's own interrupt vector table to point every interrupt including reset straight at the newly uploaded bootloader's interrupt vector table at whichever address it was installed.
The program then emits a beep if a piezo speaker is connected between PB0 and PB1. If you have no speaker, use an LED with positive on PB0 (requires resistor). Premade upgraders are included in releases/ for micronucleus builds. Just upload one in the usual way and wait for the beep. Once you hear the beep, power down the device and turn it back on - it should launch your new bootloader!