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