-
Data: 2018-02-14 09:21:33
Temat: Re: Protokół dla bootloadera
Od: jacek pozniak <j...@f...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Marek wrote:
> On Mon, 12 Feb 2018 18:44:27 +0100, Bool <n...@n...com> wrote:
>> Możesz skrótowo napisać jak robiłeś to w przypadku z modemem GSM?
>
> Mcu przez stos tcpip modemu GSM pobiera sobie binarny plik obrazu
> firmware'u z serwera www. Stos większości modemów gsm umożliwia
> prostą komunikacje przez polecenia AT. Modem zestawia połączenie a
> mcu komendami AT wymienia sobie dane , można kawałeczkami pobrać
> sobie dowolnie duży plik. Kod pobierający nowy soft nie jest częścią
> bootloadera (bo byłby za duży) ale częścią softu użytkowego. W
> związku z tym, że soft użytkowy nie może się sam nadpisać (no, byłoby
> to klopotliwe, szczególnie gdyby np. połączenie zostało przerwane) to
> tymczasowo zapisuje pobrany obraz firmware'u w wolnym za sobą
> obszarze flash mcu (z pewnym marginesem) . Po wygraniu, robi reset po
> którym startuje bootloader, który sprawdza czy pod odpowiednim
> adresem jest obraz, jeśli jest kopiuje go pod docelowy adres
> nadpisując poprzedni firmware (i usuwa znacznik w tymczasowym obrazie
> by po kolejnym uruchomieniu nie kopiować ponownie). Tak w skrócie.
> Pominąłem takie szczegóły jak, to że pobierany firmware jest
> zaszyfrowany (klucz ma tylko bootloader i on deszyfruje dopiero przy
> docelowym nadpisywaniu), w trakcie pierwszego kopiowania do flash pod
> adres tymczasowy jest sprawdzane crc obrazu, by nie dopuścić do
> uruchomienia nieprawidlowego kodu itp.
> Aktualizacja ok 90kB obrazu pobieranego 256 bajtowymi paczkami po
> 9600bps uarcie mcu-modem trwa ok 4 min. Sama aktualizacja jest
> inicjowana smsem, komunikacja zwrotna w przypadku problemów z
> pobraniem pliku itp też jest smsem.
> Jeśli chodzi o szczegóły komunikacji to już to jest zależne od
> implementacji obsługi stosu w danym modemie, ja to ćwiczyłem na
> modułach G510.
>
Ale rozumiem, że musisz mieć ponad 2x więcej flasha niż rozmiar wgrywanego
kodu?
jp
--
www.flowservice.pl
www.flowsystem.pl
Następne wpisy z tego wątku
- 14.02.18 09:34 Marek
- 14.02.18 09:46 Marek
- 14.02.18 10:21 J.F.
- 14.02.18 10:52 cezar
- 14.02.18 12:59 jacek pozniak
- 14.02.18 15:01 Marek
- 14.02.18 16:05 Marek
- 14.02.18 18:17 Waldemar
- 14.02.18 18:18 jacek pozniak
Najnowsze wątki z tej grupy
- odzysk z panela PV
- tuner i silnik od rolety
- Przednia lampka rowerowa Basta / AXA pod dynamo w piaście
- Boję siię capa...
- Efekt gitarowy koda kd-30 trash metal
- Re: Efekt gitarowy koda kd-30 trash metal
- Wykrywanie przerwy w długim przewodzie zakopanym w ziemi.
- PT500
- supercap
- Procesor NMOS i karta CF
- Jak sprawdzic uC
- radyjko znalazłem
- Telewizor przestał widzieć sygnał z anteny
- LED
- System operacyjny dla 6800?
Najnowsze wątki
- 2024-06-01 Czy można zaparkować w tym miejscu?
- 2024-05-31 Mały kogenerator gazowy
- 2024-05-30 Co to znaczy wer. eksportowa? Na przykładzie motoru Java 350 Perak
- 2024-05-31 Co to znaczy wer. eksportowa? Na przykładzie motoru Java 350 Perak
- 2024-06-01 karta SD po formacie odzyskiwanie zdjęć i filmów
- 2024-06-01 Modem LTE typu pendrive z agregacją pasm
- 2024-06-01 czy grad zbił wam szybę?
- 2024-06-01 odzysk z panela PV
- 2024-06-01 Sila sygnalu routera
- 2024-06-01 Warszawa => Spedytor międzynarodowy <=
- 2024-06-01 Warszawa => Senior Developer React Native <=
- 2024-06-01 Warszawa => Senior React Native Developer <=
- 2024-06-01 Warszawa => Interactive/Experience Designer <=
- 2024-06-01 Warszawa => Starszy inżynier oprogramowania (Rust) <=
- 2024-06-01 Gdynia => Sales Executive <=