BUG: fix __do_spm_Ex (spminterface.h) on architecture avr51 (atmega1284p)

Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
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>
save some more memory in case "BOOTLOADER_CAN_EXIT" is deactivated

Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
optimize initForUsbConnectivity

Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
new feature "HAVE_UNPRECISEWAIT" for save some flash

Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
optimize and extend updater.c

Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
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>
modify main.c for adding "atmega324pa" support

Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
add and extend fuse-bit settings

Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
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>
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>