Strana 1 z 1

Update PIC po zbernici

Napísané: 12 Jan 2021, 14:41
od používateľa KECOnaj
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).

Re: Update PIC po zbernici

Napísané: 12 Jan 2021, 14:50
od používateľa maskrtnik01
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.

Re: Update PIC po zbernici

Napísané: 12 Jan 2021, 14:55
od používateľa peterple
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.

Re: Update PIC po zbernici

Napísané: 12 Jan 2021, 15:29
od používateľa KECOnaj
Ďakuje, myslím že ste mi ukázali správny smer a čo hľadať :agree:

Re: Update PIC po zbernici

Napísané: 12 Jan 2021, 15:43
od používateľa pocitujlasku
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.

Re: Update PIC po zbernici

Napísané: 12 Jan 2021, 18:38
od používateľa mac26
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.

Re: Update PIC po zbernici

Napísané: 12 Jan 2021, 18:49
od používateľa maskrtnik01
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.

Re: Update PIC po zbernici

Napísané: 12 Jan 2021, 20:06
od používateľa pocitujlasku
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.

Re: Update PIC po zbernici

Napísané: 12 Jan 2021, 20:51
od používateľa peterple
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.

Re: Update PIC po zbernici

Napísané: 13 Jan 2021, 17:08
od používateľa lucky62
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 ... :-)

Re: Update PIC po zbernici

Napísané: 13 Jan 2021, 18:31
od používateľa peterple
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.