bootloader AVR nieco inaczej.



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: Sebastian Bialy <heby_at_nospam_poczta.onet.pl>
Subject: bootloader AVR nieco inaczej.
Date: Sat, 16 Oct 2004 18:54:44 +0200


Witam!

Dłubie pewne urządzenie, którego głównym zadaniem będzie sterowanie
pewnym procesem. Niestety bieganie z komputerem za każdym razem, gdy
trzeba zmienić program jest dla mnie kłopotliwe (śjakieś 1000km ;) stąd
zaczynam zastanawiać się nad następującą sprawą:

Tworze bardzo prosty soft, którego zadaniem jest komunikacja z kartą MMC
na której znajdą się dane pomiarowe zbierane przez urządzneie, ale
również kod programu (firmware) do wykonania przez procka. Po połączeniu
"bootloader" zrzuca zawartośc MMC do węwnetrznego Flash'a i rozpoczyna
wykonywanie kodu.

I mam pytanie: jako, że z bootloaderem nie miałem do tej pory do
czynienia chciałbym zapytać czy to w ogóle jest wykonalne (czytam
dokumentacje do ATmega* i wydaje mi się że tak ...) w tej formie jaką
podałem. W szczególności czy bootloader ma nieograniczony dostęp do
pamięci Flash.

Ponadto jest jeszcze jedna sprawa ... być może chciałbym zaszyfrować
firmware jakimś szyfrem jednostronnym. Po zrzuceniu danych do Flasha i
ich rozkodowaniu ktoś mógłby wyjśc procka z podstawiki i zczytać
rozkodowany kod. Pytanie zatem, czy bootloader może sam sobie przepalić
fuse na odczyt kodu ? Z tego co widze są dwa bezpieczniki do bootloadera
i reszty ...

Na razie jestem na etapie rozmyślania, czy w ogóle ma to sens, ale
wydaje mi się to jednynym sensownym rozwiązaniem na taką odległość.

--
Sebastian Bialy - heby_at_nospam_poczta.onet.pl

========
Path: news-archive.icm.edu.pl!news2.icm.edu.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Paweł K" <kpw_at_nospam_qs.pl>
Subject: Re: bootloader AVR nieco inaczej.
Date: Sat, 16 Oct 2004 23:18:50 +0200


Dłubie pewne urządzenie, którego głównym zadaniem będzie sterowanie
pewnym procesem. Niestety bieganie z komputerem za każdym razem, gdy
trzeba zmienić program jest dla mnie kłopotliwe (śjakieś 1000km ;) stąd
zaczynam zastanawiać się nad następującą sprawą:
Po co sie meczyc, z atmegi mozna wydlubac bez problemu zawartosc
znam 2 osoby w polsce ktore to potrafia :))

[ciach] Po połączeniu
"bootloader" zrzuca zawartośc MMC do węwnetrznego Flash'a i rozpoczyna
wykonywanie kodu.
sprytne ...

[ciach] W szczególności czy bootloader ma nieograniczony dostęp do
pamięci Flash.
Bootloader znajduje sie na koncu flasha poczytaj w dokumentacji
bo wielkosc zajmowanej pamieci bootloadera jest zalezna od fusebitow.

Ponadto jest jeszcze jedna sprawa ... być może chciałbym zaszyfrować
firmware jakimś szyfrem jednostronnym. Po zrzuceniu danych do Flasha i
ich rozkodowaniu ktoś mógłby wyjśc procka z podstawiki i zczytać
rozkodowany kod. Pytanie zatem, czy bootloader może sam sobie przepalić
fuse na odczyt kodu ? Z tego co widze są dwa bezpieczniki do bootloadera
i reszty ...
zobacz tu http://www.microsyl.com zrodla bootloader ktory mam mozliwosc
zabezpieczenia. Skoro bootloader ma zczytac nowy firmware (zaszyfrowany) z
MMC to znaczy ze nie moze byc jednostronnie szyfrowalny :(

Na razie jestem na etapie rozmyślania, czy w ogóle ma to sens, ale
wydaje mi się to jednynym sensownym rozwiązaniem na taką odległość.
czy to cos posiada karte sieciowa? jezeli tak to jest jakis loader oparty na
tcp/ip, txn mozna ladowac firmware z sieci.

--
--
Best regards
K_at_nospam_pW from Poland

kpw(at)qs.pl
http://kpw.qs.pl
UIN: 8017753
GG: 1263183
---------------- end ----------------




========
Path: news-archive.icm.edu.pl!news2.icm.edu.pl!mimuw.edu.pl!news.mimuw.edu.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: Sebastian Bialy <heby_at_nospam_poczta.onet.pl>
Subject: Re: bootloader AVR nieco inaczej.
Date: Sun, 17 Oct 2004 00:00:34 +0200


Paweł K wrote:
Po co sie meczyc, z atmegi mozna wydlubac bez problemu zawartosc
znam 2 osoby w polsce ktore to potrafia :))

( Ale przynajmniej amatorów jakoś zablokuje. Swoją drogą robią to
jakimiś metodami typu rozpuszczanie plastiku czy kombinacja z zasilaniem
? A może jakoś inaczej ;) ?

[ciach] Po połączeniu
"bootloader" zrzuca zawartośc MMC do węwnetrznego Flash'a i rozpoczyna
wykonywanie kodu.
sprytne ...

No ba ;)

[ciach] W szczególności czy bootloader ma nieograniczony dostęp do
pamięci Flash.
Bootloader znajduje sie na koncu flasha poczytaj w dokumentacji
bo wielkosc zajmowanej pamieci bootloadera jest zalezna od fusebitow.

Wiem, ale dokumentacja jest słaba w tym miejscu, i nie jestem na 100%
pewny, czy mam dostęp do całego flasza włacznie z wektorami przerwań
itd. W ogóle mam wrażenie, że ta technika bootloadera jest jakaś taka
niedorobiona do końca :/

zobacz tu http://www.microsyl.com zrodla bootloader ktory mam mozliwosc
zabezpieczenia. Skoro bootloader ma zczytac nowy firmware (zaszyfrowany) z
MMC to znaczy ze nie moze byc jednostronnie szyfrowalny :(

Źle się wyraziłem - chodzi o algorytm z asymetrycznym kluczem -
deszyfrować można wyłącznie na konkretnym uC. To lekkie utrudnienie,
nawet gdyby ktoś wyrwał mi program z atmegi, to będzie miał poważny
kłopot w przygotowaniu plikow do zaladowania - z racji innego klucza.
Oczywiście dla chcącego nic trudnego i można zmodyfikować binarkę, ale
tu już bym postarał się lekko utrudnić życie.

Na razie jestem na etapie rozmyślania, czy w ogóle ma to sens, ale
wydaje mi się to jednynym sensownym rozwiązaniem na taką odległość.

czy to cos posiada karte sieciowa? jezeli tak to jest jakis loader oparty na
tcp/ip, txn mozna ladowac firmware z sieci.

Nie - żadnej łaczności - z róznych względów. Jesli miałbym sieć to w
ogóle nie było by o czym mówić na pewno bym to wybrał i pozbył się MMC.

--
Sebastian Bialy - heby_at_nospam_poczta.onet.pl

========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Paweł K" <kpw_at_nospam_qs.pl>
Subject: Re: bootloader AVR nieco inaczej.
Date: Sun, 17 Oct 2004 02:06:36 +0200


Wiem, ale dokumentacja jest słaba w tym miejscu, i nie jestem na 100%
pewny, czy mam dostęp do całego flasza włacznie z wektorami przerwań
itd. W ogóle mam wrażenie, że ta technika bootloadera jest jakaś taka
niedorobiona do końca :/
Moim zdaniem jest wszystko z nim OK. Sam bootloader znajduje sie na
koncu gdzie wielkosc zalezna od fusebitow. Z poziomu bootloadera
masz dostep do calego flasha.

Źle się wyraziłem - chodzi o algorytm z asymetrycznym kluczem -
deszyfrować można wyłącznie na konkretnym uC. To lekkie utrudnienie,
nawet gdyby ktoś wyrwał mi program z atmegi, to będzie miał poważny
kłopot w przygotowaniu plikow do zaladowania - z racji innego klucza.
Oczywiście dla chcącego nic trudnego i można zmodyfikować binarkę, ale
tu już bym postarał się lekko utrudnić życie.
Jak umiesz zdeasembloac i przeanalizowac to mam przykladowego bina
z takim rozwiazaniem :) Poszukaj dobrze w sieci kiedys przemknal mi przed
oczami takie rozwiazanie.


--

--
Best regards
K_at_nospam_pW from Poland

kpw(at)qs.pl
http://kpw.qs.pl
UIN: 8017753
GG: 1263183
---------------- end ----------------




========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Fish" <n.o.s.p.a.m.abuse_at_nospam_onet.pl>
Subject: Re: bootloader AVR nieco inaczej.
Date: Sun, 17 Oct 2004 11:44:26 +0200


W artykule news:cksd4j$evj$1_at_nospam_atlantis.news.tpi.pl,
niejaki(a): Paweł K z adresu <kpw_at_nospam_qs.pl> napisał(a):


Źle się wyraziłem - chodzi o algorytm z asymetrycznym kluczem -
deszyfrować można wyłącznie na konkretnym uC. To lekkie utrudnienie,
nawet gdyby ktoś wyrwał mi program z atmegi, to będzie miał poważny
kłopot w przygotowaniu plikow do zaladowania - z racji innego klucza.
Oczywiście dla chcącego nic trudnego i można zmodyfikować binarkę,
ale tu już bym postarał się lekko utrudnić życie.
Jak umiesz zdeasembloac i przeanalizowac to mam przykladowego bina
z takim rozwiazaniem :) Poszukaj dobrze w sieci kiedys przemknal mi
przed oczami takie rozwiazanie.


Na stronie Atmela jest nota aplikacyjna AVR230 - DES Bootloader
Żeby uzyskać namiastkę asymetrycznego szyfrowania trzeba by klucz do DES-a
trzymać na karcie zaszyfrowany "niesymetrycznie".
Wtedy najpierw trzeba by odszyfrować klucz a potem wykorzystać go do
odszyfrowania samego programu.
Obawiam się tylko że tak skomplikowane operacje nie zmieszczą sie w obszar
przeznaczony dla bootloadera.

--
Janusz



========
Path: news-archive.icm.edu.pl!news2.icm.edu.pl!newsfeed.atman.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Dariusz Zolna" <abc_at_nospam_abc.com>
Subject: Re: bootloader AVR nieco inaczej.
Date: Sun, 17 Oct 2004 21:42:20 +0200


Użytkownik "Fish" <n.o.s.p.a.m.abuse_at_nospam_onet.pl> napisał:
Obawiam się tylko że tak skomplikowane operacje nie zmieszczą sie w obszar
przeznaczony dla bootloadera.


Dokładnie tak. Nawet z samym odczytem kodu z MMC mogą być problemy.

Darek Żołna



========
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: Wojtek Kaniewski <wojtekka_at_nospam_SPAM.SPAM.SPAM>
Subject: Re: bootloader AVR nieco inaczej.
Date: Mon, 18 Oct 2004 11:33:21 +0200


Dariusz Zolna wrote:
Dokładnie tak. Nawet z samym odczytem kodu z MMC mogą być problemy.

w miarę uniwersalne funkcje odczytu karty MMC przy użyciu sprzętowego
portu SPI zajmują mi 324 bajty. po optymalizacji na pewno da się zejść
poniżej 300. reszta to już tylko kwestia tego, ile chcemy przeznaczyć na
aplikację.

w.

========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Dariusz Zolna" <abc_at_nospam_abc.com>
Subject: Re: bootloader AVR nieco inaczej.
Date: Mon, 18 Oct 2004 12:28:33 +0200


Użytkownik "Wojtek Kaniewski" <wojtekka_at_nospam_SPAM.SPAM.SPAM> napisał:
w miarę uniwersalne funkcje odczytu karty MMC przy użyciu sprzętowego
portu SPI zajmują mi 324 bajty. po optymalizacji na pewno da się zejść
poniżej 300.

Dodaj do tego kod obsługi FAT i samego programowania flash'a i już nie
będzie tak różowo.

Darek Żołna



========
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: Wojtek Kaniewski <wojtekka_at_nospam_SPAM.SPAM.SPAM>
Subject: Re: bootloader AVR nieco inaczej.
Date: Mon, 18 Oct 2004 13:25:56 +0200


Dariusz Zolna wrote:
w miarę uniwersalne funkcje odczytu karty MMC przy użyciu sprzętowego
portu SPI zajmują mi 324 bajty. po optymalizacji na pewno da się zejść
poniżej 300.

Dodaj do tego kod obsługi FAT i samego programowania flash'a i już nie
będzie tak różowo.

ale w czym problem? masz do dyspozycji maksymalnie 2kB na bootloader.
programowa obsługa SPI, MMC, FAT, paru klawiszy i zewnętrznego dekodera
MP3 zajęła mi 1,7kB. poza tym, jeśli sam wrzucasz firmware na kartę,
równie dobrze możesz umieścić go w określonych blokach pamięci i obsługa
FAT nie będzie konieczna. programowanie to góra kilkaset bajtów. na oko
wychodzi, że zmieściłyby się co najmniej 2 bootloadery.

w.

========
Path: news-archive.icm.edu.pl!news2.icm.edu.pl!mimuw.edu.pl!news.mimuw.edu.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Dariusz Zolna" <abc_at_nospam_abc.com>
Subject: Re: bootloader AVR nieco inaczej.
Date: Mon, 18 Oct 2004 13:29:59 +0200


Użytkownik "Wojtek Kaniewski" <wojtekka_at_nospam_SPAM.SPAM.SPAM> napisał:
ale w czym problem? masz do dyspozycji maksymalnie 2kB na bootloader.

To akurat zależy od procka.

Darek Żołna



========
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: Wojtek Kaniewski <wojtekka_at_nospam_SPAM.SPAM.SPAM>
Subject: Re: bootloader AVR nieco inaczej.
Date: Mon, 18 Oct 2004 14:12:59 +0200


Dariusz Zolna wrote:
ale w czym problem? masz do dyspozycji maksymalnie 2kB na bootloader.

To akurat zależy od procka.

2kB to maksymalna przestrzeń w najmniejszym ATmega8. wszystko co się w
tym zmieści, można zastosować w dowolnym ATmega.

w.

========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!opal.futuro.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Dariusz Zolna" <abc_at_nospam_abc.com>
Subject: Re: bootloader AVR nieco inaczej.
Date: Sun, 17 Oct 2004 21:40:44 +0200


Użytkownik "Sebastian Bialy" <heby_at_nospam_poczta.onet.pl> napisał:
I mam pytanie: jako, że z bootloaderem nie miałem do tej pory do
czynienia chciałbym zapytać czy to w ogóle jest wykonalne

Tak, robiłem coś takiego, przeciez niewielka różnica czy kod bootloadera
odczyta program z portu szeregowego, z karty, przez USB czy z internetu.

Darek Żołna



========
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mai