Witam
Dzisiaj zapoznałem się z działaniem bootloader'a w Atmegach. Nie wiedziałem jak wgrać program bootloader'a na koniec pamięci ale doczytałem, że podczas kompilacji i w ustawieniach projektu na bootloader (CodeVision) zmienia się 1 linijka pliku HEX gdzie jest umieszczony adres od jakiego mają zostać załadowane dalsze linijki kodu
Wszystko działa OK, gdy wyłączę BOOTRST to działa tylko program główny.
Piszę w czystym C i mam pytanie:
...czy takie zakończenie programu bootloader'a jest poprawne? Bez instrukcji skoku do "reset" bootloadr mignie diodką 1 raz i staje w miejscu, licznik nie skacze do programu głównego... oczywiście główna pętla programu while(1) jest usunięta. Czy to jest prawidłowe i "profesjonalne" zgodnie ze sztuką?
I jeszcze jedno, jak poprawnie wgrywać oba kody programatorem? Kolejność ma jakieś znaczenie?
Pozdrawiam
Dzisiaj zapoznałem się z działaniem bootloader'a w Atmegach. Nie wiedziałem jak wgrać program bootloader'a na koniec pamięci ale doczytałem, że podczas kompilacji i w ustawieniach projektu na bootloader (CodeVision) zmienia się 1 linijka pliku HEX gdzie jest umieszczony adres od jakiego mają zostać załadowane dalsze linijki kodu
Wszystko działa OK, gdy wyłączę BOOTRST to działa tylko program główny.
Piszę w czystym C i mam pytanie:
Kod: C / C++
...czy takie zakończenie programu bootloader'a jest poprawne? Bez instrukcji skoku do "reset" bootloadr mignie diodką 1 raz i staje w miejscu, licznik nie skacze do programu głównego... oczywiście główna pętla programu while(1) jest usunięta. Czy to jest prawidłowe i "profesjonalne" zgodnie ze sztuką?
I jeszcze jedno, jak poprawnie wgrywać oba kody programatorem? Kolejność ma jakieś znaczenie?
Pozdrawiam