Witam serdecznie
Tematy bootloadera do ARM7 sa ciężko wyszukiwalne w sieci... Do sam7 jeszcze gorzej, a na tym poziomie platforma ma duże znaczenie, ale do rzeczy.
Piszę właśnie bootloader którego zadaniem będzie odczytanie obrazu pamięci z pliku i zapisanie go we flashu. I właściwie to zadanie nie jest trudne. Jednak bootloader będzie na początku flasha, z własnymi wektorami przerwań itd. Firmware ma z kolei swoje wektory przerwań, które muszą się znaleźć pod tym samym adresem (0x00).
Pytanie brzmi co najlepiej zrobić aby to pogodzić i jak to zrobić? Firmware używa FreeRTOSa.
W nocie "Safe and Secure Bootloader Implementation" Atmela na rozwiązanie tego problemu proponują umieścić wektory przerwań firmware`u na początku ramu i zastosowanie komendy Remap (wtedy ram mapowany jest pod adres 0x00).
Mogą być tego jakieś negatywne konsekwencje (mam na myśli Remap- dotąd flash cały czas był mapowany pod ten adres)?
A może jest jakieś inne, lepsze wyjście?
Jeśli ktoś ma coś innego do dorzucenia od siebie w tej kwestii też bardzo proszę.
W związku z pierwszym zdaniem tego postu, kiedy skończę ów bootloader zamierzam go udostępnić jako opensource.
Tematy bootloadera do ARM7 sa ciężko wyszukiwalne w sieci... Do sam7 jeszcze gorzej, a na tym poziomie platforma ma duże znaczenie, ale do rzeczy.
Piszę właśnie bootloader którego zadaniem będzie odczytanie obrazu pamięci z pliku i zapisanie go we flashu. I właściwie to zadanie nie jest trudne. Jednak bootloader będzie na początku flasha, z własnymi wektorami przerwań itd. Firmware ma z kolei swoje wektory przerwań, które muszą się znaleźć pod tym samym adresem (0x00).
Pytanie brzmi co najlepiej zrobić aby to pogodzić i jak to zrobić? Firmware używa FreeRTOSa.
W nocie "Safe and Secure Bootloader Implementation" Atmela na rozwiązanie tego problemu proponują umieścić wektory przerwań firmware`u na początku ramu i zastosowanie komendy Remap (wtedy ram mapowany jest pod adres 0x00).
Mogą być tego jakieś negatywne konsekwencje (mam na myśli Remap- dotąd flash cały czas był mapowany pod ten adres)?
A może jest jakieś inne, lepsze wyjście?
Jeśli ktoś ma coś innego do dorzucenia od siebie w tej kwestii też bardzo proszę.
W związku z pierwszym zdaniem tego postu, kiedy skończę ów bootloader zamierzam go udostępnić jako opensource.