-
1. Data: 2011-08-04 09:38:20
Temat: [lama] stm32 i firmowy bootloader - jak nie zepsuć?
Od: ToTylkoJa <m...@n...chce.tego.poczta.fm>
Witam
Do tej pory bawiłem się Atmelami - starym 89c2051 oraz ATmega 8/32. Tam
wszytko było proste. Niestety zachciało mi się dalszej nauki. Od wczoraj
posiadam zestaw z stm32 (HY-mini stm32f103vct). Zainstalowałem jakieś
sterowniki do USB i dzięki temu widzę dodatkowy COM3 który służy do
komunikacji z STM32. Dalej uruchomiłem program Flash_Loader_Demonstrator.
Program połączył się po przez COM3 z modułem i mogę wykasować całego
flash-a lub wgrać nowy z pliku. No właśnie czy tymi działaniami nie
zablokuję firmowego bootloadera i będę mógł wgrywać kolejne moje próby?
Zaczynam bawić się trueSTUDIO/STM32 Lite. Napisałem prymitywny program
który ustawia i zeruje PB0 czyli u mnie zapala i gasi diodę LED. Czy
kompilator wie że ten program będę wgrywał bootloaderem pod adres 0x800000
(no właśnie czy pod ten dokładnie??) czy też muszę ustawić jakiś parametr?
Rozumiem że ten bootloader po wgraniu wykonuje skok do mojego programu, czy
też ja muszę najpierw (tylko jak?) poustawiać jakieś wektory resetu,
przerwań czy startu programu?
To co, czy są jakieś proste odpowiedzi (nie po angielsku) ?
pozdrawiam MArek
-
2. Data: 2011-08-04 10:49:53
Temat: Re: [lama] stm32 i firmowy bootloader - jak nie zepsuć?
Od: Paweł <p...@n...pl>
> Napisałem prymitywny program
> który ustawia i zeruje PB0 czyli u mnie zapala i gasi diodę LED. Czy
> kompilator wie że ten program będę wgrywał bootloaderem pod adres 0x800000
> (no właśnie czy pod ten dokładnie??) czy też muszę ustawić jakiś parametr?
> Rozumiem że ten bootloader po wgraniu wykonuje skok do mojego programu, czy
> też ja muszę najpierw (tylko jak?) poustawiać jakieś wektory resetu,
> przerwań czy startu programu?
W tym uP jest pamięć ROM w której znajduje się bootloader. W zależności
od stanu na nóżkach BOOT0 i BOOT1 procesor po resecie może zacząć
wykonywać program z pamięci ROM, Flash lub RAM.
Zapewne do programu, który napisałeś domyślne dodany został kod
odpowiedzialny za odpowiedni "start" procesora. Miedzy innymi ustawił on
odpowiednio wektory przerwań.
Paweł