1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
== 1.05 - 2013-2-8 ==
firmware:
o Revert all timing aspects to be like 1.02 - the most reliable version ever as judged by digistump
this means this is a 5 sec boot time release
o The only meaningful difference between using this and version 1.02 is 1.02 has 6010 bytes of
programmable space and 1.05 has 6076 bytes. This release also has the improved idlePolls mechanism
which might improve reliability in some cases
o I'm not totally sure this version is as reliable as 1.02. Maybe it's better? Maybe it's worse?
== 1.04 - 2012-10-5 ==
firmware:
o Further reduction in code size - not enough to gain another page yet
o Reduced default configuration's timeout from 5 seconds to 2.5 seconds - seems to work on Mac, Windows 7, and Linux
o Timeout mechanism now more robust - any usb requests reset timeout
o Faster Uploads - write sleeps reduced from 8ms to 6ms, for a roughly 25% speed boost
o You can poll info requests once every half second or so to keep bootloader captive, so it doesn't launch user program
-- this is useful for programs which are likely to do strange things to the USB data lines - less freaking out usb
-- root hubs in specialist applications where that can be predicted
o Added warning when bootloader configured with idle timeout below duration of erase request (the longest running request)
o Option to restore OSCCAL to it's factory setting - run your programs at 16.0mhz instead of 16.5mhz
o Option to set CLKPR prescale selection - You can configure micronucleus to run on devices with clkdiv8 fuse set. By default it returns to clkdiv8 after (2mhz real speed), but you can optionally specify a different division, to have 8mhz, 4mhz, or a much lower speed.
upgrade:
o Micronucleus now includes a viral upgrade tool. Upload these hex files via an older version of micronucleus or some other attiny85 bootloader like fast tiny & mega uart bootloader, and when the program runs it'll brick the chip, patch the bootloader with a new version, then patch it's own interrupt vector table to point to the bootloader. After letting it run for at least five seconds, power cycle the device and it should boot right in to the new bootloader!
o I (bluebie) make no guarentees that any of micronucleus wont brick your chips. Be careful if you don't have access to a fuse resetter or HVSP programmer.
commandline:
o Added percentage progress logging
o New --dump-progress option outputs computer readable JSON lines, for driving GUIs, including raw progress bar data
o Can pass "-" as filename to upload via stdin, for GUI apps
o Exit code is more reliably not zero when an error occurs, and zero when upload succeeds flawlessly
o Detect and refuse to upload to unknown newer versions of firmware
o Adjusted some delays - uploads now take about a quarter to half of a second less time
o `make install` works and installs to /usr/local/bin (anyone know how to make this smarter?)
- notice: I think there may be a bug uploading raw binary files, but intel hex files seem to work fine
commandline's c library:
o progress argument to eraseFlash and writeFlash functions - a function to call frequently with progress data
-- eraseFlash: library currently simulates progress, by providing the erase_sleep progress in steps of 1%
-- writeFlash: provides real progress, at about one update every write_sleep milliseconds (usually about 8-10ms)
== 1.03 - released 2012-9-30 ==
o Reduced bootloader size by one page, expanding memory for user program by 64 bytes
o Adjusted tinyvector table to correct size (four bytes) - giving user program two more bytes
o Changed upload protocol in an incompatible way to enable smaller bootloaders in the future
o Now we have a command line tool (which detects 1.02 and works around upload protocol differences)
o Now requires all pages be written
o 'Finish' command repurposed as 'run' command for bootloader configs where running user program maybe optional
== 1.02 - released 2012-9-30 ==
o Most recent build before next release where some subtle protocol changes took place
|