-
Data: 2018-02-12 20:26:35
Temat: Re: Protokół dla bootloadera
Od: Marek <f...@f...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]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.
--
Marek
Następne wpisy z tego wątku
- 12.02.18 20:33 Marek
- 13.02.18 09:29 Piotr Gałka
- 13.02.18 10:08 Marek
- 13.02.18 14:43 Bool
- 13.02.18 16:34 Piotr Gałka
- 14.02.18 08:47 jacek pozniak
- 14.02.18 09:21 jacek pozniak
- 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
Najnowsze wątki z tej grupy
- 40 lat OrCAD-a
- Multimetr z bluetooth
- Ciekawa mapka z BTS-ami
- Lampy uliczne LED z kubkiem
- Pęczniejące LiPo
- wyłącznik ścienny
- "Wybitna" inteligencja AI
- test stereo
- Bluetooth stereo
- W USA budują pierwszą komercyjną elektrownię fuzji jądrowej
- Weryfikacja myjki ultradźwiękowej
- zasieg radaru
- Zmywarka Bosch SRV55T43EU - awaria
- Kod zniżkowy w TME do 26.09.2025
- SFP, 10G, simplex sc/apc
Najnowsze wątki
- 2025-10-03 AI i odnawianie / koloryzowanie starych zdjęć
- 2025-10-03 5G hit czy kit?
- 2025-10-03 mBank - wypłata z bankomatu
- 2025-10-03 40 lat OrCAD-a
- 2025-10-02 wyjebka na zaliczkę
- 2025-10-02 Ciekawostka elektryczno-pożarowa :)
- 2025-10-02 monitorowanie sprawy sądowej
- 2025-10-02 Warszawa => Dyrektor pionu IT <=
- 2025-10-02 Środa Wielkopolska => SAP FI/CO Konsultant wewnętrzny <=
- 2025-10-01 Dlaczego nie skorzystam z promocji -40% na MT w rocznej prenumeracie
- 2025-10-01 Multimetr z bluetooth
- 2025-10-01 Citek i "wymagane działanie"
- 2025-10-01 Białystok => Software Engineer .Net <=
- 2025-10-01 Rzeszów => International Freight Forwarder <=
- 2025-10-01 Wrocław => Specjalista ds. Marketingu Online (PPC) <=