Nahrani firmware

Ahoj,
je to spise obecna otazka, ale jelikoz delam s dsPICem, tak jsem to umistil sem.
Budu delat zarizeni ktere bude merit veliciny namerenych pomoci senzoru na palube modelu. Jde mi o to, ze s postupnym vyvojem se budou cidla menit a take se bude menit sw pro vyhodnoceni.
Napr. Unilog, coz je podobny system jako chci udela ja, tak to resi pomoci pripojeni Unilogu k PC pomoci USB a nahraje se tam novy firmware. Zajimalo by me, jak se to vlastne dela, to se prepise cela pamet programu, nebo se prepisuje nejaka externi pamet? Ma s tim nekdo zkusenost? Uvitam jakoukoliv radu jak na to :slight_smile:

Pro predstavu jak vypada ten Unilog:
sm-modellbau.de/shop/product … 6&cPath=11

Nerobim s dsPIC, tak skor vseobecne.

Je dobre vybrat si procesor, ktory ma IAP (in aplication programing). To asi dsPIC bude.
Vtedy si vies napisat program (bootloader), ktory je umiestneny “mimo” hlavnu programovu oblast - napriklad na vrchu Flash. Atmega ma na to priamo dobre nastroje, urcite aj dsPIC. Tento sa spusti za specialnych okolnosti (stlacenie tlacitka, zapis nejakej dohodnutej hodnoty cez UART a tak podobne - podmienku spustenia bootloadera si naprogramuje programator ako len chce) a ocakava prijem spravy (moze byt rozkuskovana na mnoho mensich), ktora obsahuje “hlavny” program.

Tento kod ulozi (zvycajne) od adresy 0x0000 a po skonceni prenosu skoci na tuto adresu. Principialne je jedno, ci sa komunikacia medzi mcu a PC realizuje priamo cez USB (ak ho mcu podporuje), alebo cez UART (moze byt aj integrovany prevodnik USB/UART), alebo I2C ci SPI. To uz zavisi od konkretnej aplikacie.

Kludne si mozes naprogramovat preprogramovanie procesora cez infra (prenos bude asi trochu dlhsie trvat), alebo cez RF. Vyhoda IAP je okrem ineho i v tom, ze ak poznas obsah predchadzajuceho programu a spravis v nom male zmeny, preprogramovat staci iba tie sektory vo Flash, kde nastala zmena. Potom je programovanie omnoho rychlejsie ako cez klasicky programator.

Aha, takze pomalu zacinam chapat, jak to vlastne funguje :slight_smile: Dulezite je, ze vim co vlastne hledat.
Programovani by probihalo pomoci UARTu prez UART/USB prevodnik. Pokud se dela zarizeni jen pro sebe, tak asi nema ani vyznam se tim zabyvat, ale pokud to ma jit dal, je to dulezite.

Diky za pomoc.
Pokud by nekdo mel jiz tuto problematiku s dsPICem vyresenou, uvitam info.

Tady je navod:
jakub.serych.cz/zaciname-dspicem-3-bootloader

Vse je dobre popsano a vysvetleno.