Witam
Piszę właśnie bootloader, a że robię to pierwszy raz, toteż mam dosyć problem ze zrozumieniem.
Na chwilę obecną chcę wgrać pod adres 0x10000 kod bootloadera.
Ale za każdym razem AStudio programuje mi go pod adres 0x00000.
Co mogę zrobić, by kod bootloadera lądował tam gdzie trzeba?
Bo uruchomić to rozumiem, że wybieram z poziomu fusebitów.
Napisałem mały programik migający 50x diodą LED, po czym skacze pod adres 0x00000.
Czy wgranie samego bootloadera powoduje skasowanie całego programu?
Druga sprawa, to chcę jakoś rozróżniać wersje bootloadera, oraz odczytać obecną wersję właściwej aplikacji mikrokontrolera. Chodzi mi po głowie jakaś statyczna tablica, w której pod określonym adresem będę trzymał wersje programu. Jak mogę taką zmienną zadeklarować w języku C, by zawsze lądowała pod stałym adresem w pamięci Flash?
Piszę właśnie bootloader, a że robię to pierwszy raz, toteż mam dosyć problem ze zrozumieniem.
Na chwilę obecną chcę wgrać pod adres 0x10000 kod bootloadera.
Ale za każdym razem AStudio programuje mi go pod adres 0x00000.
Co mogę zrobić, by kod bootloadera lądował tam gdzie trzeba?
Bo uruchomić to rozumiem, że wybieram z poziomu fusebitów.
Napisałem mały programik migający 50x diodą LED, po czym skacze pod adres 0x00000.
Czy wgranie samego bootloadera powoduje skasowanie całego programu?
Druga sprawa, to chcę jakoś rozróżniać wersje bootloadera, oraz odczytać obecną wersję właściwej aplikacji mikrokontrolera. Chodzi mi po głowie jakaś statyczna tablica, w której pod określonym adresem będę trzymał wersje programu. Jak mogę taką zmienną zadeklarować w języku C, by zawsze lądowała pod stałym adresem w pamięci Flash?
