Update PIC po zbernici
Moderátori: psichac, Moderátori
Update PIC po zbernici
Ahojte,
rozmýšľam si vytvoriť nejaké moduly ktoré budú komunikovať po zbernici rs485. Všetky budú ako slave a jeden master bude z/do nich vyčítavať/zapisovať. Moduly by som chcel založiť na nejakom PIC. Len ma napadla myšlienka, že ak by som chcel niekedy v budúcnosti urobiť update modulov, ako by sa to dalo riešiť? Je nejaká možnosť ako to vymyslieť po zbernici? (Poprípade, nejaká iná zbernica, poprípade iný typ mikrokontroléra).
rozmýšľam si vytvoriť nejaké moduly ktoré budú komunikovať po zbernici rs485. Všetky budú ako slave a jeden master bude z/do nich vyčítavať/zapisovať. Moduly by som chcel založiť na nejakom PIC. Len ma napadla myšlienka, že ak by som chcel niekedy v budúcnosti urobiť update modulov, ako by sa to dalo riešiť? Je nejaká možnosť ako to vymyslieť po zbernici? (Poprípade, nejaká iná zbernica, poprípade iný typ mikrokontroléra).
0
-
- Ultimate člen
- Príspevky: 2587
- Dátum registrácie: 20 Júl 2010, 00:00
- Bydlisko: okolie KE
- Vek: 27
Re: Update PIC po zbernici
Nepoznám PICka, ale inšpiroval by som sa arduino bootloaderom. Ten je síce pre uart, ale dôležitejšie je to, že dokáže update flash podľa dát, ktoré prídu po komunikačnom rozhraní. Ktoré rozhranie to bude, je už na implementácii bootloadera.
0
-
- Ultimate člen
- Príspevky: 2328
- Dátum registrácie: 25 Jún 2013, 21:06
- Bydlisko: Krajné
- Vek: 57
- Kontaktovať používateľa:
Re: Update PIC po zbernici
Na zbernici nezáleží. Potrebuješ procesor ktorý vie robiť tzv self programing. Vedia to PIC aj AVR
Pre PIC napr. tu
http://ww1.microchip.com/downloads/en/A ... 00750a.pdf
Pre avr. celé arduino je na tom postavené.
S problematikou ešte úzko súvisí pojem bootloader.
Bootloader je to čo si musiš v tvojom prípade napísať sám. Alebo pohľadať už hotové pre vybratý typ zbernice a komunikačný protokol.
Pre PIC napr. tu
http://ww1.microchip.com/downloads/en/A ... 00750a.pdf
Pre avr. celé arduino je na tom postavené.
S problematikou ešte úzko súvisí pojem bootloader.
Bootloader je to čo si musiš v tvojom prípade napísať sám. Alebo pohľadať už hotové pre vybratý typ zbernice a komunikačný protokol.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.
-
- Ultimate člen
- Príspevky: 6236
- Dátum registrácie: 20 Júl 2007, 00:00
- Vek: 41
Re: Update PIC po zbernici
pozri, ako to ma riesene esp8266. zakladna podmienka je mat volnych viac ako 50% v ulozisku. princip je taky, ze sa stiahne novy fw, ulozi sa a po restarte sa vykona self programming, resp. sa prepise program v eeprom tym novym fw.
0
Jedním z největších projevů nedůvěry v Boha je hromosvod na kostele.
Re: Update PIC po zbernici
Zaujimave by bolo urobit nieco ako A/B particie. V polke pamate je aktualny program, do druhej sa vie za behu nahrat novy a na zaciatok pamate dat len skok na spravne miesto. Pri najblizsom starte sa spusti ten spravny program. A za urcitych okolnosti by sa mohol prepnut aj bez restartu, resp. len s nejakym ciastocnym.
0
-
- Ultimate člen
- Príspevky: 2587
- Dátum registrácie: 20 Júl 2010, 00:00
- Bydlisko: okolie KE
- Vek: 27
Re: Update PIC po zbernici
Ja si myslím, že to komplikujete. Prvé by som skúsil obyčajný bootloader na štýl arduina.
Ak to nepôjde, potom skúsiť verziu podobne ako espčko.
A ak by zázrakom ani to nezabralo, potom špekulovať nad nejakými divočinami.
V prípade wifi updatu chápem použitý princíp, bootloader by inak musel mať celý tcp/ip stack. V prípade primitívnych zberníc ako rs232 na to nevidím dôvod.
Ak to nepôjde, potom skúsiť verziu podobne ako espčko.
A ak by zázrakom ani to nezabralo, potom špekulovať nad nejakými divočinami.
V prípade wifi updatu chápem použitý princíp, bootloader by inak musel mať celý tcp/ip stack. V prípade primitívnych zberníc ako rs232 na to nevidím dôvod.
0
-
- Ultimate člen
- Príspevky: 6236
- Dátum registrácie: 20 Júl 2007, 00:00
- Vek: 41
Re: Update PIC po zbernici
maskrtnik: je to jednoduche, ked ti zlyha prenos nic sa nedeje, lebo fw sa aktualizuje az ked je cely stiahnuty. v pripade rs232 ak ti pocas nahravania padne spojenie, tak mas nefunkcny system a v lepsom pripade to vies poslat este raz.
0
Jedním z největších projevů nedůvěry v Boha je hromosvod na kostele.
-
- Ultimate člen
- Príspevky: 2328
- Dátum registrácie: 25 Jún 2013, 21:06
- Bydlisko: Krajné
- Vek: 57
- Kontaktovať používateľa:
Re: Update PIC po zbernici
Samozrejme že to viem poslať ešte raz. Aj 100x. Žiadnych 50% volných v úložisku (to je čo pri čistom MCU?) nepotrebujem. Nepotrebujem ani úložisko. Jediné čo potrebujem je dobre napísaný bootloader.
Tento napríklad podporuje aj AES šifrovanie.
http://ww1.microchip.com/downloads/en/A ... 02462A.pdf
Vďaka tomu som schopný updajtnúť masinu aj v číne bez toho aby mi šlohli fw len blbím odpočúvnutím komunikácie.
Sú k tomu zdrojáky pre AVR rodinu a aj pre PC. Sám som si napísal uploader do android aplikácie a tak to viem updatovať cez mobil a bt modul. Mám to upravené aj pre RS485. Viem navaliť sw do hocijakého uzla. Komplet užívatelskú flash. Pri poruche spojenia sa na to príde úplne vidlácky pomocou timeoutu. Potom to reštartne bootloader a čaká sa na nový upload. Je to samozrejme chránene aj kontrolnou sumou. Takže ak nesedí, bootloader signalizuje chybu uploadu a ostane sa trčať v ňom a opäť sa čaká na nový upload. Aj keď sa to vypne, tak pri novom zapnutí opäť bootloader zistí že nesedí kontrolná suma a zostane sa trčať tam a čaká sa na nový upload.
Sú to jednoduché MCU bez file systémov a naozaj to nie je potrebné veľmi komplikovať. Pokiaľ to teda nechcete nasadiť do Mochoviec.
Tento napríklad podporuje aj AES šifrovanie.
http://ww1.microchip.com/downloads/en/A ... 02462A.pdf
Vďaka tomu som schopný updajtnúť masinu aj v číne bez toho aby mi šlohli fw len blbím odpočúvnutím komunikácie.
Sú k tomu zdrojáky pre AVR rodinu a aj pre PC. Sám som si napísal uploader do android aplikácie a tak to viem updatovať cez mobil a bt modul. Mám to upravené aj pre RS485. Viem navaliť sw do hocijakého uzla. Komplet užívatelskú flash. Pri poruche spojenia sa na to príde úplne vidlácky pomocou timeoutu. Potom to reštartne bootloader a čaká sa na nový upload. Je to samozrejme chránene aj kontrolnou sumou. Takže ak nesedí, bootloader signalizuje chybu uploadu a ostane sa trčať v ňom a opäť sa čaká na nový upload. Aj keď sa to vypne, tak pri novom zapnutí opäť bootloader zistí že nesedí kontrolná suma a zostane sa trčať tam a čaká sa na nový upload.
Sú to jednoduché MCU bez file systémov a naozaj to nie je potrebné veľmi komplikovať. Pokiaľ to teda nechcete nasadiť do Mochoviec.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.
- lucky62
- Zaslúžilý člen
- Príspevky: 1151
- Dátum registrácie: 14 Feb 2012, 20:16
- Bydlisko: Liptovský Mikuláš, SK
Re: Update PIC po zbernici
Len malý dodatok k téme...
Otázka je, či zariadenie má byť možné naprogramovať kedykoľvek, bez potreby akejkoľvek predchádzajúcej prípravy. T.j. pri behu normálneho programu.
Alebo či treba na naprogramovanie urobiť nejakú operáciu (napr. reset so stlačeným tlačidlom - boot do bootlodera).
Záleží od požiadaviek... A potom je tu ešte OTA (Over The Air) update ...
Otázka je, či zariadenie má byť možné naprogramovať kedykoľvek, bez potreby akejkoľvek predchádzajúcej prípravy. T.j. pri behu normálneho programu.
Alebo či treba na naprogramovanie urobiť nejakú operáciu (napr. reset so stlačeným tlačidlom - boot do bootlodera).
Záleží od požiadaviek... A potom je tu ešte OTA (Over The Air) update ...
0
-
- Ultimate člen
- Príspevky: 2328
- Dátum registrácie: 25 Jún 2013, 21:06
- Bydlisko: Krajné
- Vek: 57
- Kontaktovať používateľa:
Re: Update PIC po zbernici
Toto je len veľmi drobný, implementačný detail. Z užívateľskej sekcie sa dá hocikedy skočiť do bootloaderu, takže tam kludne môže byť príkaz ktorý diaľkovo inicializuje update firmware. Čo je samozrejme pohodlné ak je modul niekde neprístupný. Samozrejme tu ale potom hrozí to že pri nahratí chybného fw sa už táto funkcia nedá aktivovať. To sa zase rieši tak že bootloader čaká nejaký čas po reštarte na update. A aj neprístupné zariadenie sa zvyčajne dá vypnúť a znova zapnúť. Všetko je to riešitelné a na začiatku som to zhrnul do jediného bodu - dobre napísaný bootloader.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.