Programovy zapis do flash - ATmega

Zdeněk Aster zdenek.aster na seznam.cz
Pátek Listopad 5 12:25:17 CET 2021


Ano přesně tak to dělám, mám rutinu v bootloader, která umí zapisovat a 
pak ji volám z aplikace.
Dokonce mám tam dvě stejné, abych mohl vyměnit i celý kód botlooader 
včetně rutiny.

Je to dělané tak, že přesně na pevných adresách mám jmp do těch rutin. A 
ty rutiny okupuji taky
daný prostor mám pocit 2x 256 bajtů aby to bylo v jednom bloku.

Nemám to sice pro ATmega328 ale xmegy, ale funguje to dobře. Jen 
upozornuji, ze zapisujici rutiny
ma jeste pojistku nejakou hodnotu promene co se predava a ta potvrzuje 
ze fakt chci a je nutne mi zapnuty
watchdog na napeti, protoze se mi stavalo, ze se obcas pri poklesu 
napajeni pri vypnuti, skocilo do te rutiny
a ta jen tak neco nahodne smazala. Nedela to vzdy, ale tech atxmeg v tom 
zarizeni bylo zhruba 200kusu,
tak se to obcas projevilo dokud jsem to takto nevylepsil....

Zdeněk Aster

Dne 05.11.2021 v 12:03 Jaroslav Buchta napsal(a):
> Neni resenim uprevit bootloader, vytvorit si v nem funkci, ktera bude 
> zapisovat nekam do FLASK a volat jiz normalne z programu? Z
> Z fora:
>
> Solution: Install a bootloader that does allow you to run functions 
> that enable you to write to flash.
>
> Here is a bootloader (featured on hackaday) for an arduino that allows 
> you to write to flash memory during 
> runtimehttp://majek.mamy.to/en/writing-to-internal-flash-on-arduino/
>
> Here is the hackaday post on the 
> subjecthttps://hackaday.com/2015/07/03/arduinos-and-other-avrs-write-to-own-flash/
>
>
> Dne 05.11.2021 v 10:58 Martin Hanek napsal(a):
>> Asi ne:
>> https://stackoverflow.com/questions/29732014/how-to-store-data-in-the-flash-memory-of-a-arduino-uno-atmega328p 
>>
>>
>> Martin Hanek
>>
>> Dne 05.11.2021 v 10:50 Admin HWnews napsal(a):
>>> Zdravim,
>>>
>>> snad jsem uz nejak zmermomocnil praci s MPLAB X ...timto dekuji vsem 
>>> kdo mi radili.
>>>
>>> Nicmene krome neveho IDE jsem presel (alespon kvuli jednomu 
>>> projektu, kde je jiz hotovy HW) i na Atmega328P, se kterym se take 
>>> seznamuji ale samozrejme nemuzu to pojmout cele tak rychle jak bych 
>>> chtel.
>>>
>>> Bohuzel narazil jsem v zadani na nutnost ukladat pomerne dost cfg. 
>>> dat (ne casto...spis jen v pripade zmeny konfigurace) a uz ted jsem 
>>> skoro na 80% cele EEPROM.
>>>
>>> Existuje nejaka moznost ukladat data (promenne) do PROGMEM? Tedy 
>>> abych ji mohl pouzivat podobne jako EEPROM? V DS ke kontroleru je 
>>> zminena tzv. SPM, ale netusim zda je to jen otazka v rezimu kdy bezi 
>>> bootloader nebo je to bezne mozne pouzit za chodu.
>>>
>>> Pripadne je na to nejaka knihovna v ramci prekladace XC8 v MPLABu? 
>>> Asi mam problem se na to googla doptat, ale nic rozumneho 
>>> nenachazim...potrebuji aspo nejak postrcit.
>>>
>>> V prekladaci co jsem doted pouzival pro PICy tam podpora byla a mohl 
>>> jsem zapisovat do flash.
>>>
>>> Dekuji za nakopnuti.
>>>
>>> RV
>>> _______________________________________________
>>> HW-list mailing list  -  sponsored by www.HW.cz
>>> Hw-list na list.hw.cz
>>> http://list.hw.cz/mailman/listinfo/hw-list
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored bywww.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20211105/d4334400/attachment.html>


Další informace o konferenci Hw-list