Nie wiem jak jest w stm32 ale w pic32 z tego powodu olewam blok flash dedykowany dla bootloadera, bootloader wrzucam do wcześniej zarezerwowanego (odpowiednimi dyrektywami dla linkera) fragmentu flash (o dowolnym rozmiarze) a kod aplikacyjny do pozostałej reszty flash.
2- aplikacja.+ margines na rozwój aplikacji
3- tymczasowy bufor o rozmiarze z pkt 2
Dobierajac mcu do takuego projektu trzeba uwzględnić by dostępny rozmiar flash uwzględniał powyższe punkty a szczególnie margines na ewentualny rozwój aplikacji .
No nie będę mógł sobie na to pozwolić bo w urzadzeniu bedę miał zajeta około
3/4 flasha (ze 128kB) a wiekszego procka na razie nie mogę dać bo jest PCB zrobione. Pokombinuję coś z ładowaniem do ramu i przeprowadzenie flashowania zeń, albo umieszczeniem (opcjami linkera, nie wiem czy sie da) fragmentu kodu gdzieś wysoko i stamtąd przeprowadzę proces flashowania dolnych części flasha. No nic, zobaczymy, nie jest to na razie superpilne.
Sporo chińszczyzny na klonach '51 jest na przejsciiowkach usbserial, co wymaga instalowania oprócz softu flashujacego odpowiedniego sterownika usbserial. Podobnie rodzime produkcję na atmegach. Bardzo rzadko natywny USB HID nie wymagający instalacji dodatkowo sterowników.
W stm32 nie ma w tej samej obudowie kilka wariantów z pamięcią do wyboru 128/256/512? Można rozważyć zamiast zmieniać mcu (w następnej wersji płytki) dodanie serial flash jako bufor, są 128kB. Łatwiejsze niż zmiana projektu na inny mcu .
Nie wiem, czy chcesz użyć gotowca, ale zobacz chip45boot2
formatting link
Używam do arduino nano, ale mają też inne platformy. Jak weźmiesz bez zmian, to jest za darmo, jak chcesz kod źródłowy, to chyba coś koło 30$, czyli też jeszcze znośnie. Piszę programy na Arduino HW, ale bez softa arduinowego i wqu** mnie programowanie przez ISP. Teraz wgrywam przez wbudowany USB/RS232 konwerter i jest dobrze. Tylko raz trzeba wgrać bootloadera przez usb. Programować można ichnią GUI, albo dowolnym programem przesyłającym po RS232.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.