Stephan Baerwolf [Fri, 28 Mar 2014 21:26:12 +0000 (21:26 +0000)]
USBaspLoader v0.97 stable release
- support for ATmega8535
- support for ATmega162
- support for minimal necessary GPIO
- CRC32 support for updates
- improved autoconfiguration
- improved making process (dependency tracking)
- optimized flash usage
- compiles on larger variety of avr-gcc versions
- many more new features
- many more bugfixes
- more tested devices
Because users ofter were confused by the provided hexfiles and
the firmware from tinyUSBboard, precompiled hexfiles are not
further supported.
Please use binaries provided for tinyUSBboard instead:
http://matrixstorm.com/avr/tinyusbboard/
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Tue, 18 Mar 2014 21:37:45 +0000 (22:37 +0100)]
add an info text how to encode free-for-all magic values
Because of pressing interest there will be following free-for-use scheme.
It will always start with 0xf as the 4 most significant bits, and then
can be encoded based of the signature of the AVR, the IO-Port used for USB,
the USB dataline PINs, the external interrupt used for USB, the clock frequency
the BOD voltage and if the watchdog is enabled by fuses.
The magic will be: 0xf??????? in binary 0b1111ZZZZ YYYYYYYY WXXXVUUU TTSSSRRR
--> where the 4 bit of Z correspond to the middle of the 3 byte AVR signature:
SIGNATURE_1 == 0x90 <--> ZZZZ == 0b0000
SIGNATURE_1 == 0x91 <--> ZZZZ == 0b0001
SIGNATURE_1 == 0x92 <--> ZZZZ == 0b0010
SIGNATURE_1 == 0x93 <--> ZZZZ == 0b0011
SIGNATURE_1 == 0x94 <--> ZZZZ == 0b0100
SIGNATURE_1 == 0x95 <--> ZZZZ == 0b0101
SIGNATURE_1 == 0x96 <--> ZZZZ == 0b0110
SIGNATURE_1 == 0x97 <--> ZZZZ == 0b0111
SIGNATURE_1 == 0x98 <--> ZZZZ == 0b1000
SIGNATURE_1 == 0xA6 <--> ZZZZ == 0b1001
SIGNATURE_1 == 0xA7 <--> ZZZZ == 0b1010 *
SIGNATURE_1 == 0xA8 <--> ZZZZ == 0b1011
reserved ZZZZ == 0b1100 *
not free (database magics) ZZZZ == 0b1101 *
not free (database magics) ZZZZ == 0b1110 *
not free (database magics) ZZZZ == 0b1111 *
If the AVRs SIGNATURE_1 is different from the presented 12, this coding scheme is
not applicable for you - please ask for a personal magic in this case.
--> where the 8 bit of Y are the SIGNATURE_2 byte (for example
0b00000111 on ATmega8)
--> where the 1 bit of W is watchdog enabled by fuse: 0=no, 1=yes (WD enabled)
--> where the 3 bit of X are the (external) crystal clockspeed
12MHz external crystal <--> XXX == 0b000
12.8MHz external crystal <--> XXX == 0b001
reserved <--> XXX == 0b010
15MHz external crystal <--> XXX == 0b011
16MHz external crystal <--> XXX == 0b100
16.5MHz external crystal <--> XXX == 0b101
18MHz external crystal <--> XXX == 0b110
20MHz external crystal <--> XXX == 0b111
If your clockspeed is different from the presented 8, this coding scheme is
not applicable for you - please ask for a personal magic in this case.
--> where the 1 bit of V depends on the controllers Vcc:
4.5V (ususally 5V) <--> V == 0
3.3V <--> V == 1
--> where the 3 bit of U define the PORT (USB_CFG_IOPORTNAME) for USB
PORTA <--> UUU == 0b000
PORTB <--> UUU == 0b001
PORTC <--> UUU == 0b010
PORTD <--> UUU == 0b011
PORTE <--> UUU == 0b100
PORTF <--> UUU == 0b101
PORTG <--> UUU == 0b110
PORTH <--> UUU == 0b111
If your PORT is different from the presented 8:
This coding scheme is more an example. UUU=0b000 really means, the first GPIO port
on the specified MCU. (0b001 is the second, 0b010 the third...)
Normally there aren't more then 8 GPIO ports on an AVR - so this coding works.
If there are more then 8, only the first 8 ports can be encoded and otherwise
this coding scheme is not applicable for you - please ask for a personal magic in this case.
--> where the 2 bit of T define the external interrupt used for USBD
INT0 <--> TT == 0b00
INT1 <--> TT == 0b01
INT2 <--> TT == 0b10
INT3 <--> TT == 0b11
If you use a different interrupt, this coding scheme is not applicable
for you - please ask for a personal magic in this case.
--> where the 3 bit of S define the PIN (on the previous encoded port) for USB+
(basically the value of USB_CFG_DPLUS_BIT)
0 <--> SSS == 0b000
1 <--> SSS == 0b001
...
7 <--> SSS == 0b111
--> where the 3 bit of R define the PIN (on the previous encoded port) for USB-
(basically the value of USB_CFG_DMINUS_BIT)
0 <--> RRR == 0b000
1 <--> RRR == 0b001
...
7 <--> RRR == 0b111
WARNING:
Please note, that this 0xf------- magic does not include
any information about the bootloader condition pin (and port)!
This magic just ensures basic protection against different
layouts. (Which only covers essential data)
?Maybe as a heuristic?:
The bootloader condition pin should be the same port as USB,
at the pin before USB_CFG_DMINUS_BIT.
If you want to be very safe, request your own magic...
Examples (USB pinning are tinyUSBboard Rev.3 defaults):
"ATmega8@16MHz powered with 5V and no watchdog fused": 0xf3078317
The same just for ATmega328p: 0xf50f8317
"ATmega1024p @ 20MHz powered with 3V and watchdog fused active": 0xf705fb17
"ATmega2560 @ 12MHz powered with 5V and watchdog fused active": 0xf8010307
***************************************************************************
***************************************************************************
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Fri, 14 Mar 2014 10:55:21 +0000 (11:55 +0100)]
introduce new feature for the updater: UPDATECRC32
In the head of Makefile.inc you now can configure "UPDATECRC32"
to enable the updater to check integrity of the new firmware image.
The CRC32 of polynomial 0xEDB88320 is used. This CRC is the same,
the non-volatile-memory controller of ATxmega series is using.
Enabling this feature will only increase the update by a few
bytes (~180bytes) , but will offer more safety against bogus images.
By default the CRC is NOT used, but it can be enabled to a
fix value or calculated automatically during compile.
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Fri, 14 Mar 2014 00:46:29 +0000 (01:46 +0100)]
add support for ATmega162
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Gary Bell [Thu, 6 Mar 2014 22:29:26 +0000 (17:29 -0500)]
fix typo in Makefile.inc comment
original commit by whiteneon: "Minor revisions"
Signed-off-by: Gary Bell <github@whiteneon.com>
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Mon, 16 Dec 2013 18:22:36 +0000 (19:22 +0100)]
make "BOOTLOADER_ADDITIONALMSDEVICEWAIT" more compiling robust
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Mon, 16 Dec 2013 17:39:03 +0000 (18:39 +0100)]
finish fixing broken build with ATmega88A
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Mon, 16 Dec 2013 12:32:37 +0000 (13:32 +0100)]
fix: broken build with ATmega88A and ATmega168A caused by toolchain
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Mon, 16 Dec 2013 12:26:02 +0000 (13:26 +0100)]
revise configuration selection and fix builds for 12MHz
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Mon, 16 Dec 2013 11:36:54 +0000 (12:36 +0100)]
introduce new feature: BOOTLOADER_ADDITIONALMSDEVICEWAIT
Configure "BOOTLOADER_ADDITIONALMSDEVICEWAIT" to the number of
milliseconds the bootloader should delay its bootup, so
the pullups have time to charge up.
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sat, 9 Nov 2013 11:21:51 +0000 (12:21 +0100)]
BUGfix: wrong configuration selection by incomplete macro
As datasheet for ATmega128 (http://www.atmel.com/Images/doc2467.pdf)
indicates, INT0 is located at PD0 instead of PD2.
So "USB_CFG_INTPORT_BIT" is the same as for ATmega640,
ATmega1280, ATmega1281, ATmega2560 and ATmega2561.
Special thanks to trkien, who indirectly indicated this BUG to me in:
http://forums.obdev.at/viewtopic.php?f=8&t=8691&sid=
020c08aa877e11fdd65d9b1638ac5bd3#p26140
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Thu, 7 Nov 2013 15:30:25 +0000 (16:30 +0100)]
fix: DANGEROUS addressing issue in spminterface.h
Systematic testing issued an error in the definition of
funcaddr___bootloader__do_spm for ATmega644.
Thank to automatic addressverification this error could
be discovered.
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Thu, 7 Nov 2013 15:26:51 +0000 (16:26 +0100)]
fix: build-error on atmega128
Since MCUSR and some other Macros (from boot.h) are marked as
depreciated, gcc will fail to compile.
Solve by deactivating poison-pragma: __AVR_LIBC_DEPRECATED_ENABLE__
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Thu, 12 Sep 2013 17:39:18 +0000 (19:39 +0200)]
BUGfix: Abort timeout when bootLoaderConditionSimple()
When CONFIG_HAVE__BOOTLOADER_ABORTTIMEOUTONACT is enabled, then
timeout must be aborted when entering the bootloader via
bootLoaderConditionSimple().
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Thu, 12 Sep 2013 14:16:26 +0000 (16:16 +0200)]
BUGfix and cleanup Makefiles
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Thu, 12 Sep 2013 13:47:15 +0000 (15:47 +0200)]
put some extra (pre-)configuration into Makefile.inc
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Thu, 12 Sep 2013 13:37:45 +0000 (15:37 +0200)]
BUGfix: enable "CONFIG_HAVE__BOOTLOADER_ALWAYSENTERPROGRAMMODE" not always
The feature "CONFIG_HAVE__BOOTLOADER_ALWAYSENTERPROGRAMMODE" may be dangerous,
since bootloader may never exit ("CONFIG_NO__BOOTLOADER_CAN_EXIT").
So the feature only is enabled, if "CONFIG_NO__BOOTLOADER_CAN_EXIT" is disabled.
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Thu, 12 Sep 2013 13:31:10 +0000 (15:31 +0200)]
fix: rename BOOTLOADER_LOOPCYCLES_TIMEOUT
All config-options need to be calles "CONFIG_*"
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Thu, 12 Sep 2013 13:24:18 +0000 (15:24 +0200)]
introduce new feature: BOOTLOADER_IGNOREPROGBUTTON
"CONFIG_HAVE__BOOTLOADER_IGNOREPROGBUTTON" generates an USBaspLoader
without using the PROGBUTTON.
It can be used to reduce the required PINcount for USBaspLoader on the MCU.
However this feature is very dangerous, so it becomes only enabled, if
"CONFIG_HAVE__BOOTLOADER_ALWAYSENTERPROGRAMMODE" is enabled and
"CONFIG_NO__BOOTLOADER_CAN_EXIT" is disabled, too.
Additionally "BOOTLOADER_LOOPCYCLES_TIMEOUT" must be greater or equal
than 8 (In order to give user enough time to program).
When active, "JUMPER_PORT" and "JUMPER_BIT" are ignored and can be soldered
otherwise.
Default if off. But the Option can be enabled by adding
"-DCONFIG_HAVE__BOOTLOADER_IGNOREPROGBUTTON" to the DEFINES variable of
Makefile.inc
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Wed, 11 Sep 2013 23:03:34 +0000 (01:03 +0200)]
introduce new feature: BOOTLOADER_ABORTTIMEOUTONACT
When defined, the bootloader will abort the timeout when
it sees some activity (bootLoaderConditionSimple() or programming).
After aborting timeout, the bootloader falls back to conventional
exitting.
By default this feature is deactivated.
Activate it via the "DEFINES" varibale within Makefile.inc.
There add: -DCONFIG_HAVE__BOOTLOADER_ABORTTIMEOUTONACT
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Wed, 11 Sep 2013 21:34:33 +0000 (23:34 +0200)]
BUGfix: fix race condition between TIMEOUT and HIDDENEXIT
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Wed, 11 Sep 2013 20:21:37 +0000 (22:21 +0200)]
introduce new feature: BOOTLOADER_ALWAYSENTERPROGRAMMODE
Enabling "BOOTLOADER_ALWAYSENTERPROGRAMMODE" ignores bootLoaderCondition()
(BUT NOT bootLoaderConditionSimple()) and always enter the program-mode.
This is helpful to emulate behaviour of Arduino bootloaders
Use "-DCONFIG_HAVE__BOOTLOADER_ALWAYSENTERPROGRAMMODE" within
DEFINES variable of Makefile.inc to enable this feature.
Otherwise default is off.
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Wed, 11 Sep 2013 19:07:20 +0000 (21:07 +0200)]
introduce new feature: BOOTLOADER_LOOPCYCLES_TIMEOUT
This feature must be explicitly defined (Makefile.inc)
When greater than "0", "BOOTLOADER_LOOPCYCLES_TIMEOUT" defines how
many 16bit loopcycles can be cycled, before bootloader times out
and starts user firmware. Of course "BOOTLOADER_CAN_EXIT" must be
enabled.
Even if this value is too small, bootloader will not exit as
long as bootLoaderConditionSimple() stays true.
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Tue, 10 Sep 2013 20:44:26 +0000 (22:44 +0200)]
BUGfix: "HAVE_BOOTLOADER_HIDDENEXITCOMMAND" depends on "BOOTLOADER_CAN_EXIT"
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Tue, 10 Sep 2013 19:34:44 +0000 (21:34 +0200)]
further trick to optimize code size
This is a very dangerous path to go, but it is worth it.
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Tue, 10 Sep 2013 18:55:21 +0000 (20:55 +0200)]
introduce new feature: BOOTLOADER_HIDDENEXITCOMMAND
With this "BOOTLOADER_HIDDENEXITCOMMAND" feature, sending the RAW-ISP
command "
11111111 xxxxxxxx xxxxxxxx xxxxxxxx" will cause the bootloader
to start the firmware as soon as the programming software disconnects.
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Tue, 10 Sep 2013 16:03:34 +0000 (18:03 +0200)]
WORKfix: Change condition when to evaluate RAMEND
In cases users do not want to wait for a watchdog to time out,
they can ijmp to bootloaders reset-vector.
However they need to clear MCUCSR.
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Tue, 10 Sep 2013 13:49:29 +0000 (15:49 +0200)]
BUGfix: Only clear MCUCSR register when bootLoaderCondition()
If bootLoaderCondition() is false, the users firmware must
be started transparently - so leave the register for it to read!
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Tue, 10 Sep 2013 13:35:11 +0000 (15:35 +0200)]
introduce new feature: BOOTLOADERENTRY_FROMSOFTWARE
An USBaspLoader supporting this feature is able to be called
(and bootLoaderConditioned) from user firmware.
You can check MCUCSR watchdog-flag to check for success.
(If USBaspLoader starts up, all MCUCSR are removed...)
You can use something like this code to switch to the
bootloader:
#define BOOTLOADER_WORDADDRESS (BOOTLOADER_ADDRESS>>1)
wdt_enable(WDTO_15MS);
asm volatile (
"ldi r29 , %[ramendhi] \n\t"
"ldi r28 , %[ramendlo] \n\t"
"ldi r16 , %[boothi] \n\t"
"st Y+ , r16 \n\t"
"ldi r16 , %[bootme] \n\t"
"st Y+ , r16 \n\t"
"ldi r16 , %[bootlo] \n\t"
"st Y+ , r16 \n\t"
"resetloop%=: \n\t"
"rjmp resetloop%= \n\t"
:
: [ramendhi] "M" (((RAMEND - 2) >> 8) & 0xff),
[ramendlo] "M" (((RAMEND - 2) >> 0) & 0xff),
[boothi] "M" (((BOOTLOADER_WORDADDRESS) >>16) & 0xff),
[bootme] "M" (((BOOTLOADER_WORDADDRESS) >> 8) & 0xff),
[bootlo] "M" (((BOOTLOADER_WORDADDRESS) >> 0) & 0xff)
);
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Mon, 26 Aug 2013 18:04:29 +0000 (20:04 +0200)]
cleanup and extend Makefiles
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Mon, 26 Aug 2013 17:46:16 +0000 (19:46 +0200)]
updater: fix flash addressing BUG possibly reading wring data
Fix Updater-bug, when linked to position in flash space
(FLASHADDRESS > 64K - SIZEOF_new_firmware - "a little more")
void* always is 16Bit - for real addresses take FLASADDRESS
into account in order to find upper address bit:
(http://www.mikrocontroller.net/topic/298174#
3186932)
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Mon, 26 Aug 2013 16:53:07 +0000 (18:53 +0200)]
spminterface.h: cleanup some comments about the achievable size
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Mon, 26 Aug 2013 16:44:28 +0000 (18:44 +0200)]
Remove precompiled hexfiles - use demoboard for testing
Because users often are confused by the provide hexfiles and
the firmware from tinyUSBboard, remove the hexfile from further
repositories and therefore put a remark instead
If you want to try out USBaspLoader, use tinyUSBboard:
http://matrixstorm.com/avr/tinyusbboard/
However, for most recent version, you may need to compile your
own firmware.
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Mon, 10 Jun 2013 09:46:34 +0000 (11:46 +0200)]
add support for ATmega8535
Thanks to Jony Smith reporting this missing MCU.
Reported-by: Jony Smith <jony.nambela@gmail.com>
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Mon, 6 May 2013 10:33:22 +0000 (12:33 +0200)]
USBaspLoader v0.96.4 special release
- fix an error-checking issue in spminterface.h
Precompiled bootloader v0.96.4 for atmega8 (Rev.3),
default (Rev.3) schematics clocked with 16 MHz
(not all AVRs are tested, yet! But please report!)
sha1sums are (no change since v0.96.1 for default settings):
d3fd9ccfaff95f5c0001bbb38139ee313341f041 "raw bytecode usbasp"
b09a10d91e46a80ed1052f24a78615780b51130c "raw bytecode update"
c35e94466980d291e85c9be7156bde55e2594c6d "elf firmware usbasp"
40a23c1869e2be3c64cdbbb02912eff837336416 "elf firmware update"
897d1086adc0f1dfd64525034104fc75d74dee68 firmware_usbasploader.hex
59ec7ab84431119d5ac3c137c71f6e52e34bcec8 update_usbasploader.hex
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Mon, 6 May 2013 10:33:22 +0000 (12:33 +0200)]
USBaspLoader v0.96.3 special release
- generalize MACROS in spminterface.h
Precompiled bootloader v0.96.3 for atmega8 (Rev.3),
default (Rev.3) schematics clocked with 16 MHz
(not all AVRs are tested, yet! But please report!)
sha1sums are (no change since v0.96.1 for default settings):
d3fd9ccfaff95f5c0001bbb38139ee313341f041 "raw bytecode usbasp"
b09a10d91e46a80ed1052f24a78615780b51130c "raw bytecode update"
c35e94466980d291e85c9be7156bde55e2594c6d "elf firmware usbasp"
40a23c1869e2be3c64cdbbb02912eff837336416 "elf firmware update"
897d1086adc0f1dfd64525034104fc75d74dee68 firmware_usbasploader.hex
59ec7ab84431119d5ac3c137c71f6e52e34bcec8 update_usbasploader.hex
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Mon, 6 May 2013 10:33:22 +0000 (12:33 +0200)]
USBaspLoader v0.96.2 special fixing release
- fix Readme.txt (again!)
- fix leaveBootloader()
Precompiled bootloader v0.96.2 for atmega8 (Rev.3),
default (Rev.3) schematics clocked with 16 MHz
(not all AVRs are tested, yet! But please report!)
sha1sums are (no change since v0.96.1 for default settings):
d3fd9ccfaff95f5c0001bbb38139ee313341f041 "raw bytecode usbasp"
b09a10d91e46a80ed1052f24a78615780b51130c "raw bytecode update"
c35e94466980d291e85c9be7156bde55e2594c6d "elf firmware usbasp"
40a23c1869e2be3c64cdbbb02912eff837336416 "elf firmware update"
897d1086adc0f1dfd64525034104fc75d74dee68 firmware_usbasploader.hex
59ec7ab84431119d5ac3c137c71f6e52e34bcec8 update_usbasploader.hex
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Mon, 6 May 2013 10:21:45 +0000 (12:21 +0200)]
fix: typos within Readme.txt - further extend the list of files
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Mon, 6 May 2013 10:21:31 +0000 (12:21 +0200)]
fix: WARNING and probably dangerous naked function leaveBootloader()
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sun, 5 May 2013 20:26:24 +0000 (22:26 +0200)]
USBaspLoader v0.96.1 special fixing release
- fix _clearram build error
- new usbdrv API
- fix "bootloader__do_spm" error
- remove Changelog.txt
- fix Readme.txt
- optimize codesize
Precompiled bootloader v0.96.1 for atmega8 (Rev.3),
default (Rev.3) schematics clocked with 16 MHz
(not all AVRs are tested, yet! But please report!)
sha1sums are:
d3fd9ccfaff95f5c0001bbb38139ee313341f041 "raw bytecode usbasp"
b09a10d91e46a80ed1052f24a78615780b51130c "raw bytecode update"
c35e94466980d291e85c9be7156bde55e2594c6d "elf firmware usbasp"
40a23c1869e2be3c64cdbbb02912eff837336416 "elf firmware update"
897d1086adc0f1dfd64525034104fc75d74dee68 firmware_usbasploader.hex
59ec7ab84431119d5ac3c137c71f6e52e34bcec8 update_usbasploader.hex
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sun, 5 May 2013 20:05:22 +0000 (22:05 +0200)]
further optimize codesize
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sun, 5 May 2013 19:33:18 +0000 (21:33 +0200)]
fix: complete "BUILDING AND INSTALLING" section of Readme.txt
It was still the old description of the preSPM-days!!
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sun, 5 May 2013 18:55:18 +0000 (20:55 +0200)]
remove Changelog.txt, since it is git tracks changes now
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sun, 5 May 2013 18:47:19 +0000 (20:47 +0200)]
fix: "bootloader__do_spm is not located after interrupts" for ATmega2561 and ATmega1281
Since the datasheet is the same as for ATmega1284 and ATmega2560 the depicted
table of interrupt seems to be the same, too.
But on the second impression there are small "*" at some interrupts not
implemented in the affected devices.
So adapt the bootloader__do_spm addresses - thank you oh you dear fail safe.
Without following code added last time, I never would have found it before some
critical fail!
#if defined(_VECTORS_SIZE)
#if (funcaddr___bootloader__do_spm != (BOOTLOADER_ADDRESS+_VECTORS_SIZE))
#error "bootloader__do_spm is not located after interrupts - sth. is very wrong here!"
#endif
#endif
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sun, 5 May 2013 18:35:45 +0000 (20:35 +0200)]
step-by-step migrate to new usbdrv API (allow USB_CFG_LONG_TRANSFERS)
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sun, 5 May 2013 18:23:27 +0000 (20:23 +0200)]
fix: firmware/main.c using douplicated symbol "__clearram"
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sun, 31 Mar 2013 22:33:55 +0000 (00:33 +0200)]
USBaspLoader v0.96 release
- full tested support of ATmega2560
- improved layout for testboard (Rev.3)
- improved build process
- fixed issue 6 to really disable watchdog timer
- additional support for ATmega640, ATmega1280, ATmega1281, ATmega2560 and ATmega2561
- additional support for ATmega16
- additional safety checkings
- new feature: "BOOTUP_CLEARRAM"
- new usbdrv recent release
20121206
Precompiled bootloader v0.96 for atmega8 (Rev.3),
default (Rev.3) schematics clocked with 16 MHz
(not all AVRs are tested, yet! But please report!)
sha1sums are:
bd3dd35e8ca43eae88e7e73d4e846fed62c5b5c1 "raw bytecode usbasp"
4f236bf72f6e9ce5737c2b16c0eb7169234c6b20 "raw bytecode update"
cd0184257ffd0d8be400fdeafe398ee1e4290304 "elf firmware usbasp"
c72d1742f1ec785c6265cc8da9bc86538e224c7a "elf firmware update"
4ee602ad24f467a531142e4a23b2b7c12b4c291d firmware_usbasploader.hex
cfcbd7ab283768d21c097ac0755dc437022f487b update_usbasploader.hex
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sun, 31 Mar 2013 22:35:24 +0000 (00:35 +0200)]
ATmega2560 passed extensive testing (20MHz)
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sun, 31 Mar 2013 22:18:00 +0000 (00:18 +0200)]
final preparations for upcoming version 0.96
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sun, 31 Mar 2013 22:17:32 +0000 (00:17 +0200)]
BUGFIX: spminterface: use eicall to call "___bootloader__do_spm__ptr" if flash>128kib
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sun, 31 Mar 2013 20:54:02 +0000 (22:54 +0200)]
Workaround "eicall" compiler bug
There seems to be another funny compiler Bug.
When gcc is using "eicall" opcode it forgets to modify EIND.
On devices with large flash memory there are some target address bits
missing.
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sun, 31 Mar 2013 19:40:08 +0000 (21:40 +0200)]
improve build process by adding new features to Makefiles
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sun, 31 Mar 2013 17:44:02 +0000 (19:44 +0200)]
fix minor compiler warning issue
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sun, 31 Mar 2013 17:31:23 +0000 (19:31 +0200)]
BUGFIX: fix issue 6 to really disable watchdog timer
On "https://github.com/baerwolf/USBaspLoader/issues/6" coldtobi
reported an issue of disabling the watchdog timer in a wrong way.
(At least on some newer devices.)
This can lead to unexpected reboots within bootloader mode,
and result in data losses / broken firmwares.
The original report:
====================
At least on the ATMega644, the MCUSR bit WDRF in the MCUSR needs to be cleared first, otherwise it is not possible to disable the watchdog. (See http://www.atmel.com/Images/doc2593.pdf, p.53)
? Bit 3 - WDE: Watchdog System Reset Enable
WDE is overridden by WDRF in MCUSR. This means that WDE is always set when
WDRF is set. To clear WDE, WDRF must be cleared first. This feature ensures
multiple resets during conditions causing failure, and a safe start-up after the failure.
Otherwise the software cannot disable the wdt.
This line just before wdt_disable will fix this
MCUCSR = ~(1<<WDRF);
wdt_disable(); /* main app may have enabled watchdog */
Reported-by: coldtobi <https://github.com/coldtobi>
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sun, 31 Mar 2013 17:11:12 +0000 (19:11 +0200)]
add support for ATmega640, ATmega1280, ATmega1281, ATmega2560 and ATmega2561
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sun, 31 Mar 2013 15:18:53 +0000 (17:18 +0200)]
add support for ATmega16
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sun, 31 Mar 2013 14:54:50 +0000 (16:54 +0200)]
update list of tested devices
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sun, 31 Mar 2013 14:26:21 +0000 (16:26 +0200)]
add additional "funcaddr___bootloader__do_spm"-checking into spminterface
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sun, 31 Mar 2013 14:11:35 +0000 (16:11 +0200)]
add new feature: "BOOTUP_CLEARRAM"
Under normal circumstances, RESET will not clear contents of RAM.
As always, if you want it done - do it yourself...
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sun, 31 Mar 2013 13:44:47 +0000 (15:44 +0200)]
update usbdrv to recent release
20121206
taken from repository: https://github.com/obdev/v-usb.git
HEAD:
f1311e1cd5a841906fb9f26a49e49d97efe21b51
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Mon, 19 Nov 2012 15:13:46 +0000 (16:13 +0100)]
USBaspLoader ninth and a half stable release v0.95
-full tested support of ATmega1284p
-assembler optimized version
Precompiled bootloader v0.95 for atmega8,
default schematics clocked with 16 MHz
(other AVRs are not tested, yet! But please report!)
sha1sums are:
f8879f9c19207582d6a2a769f5040366e8d19094 "raw bytecode usbasp"
b13b642c715e99d88e5291aba946bbfbbd342bf9 "raw bytecode update"
886e2066df89a199ebae3e68e0427f9fcbc47088 "elf firmware usbasp"
195e568cb1059be3f5e7069bd26ccaa1a0399a76 "elf firmware update"
ee0409d1e26a4e3185c48a993dc31a5076031588 firmware_usbasploader.hex
7accf4f3c2cd37ec78a6aba93e7df0b51768fcea update_usbasploader.hex
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Mon, 19 Nov 2012 14:58:46 +0000 (15:58 +0100)]
adapt feature autotselect to new features - mark atmega1284p as tested
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Mon, 19 Nov 2012 14:50:00 +0000 (15:50 +0100)]
add missing selection macro of ATmega164PA signature
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Mon, 19 Nov 2012 14:29:41 +0000 (15:29 +0100)]
BUG: fix: limit some excessive assembler to spezific devices only
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Mon, 19 Nov 2012 13:33:58 +0000 (14:33 +0100)]
BUG: fix updater.c to cope with more than 64k flash memory
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Mon, 19 Nov 2012 11:21:16 +0000 (12:21 +0100)]
make the updater firmware more dynamic for different devices
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Mon, 19 Nov 2012 11:14:02 +0000 (12:14 +0100)]
MANIAC: optimize whole code via new feature "USE_EXCESSIVE_ASSEMBLER"
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sun, 18 Nov 2012 13:06:37 +0000 (14:06 +0100)]
prepare further optimization via introduction of "usbFunctionSetup_USBASP_FUNC_TRANSMIT"
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sun, 18 Nov 2012 12:11:39 +0000 (13:11 +0100)]
optimize code to save some bytes
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sun, 18 Nov 2012 11:10:40 +0000 (12:10 +0100)]
improve feature autoselection and make it more granular
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sat, 17 Nov 2012 23:29:26 +0000 (00:29 +0100)]
new feature "HAVE_FLASH_BYTE_READACCESS" to fix read bug in avrdude terminal
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sat, 17 Nov 2012 19:44:54 +0000 (20:44 +0100)]
BUG: fix way accessing flash-memory, esp. on devices >64k
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sat, 17 Nov 2012 18:39:59 +0000 (19:39 +0100)]
BUG: fix bogous "HAVE_EEPROM_BYTE_ACCESS" feature which may corrupt bootloader
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Fri, 16 Nov 2012 20:13:54 +0000 (21:13 +0100)]
BUG: fix flash read error on atmegas with more than 64k memory
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Wed, 14 Nov 2012 23:21:05 +0000 (23:21 +0000)]
Revert "save some more memory in case "BOOTLOADER_CAN_EXIT" is deactivated"
This patch make the bootloader unable to execute any user-flashed firmware.
Because "BOOTLOADER_CAN_EXIT" is an essential feature for smaller MCUs,
this patch will be reverted instantly.
New version is v0.9.1 - checksums of precompiles stay the same
Sorry for the inconvenience,
Stephan Baerwolf (stephan.baerwolf@tu-ilmenau.de)
This reverts commit
2ca9a19cd19c152ec45d920994a4c64c94d4b3f5.
Stephan Baerwolf [Wed, 14 Nov 2012 20:49:06 +0000 (21:49 +0100)]
USBaspLoader ninth stable release v0.9
Precompiled bootloader v0.9 for atmega8,
default schematics clocked with 16 MHz
(other AVRs are not tested, yet! But please report!)
sha1sums are:
8ef75381260d96e293459928672ae7c91d72e4d8 "raw bytecode usbasp"
bc474208902fa2e7990ac3caeb63c8a110af9908 "raw bytecode update"
4551457aca286497570a3f4e4834cb066331106c "elf firmware usbasp"
932654a06a6365c5e70c0c8e13acf0fb02a7bfee "elf firmware update"
621512d5de6cc958f0e2ca14a5718cbcb184ea34 firmware_usbasploader.hex
5a4f75bb7859e6e1e023d6409b9e4117f93d8973 update_usbasploader.hex
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Wed, 14 Nov 2012 20:40:25 +0000 (21:40 +0100)]
new feature: HAVE_SPMINTEREFACE_NORETMAGIC
If sth. went wrong within "bootloader__do_spm" and this macro is ACTIVATED,
then "bootloader__do_spm" will not return the call and loop infinity instead.
This feature prevents old updaters to do sth. undefined on wrong magic.
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Wed, 14 Nov 2012 20:00:16 +0000 (21:00 +0100)]
add and extend fuse-bit settings
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Wed, 14 Nov 2012 17:54:59 +0000 (18:54 +0100)]
modify main.c for adding "atmega324pa" support
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Wed, 14 Nov 2012 14:56:44 +0000 (15:56 +0100)]
introduce new feature "HAVE_SPMINTEREFACE_MAGICVALUE" - adapt all asm-funcs
If this feature is enabled (value != 0), the configured 32bit value is
used as a magic value within spminterface. "bootloader__do_spm" will check
additional four (4) registers for this value and only proceed, if they contain
the right value. With this feature you can identify your board and avoid
updating the wrong bootloader to the wrong board!
Not all values are possible - "SPMINTEREFACE_MAGICVALUE" must be very sparse!
To avoid collisions, magic-values will be organized centrally by Stephan
Following values are definitly blocked or reserved and must not be used:
0x00000000, 0x12345678,
0x00a500a5, 0x00a5a500, 0xa50000a5, 0xa500a500,
0x005a005a, 0x005a5a00, 0x5a00005a, 0x5a005a00,
0x5aa55aa5, 0x5aa5a55a, 0xa55a5aa5, 0xa55aa55a,
0x5a5a5a5a, 0xa5a5a5a5,
0xffa5ffa5, 0xffa5a5ff, 0xa5ffffa5, 0xa5ffa5ff,
0xff5aff5a, 0xff5a5aff, 0x5affff5a, 0x5aff5aff,
0x00ff00ff, 0x00ffff00, 0xff0000ff, 0xff00ff00,
0xffffffff
To request your own magic, please send at least following information
about yourself and your board together within an informal request to:
stephan@matrixstorm.com / matrixstorm@gmx.de / stephan.baerwolf@tu-ilmenau.de
- your name
- your e-mail
- your project (maybe an url?)
- your type of MCU used
--> your used "BOOTLOADER_ADDRESS" (since same magics can be reused for different "BOOTLOADER_ADDRESS")
There may be no garanty for it, but Stephan will then send you an
response with a "SPMINTEREFACE_MAGICVALUE" just for your board/project...
WITH REQUESTING A MAGIC YOU AGREE TO PUBLISHED YOUR DATA SEND WITHIN THE REQUEST
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Wed, 14 Nov 2012 00:04:02 +0000 (01:04 +0100)]
optimize and extend updater.c
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Tue, 13 Nov 2012 17:25:48 +0000 (18:25 +0100)]
new feature "HAVE_UNPRECISEWAIT" for save some flash
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Tue, 13 Nov 2012 17:10:10 +0000 (18:10 +0100)]
optimize initForUsbConnectivity
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Tue, 13 Nov 2012 17:07:03 +0000 (18:07 +0100)]
save some more memory in case "BOOTLOADER_CAN_EXIT" is deactivated
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Tue, 13 Nov 2012 17:00:24 +0000 (18:00 +0100)]
BUG: fix updater Makefile (rulde "usbasploader.raw:")
objectcopy (OBC) from raw to object needs command line parameter "-B <avr-architecture>"
In case of atmega1284p this arch is avr51 and not avr4X so it will crash in version v0.85.
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Tue, 13 Nov 2012 16:58:25 +0000 (17:58 +0100)]
BUG: fix __do_spm_Ex (spminterface.h) on architecture avr51 (atmega1284p)
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sat, 10 Nov 2012 11:17:08 +0000 (12:17 +0100)]
USBaspLoader eigth and a half stable release v0.85
Precompiled bootloader v0.85 for atmega8
(tinyUSBboard - http://matrixstorm.com/avr/tinyusbboard/),
default schematics clocked with 16 MHz
(other AVRs are not tested, yet! But please report!)
sha1sums are:
ad3cb7c0a594d31e4abe5d812f86b23ad7880ff4 "raw bytecode usbasp"
043ac00cb3d46879b8155638b1e8413e65628d7c "raw bytecode update"
b54c99379b0fc7296664025926ed021e856c5216 "elf firmware usbasp"
483a69e4797ea8f1eb7f7b1d8cefabbe020e137c "elf firmware update"
51f5dd636f5f39b59aa6f2b23ef43eb8b2bbc3ff firmware_usbasploader.hex
d1e224b0b766ee22c92871f813f2bcd2fc5dfa97 update_usbasploader.hex
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sat, 10 Nov 2012 10:55:06 +0000 (11:55 +0100)]
minimize code and improve autoselection
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sat, 10 Nov 2012 10:15:21 +0000 (11:15 +0100)]
have updater check HAVE_SPMINTEREFACE and raise error if not supported
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sat, 10 Nov 2012 09:59:11 +0000 (10:59 +0100)]
Clean up and add new features
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sat, 10 Nov 2012 09:08:16 +0000 (10:08 +0100)]
fix some reported issues by improving Makefile
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sat, 10 Nov 2012 08:26:31 +0000 (09:26 +0100)]
remove "hexfiles"-residuals in firmware/Makefile
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Sat, 10 Nov 2012 08:23:13 +0000 (09:23 +0100)]
Fix typo and add tinyUSBboard webpage to Readme
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Tue, 2 Oct 2012 21:49:21 +0000 (23:49 +0200)]
USBaspLoader eigth stable release v0.8
Precompiled bootloader v0.8 for atmega8 (tinyUSBboard),
default schematics clocked with 16 MHz
(other AVRs are not tested, yet! But please report!)
sha1sums are:
f13ec61258c3a11d7e8a129875dbe3f48546579a "raw bytecode usbasp"
f7a2524e959d606bffb3e1de73e4b099dfe04f79 "raw bytecode update"
4df83112116c07001573449cb608ca0b1c0ea30e "elf firmware usbasp"
0dea0844baf020e8fb731bfdcb50e1a52d480e3b "elf firmware update"
87746dc787761b5b904490229ef9a6b406c303cb firmware_usbasploader.hex
8fa38659559525fc171c147808404a5d8d3afb03 update_usbasploader.hex
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Tue, 2 Oct 2012 21:37:00 +0000 (23:37 +0200)]
It is high time to do some changes to the "Readme.txt"-file
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Tue, 2 Oct 2012 21:22:54 +0000 (23:22 +0200)]
add automatic "BOOTLOADER_ADDRESS" selection to Makefile.inc
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Tue, 2 Oct 2012 21:06:51 +0000 (23:06 +0200)]
cleanup and beautify Makefile.inc plus additional fusebit-selection-automatic
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Tue, 2 Oct 2012 20:33:34 +0000 (22:33 +0200)]
extend "spminterface.h" for support of ATmega128
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Tue, 2 Oct 2012 19:20:36 +0000 (21:20 +0200)]
extend "spminterface.h" for support of ATmega328 and ATmega328p
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Stephan Baerwolf [Tue, 2 Oct 2012 19:07:34 +0000 (21:07 +0200)]
mark ATmega48 as unsupported
Since ATmega48 (as also ATmega48A, ATmega48P and ATmega48PA) only has
4kb of FLASH and does not support bootloader by hardware, it is
improper for USBaspLoader and marked as unsopported.
While the sourcecode remains with parts for ATmega48 (in case there are
some know hacks to make it work), main.c will raise compiler-error in
case of usage.
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>