RE: Ještě k tomu bootloaderu odolnému proti chybám v komunikaci - ach jo, rozhozené řádkování takže znova.

Marek Pavlu pavlu@hwg.cz
Středa Leden 11 01:16:47 CET 2006


Zdravim, 


Ad 1 
Co treba do kazdeho paketu dat jeden stavovy byte. 
Ten bude identifikovat pocatecni, prostredni, koncovy paket sestaveny z
daneho radku v prvnich dvou bitech. 
Usetrite si specialni paket, který by jste stejne nejak musel rozpoznat... 

Ad 3,4 

Chcete 100% bezpecnost, tak by jste mel i zpetny prenos zabezpecit CRC. 
PC kdyz dostane spatny prikaz, hlasi trebas chybu, posle paket, s nastavenym
priznakem chyby. 


Ad 8 
Ano, zapomnel jste na neco:) 
Trebas udelate tech robotu vice a s ruznym HW. 
Pak je bez debat, aby bootloader umel rozeznat "svuj" FW. 
Treba nejak uplne jednoduse, jako zapis nejake konstanty do eeprom, nebo
vice verzi bootloaderu s konstantou reprezentující dany HW.

Pak prvni paket rekne, pro jaky HW a pripadne delku vypalovanych dat(nove
PICky se objevuji kazdou chvili a pmet v nich je ruzna).



S pozdravem, 
                Marek Pavlu 

//  -----Original Message----- 
//  From: hw-list-bounces@list.hw.cz [mailto:hw-list-bounces@list.hw.cz] On 
//  Behalf Of Pavel Kořenský 
//  Sent: Tuesday, January 10, 2006 11:35 PM 
//  To: 'HW-news' 
//  Subject: Ještě k tomu bootloaderu odolnému proti chybám v komunikaci - 
//  ach jo, rozhozené řádkování takže znova. 
//  
//  Zdravím, 
//  
//  děkuji za rady ohledně bootloaderu. 
//  
//  Nejspíš si ho napíšu sám a měl bych zhruba následující myšlenku: 
//  
//  
//  1. Do PIC se přenáší soubor abcd.hex přímo v ASCII tvaru, každý řádek je

//  několik packetů přenosu. Řádek končí speciálním packetem 
//  
//  2. Packety jsou číslované, mají nějaký úvod a jako nožičky a závěr se 
//  posílá CRC. 
//  
//  3. Pokud packet dorazí v pořádku, posílá se zpět ACK. 
//  
//  4. Pokud packet dorazí chybně, posílá se zpět NACK s číslem vadného 
//  packetu. 
//  
//  5. Pokud se vrátil NACK, opakuje PC poslání packetu s číslem, které bylo

//  v NACK. 
//  
//  6. Pokud zpět nedorazil ACK ani NACK, tak PC zkouší poslat poslední 
//  packet několikrát a pokud pořád nic, tak signalisace chyby. 
//  
//  7. Packety se posílají tak, že každý ASCII znak je kódovaný pomocí 50/50

//  kódování kvůli spolehlivosti přenosu přes radio-modem. 
//  
//  8. Pokud jsou packety pro řádek přijaty v pořádku, bootloader vybalí z 
//  packetů data (tedy jednu řádku .HEX souboru) a data zapíše po ověření CS

//  do paměti. 
//  
//  9. Pokud dojde k fatálnímu selhání přenosu, bootloader se vrací na 
//  začátek a čeká na nový start přenosu. 
//  
//  
//  
//  Zapomněl jsem na něco ??? 
//  
//  Buffer pro přijetí celého programu do RAM bohužel nemám. Mohl bych do 
//  robota přidat I2C FRAM (mám je v šuplíku), ale pokud to bude fungovat 
//  tak bych jí tam nerad cpal. Šifrování není potřeba, jedná se víceméně o 
//  hračku a nikoli o komerční projekt. Jde mi jenom o to, aby byl upload 
//  firmware bezproblémový, protože pokud to celé uveřejním na Webu, nechci 
//  řešit, proč se někomu v Austrálii kousnul robot a co s tím má dělat. :-)

//  
//  
//  
//  Zdraví PavelK 
//  
//  _______________________________________________ 
//  HW-list mailing list  -  sponsored by www.HW.cz 
//  Hw-list@list.hw.cz 
//  http://list.hw.cz/mailman/listinfo/hw-list 



  _____  

avast! Antivirus <http://www.avast.com>  : Odchozi zprava cista. 


Virova databaze (VPS): 0602-1, 09.01.2006
Testovano: 11.1.2006 1:16:46
avast! - copyright (c) 2000-2003 ALWIL Software.






Další informace o konferenci Hw-list