STM32F1xx vlastn bootloader

Miroslav Mraz mraz na seznam.cz
Sobota Květen 17 15:50:44 CEST 2014


Teď jsem koukal, že může být aplikace totálně nefunkční a lze se z toho 
vyhrabat i bez zásahu obsluhy. V bootloaderu použít watchdog s tím, že 
po výstupu z něj občerstvování převezme aplikace. A pokud v ní bude 
zásadní chyba, watchdog provede reset. Po resetu může bootloader zjistit 
z registru RCC_CSR, že reset provedl právě watchdog, takže podruhé již 
aplikaci nespustí a požádá o nový firmware.
Pokud ho po určitou dobu nedostane, zkusí aplikaci znovu spustit, 
protože chyba nemusí být tak úplně kritická. Nic lepšího mě prozatím 
nenapadá, ale tohle by mohlo chodit.

Mrazík

On 05/17/2014 11:36 AM, Jaroslav Buchta wrote:
> Jj, to je asi nejrozumnejsi reseni ktere jsem taky zvazoval (data bych 
> mel spis mimo procesor v nejake SPI flash ale to je jedno)
> Krome toho, ze nesmi vypadnout napajeni se taky nesmi stat, ze bude 
> nova aplikace nejak zasadne nefunkcni, ale co uz se da delat...
> Dalsi moznost me napadla napevno umisteny bootloader od 0, vektory 
> presmerovany do aplikace umistene za bootloaderem, dalo by se 
> prehravat bez ulozeni do mezipameti primo, v pripade selhani nebo 
> nefunkcnosti aplikace se nic nestane, bootloader bude fungovat po 
> resetu dal... To presmerovani vektoru je ovsem jedna nebo par 
> instrukci navic (u tech, co by vyuzival i bootloader, hlavne USB)
> Spis se zatim klonim k te druhe variante.
> Skoda, ze vektory nejdou presmerovat primo, jako treba u AVR



Další informace o konferenci Hw-list