Hello,
i'm struggeling a bit with the understunding of the ABM and hope somebody could support me to understand this function.
Here what i'm understood:
1. ABM[0] and ABM[1] has each 64KByte Flash size (shared with normal Flash size)
2. After reset the µC checks the BMI word, if selected ABM0 and magic key is ok then from ABM[0]. If ABM[0] magic key broken, then automatically ABM[1] magic key will checked and if ok then boot.
3. To update the main application or bootloader minimum the flash routines have to be linked into PSRAM area (16KByte), because flash erase and write is not possible from flash
I hope this is correct, if not then please touch me in my mistakes.
First questions:
1. if magic key ABM[0] and ABM[1] failed to what then?
2. If i use the the CDC driver for virtual comport should i have to copy this into PSRAM too, because this area will be erased/ new written if I update the boot loader?
3. Magic key (USB Serial No.) for what kind of purpose i can put the serial number into the magic key?
I adapted the ASC Bootloader togehter with the LUFA Lib. for CDC virtual comport. Bootloader size is ~14KByte and fits into PSRAM
My update procedure idea is like this and other questions:
1. Main application was started
2. Special password by CDC Virtual comport received, then set BMI to ABM[0] load
3. [ABM0] loaded if magic key is ok, then copy flash and communication into PSRAM and start update or do i have to make a reset again and start from PSRAM???
4. Failsafe: If ABM[0] magic key not ok start ABM[1] and copy content of ABM[1] into ABM[0] area. Do have i to make a reset and start from PSRAM before i can copy ABM[1] into ABM[0] area?
i'm struggeling a bit with the understunding of the ABM and hope somebody could support me to understand this function.
Here what i'm understood:
1. ABM[0] and ABM[1] has each 64KByte Flash size (shared with normal Flash size)
2. After reset the µC checks the BMI word, if selected ABM0 and magic key is ok then from ABM[0]. If ABM[0] magic key broken, then automatically ABM[1] magic key will checked and if ok then boot.
3. To update the main application or bootloader minimum the flash routines have to be linked into PSRAM area (16KByte), because flash erase and write is not possible from flash
I hope this is correct, if not then please touch me in my mistakes.
First questions:
1. if magic key ABM[0] and ABM[1] failed to what then?
2. If i use the the CDC driver for virtual comport should i have to copy this into PSRAM too, because this area will be erased/ new written if I update the boot loader?
3. Magic key (USB Serial No.) for what kind of purpose i can put the serial number into the magic key?
I adapted the ASC Bootloader togehter with the LUFA Lib. for CDC virtual comport. Bootloader size is ~14KByte and fits into PSRAM
My update procedure idea is like this and other questions:
1. Main application was started
2. Special password by CDC Virtual comport received, then set BMI to ABM[0] load
3. [ABM0] loaded if magic key is ok, then copy flash and communication into PSRAM and start update or do i have to make a reset again and start from PSRAM???
4. Failsafe: If ABM[0] magic key not ok start ABM[1] and copy content of ABM[1] into ABM[0] area. Do have i to make a reset and start from PSRAM before i can copy ABM[1] into ABM[0] area?