Paradigm X wrote:thanks for the reply. glad to hear i cant mess it up by flashing.
it was just i saw a message in Conb0x which said 'dont connect to x0x0b0x in bootloader mode!' which made me think id done something wrong.
either way all good now. will flash my other x0x when i get a chance, but going to do some mods and replace the tacts.
cheers
Ben
here's the situation with the old bootloader (i call it x0xb00t1)
- it has absolutely no feedback, you cannot figure out if you're running the bootloader or the atmega is frozen into a bad loop due to corrupted/missing firmware
- it uses a very primitive serial protocol, with single character commands
-- this means that by merely sending any random junk to the USB, anything that gets thru the USART receiver as valid data bytes - you may get the bootloader into programming mode and you may clear a page, you may change the address for the next page, etc..
if the boot sector was properly locked via the lockbits - at worst you would corrupt your firmware only - and that's not terrible
but since on some (or many) chips it seems to not be locked, then you can in theory corrupt the bootloader itself
now, to actually send data to the x0xb0x (besides modifying the ft232 chip out) you need to connect the USB to a computer, where it will appear as a virtual serial port
so, any program which opens that serial port and sends the "right" kind of data to the bootloader, could potentially corrupt it
that could be a serial terminal program (like realterm or many others), or one of the dedicated x0xb0x apps
the x0xb0x apps (c0ntr0l, c0nb0x) can talk to the bootloader, or to the firmware
but they don't know what they talk to.. not easily
so it's left in the hands of the user, to be careful
do not tell the program to connect to the firmware, if the x0xb0x is running the bootloaderbecause the serial protocol between the firmware and the app is more complex, and thus there is more data going on, so chances get higher to hit some magical combination of junk data that causes the bootloader to attempt to shoot its own foot
especially do not do it with c0nb0x, because c0nb0x uses even more app<->firmware messages, and sends a bunch of queries on connect to figure out what firmware it's talking with
the mentioned c0nb0x v1.02 includes a check for that, when you tell it to connect to the firmware, it tries to safely detect whether the x0xb0x is actually running the x0xb00t1 bootloader first, before sending a pile of fancy messages
this is also included in the c0nb0x_wx (the rewritten version which is also not released yet)
that's the situation with the old bootloader.. there's not much that can be done about it
unless everyone buys (or makes) a programmer to lock their chips