abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 02:11 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 19:11 | Zajímavý projekt

    Fugleramme, v překladu 'ptačí rámeček', je open-source projekt postavený na Raspberry Pi, který pomocí lokální umělé inteligence BirdNET-Go rozpoznává ptačí druhy podle jejich zpěvu a na displeji následně zobrazuje koláž tvořenou odpovídajícími ilustracemi. Databáze obsahuje přes 800 ručně vybraných historických přírodovědných ilustrací více než 400 druhů ptáků.

    … více »
    AfD 💙 | Komentářů: 0
    včera 16:55 | Nová verze

    Unicode Consortium, nezisková organizace koordinující rozvoj standardu Unicode, oznámila vydání Unicode 18.0. Přidáno bylo 13 007 nových znaků. Celkově jich je 172 808. Přibylo 9 nových Emoji.

    Ladislav Hagara | Komentářů: 2
    včera 13:22 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 169 (pdf).

    Ladislav Hagara | Komentářů: 0
    včera 03:33 | Nová verze

    Byla vydána nová verze 6.4 programovacího jazyka Swift (Wikipedie). Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    17.9. 23:11 | Komunita

    Německý kancléř Friedrich Merz (CDU) se během debaty s finalisty studentské vědecké soutěže Jugend forscht vyjádřil pro konec anonymity na internetu a vyslovil názor, že pro uživatele Internetu by měla platit podobná právní odpovědnost jako pro novináře tradičních médií. Na dotaz studenta, jak by se tedy povinnost uvádět pravé jméno slučovala s prací investigativních novinářů nebo ochranou jejich zdrojů, Merz neodpověděl, ve své

    … více »
    AfD 💙 | Komentářů: 29
    17.9. 17:55 | IT novinky

    Společnost Fujitsu představila FUJITSU-MONAKA CPU a Fujitsu MONAKA Server. Navrženo, vyvinuto a vyrobeno v Japonsku. Pro suverénní AI infrastrukturu.

    Ladislav Hagara | Komentářů: 0
    17.9. 16:44 | IT novinky

    Předprodej v květnu představených notebooků Googlebook, nástupců notebooků Chromebook, bude spuštěn v pondělí 21. září.

    Ladislav Hagara | Komentářů: 4
    16.9. 23:22 | Nová verze

    Byla vydána betaverze Fedora Linuxu 45 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 20. října. S konzolí kmscon místo fbcon. Současně byla vydána betaverze Fedora Linux Asahi Remixu 45. S podporou čipů M3.

    Ladislav Hagara | Komentářů: 3
    16.9. 21:44 | Nová verze

    Po půl roce vývoje od vydání verze 50 bylo vydáno GNOME 51 s kódovým názvem "A Coruña" (Mastodon). Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře. Videopředstavení na PeerTube a YouTube.

    Ladislav Hagara | Komentářů: 36
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (21%)
    Celkem 2692 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: XMEGA bootloader bez preruseni behu hlavni aplikace

    27.3.2020 21:44 RadekXxX | skóre: 10
    XMEGA bootloader bez preruseni behu hlavni aplikace
    Přečteno: 612×
    Ahoj, snazim se napsat bootloader, tak aby 1/2 aplikacni pameti obsahovala hlavni aplikaci a 2/2 aplikacni pameti byla jako "buffer" pro nove nahravanou aplikace pres bootloader, jakmile se nova aplikace nahraje, tak se pouze presune 2/2 do 1/2 a provevde skok na zacatek pameti, takze uzivatel ani nepozna, ze se provedla aktualizace, resil jsem to tak, ze jsem v hlavni aplikaci zapisoval data do flash, na konci skocil na bootloader, ktery jenom preklopil 2/2 do te 1/2, bohuzel jsem zjistil, ze v pameti zustane jenom ta boot sekce, jinak je vse smazane, pak jsem zjistil, ze SPM prikazy lze volat pouze z BOOT sekce. Take me napadlo to udelat takto:

    - Vytvorit funkce FlashRead, FlashWrite, FlashErase, FlashDone(to presune 2/2 do 1/2 flash a skoci na adresu 0) a funkcim dat atribut boot sekce - Potom bych mel tyto funkce normalne funkcni a pristupne z aplikacni casti, takze bootloader bych resil primo z aplikace - Kdyz bych provadel update FW, tak bych HEX orezal po BOOT sekci a tuto cast bych posilal jako update

    ale tet nevim, kdyz to jednoduse orezu, tak pravdepodobe jina kompilace programu, novejsi prekladac, optimalizace,.. tyto funkce bude hledat v pameti na jine adrese.

    Je mozne to resit tak, ze pro kazdou funkci vyhradim atributem zvlastni sekci v boot prostoru a pak bude jasne, ze na te adrese je vzdy ta spravna funkce ? Nebo nad tim premyslim uplne nesmylsne a resi se to jinak ?

    Dekuji za rady

    Odpovědi

    Jendа avatar 27.3.2020 21:55 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: XMEGA bootloader bez preruseni behu hlavni aplikace
    Ano, takhle přesně to doporučovali v nějaké appnote.

    Bootloader a hlavní appku kompiluju jako úplně nezávislé věci. Funkce v boot sekci můžeš buď linker skriptem přilepit na předem určenou adresu (což je trochu nepružné kdyby třeba nová verze té funkce byla větší a bylo by to potřeba posunout), nebo si na známou adresu dát jejich adresy a volat je přes ně. Určitě je nechceš volat z hlavní appky jménem a doufat že se to nějak pořeší při linkování, to se ti časem rozbije. Normálně si vymysli adresu, přetypuj ji na funkci a zavolej ji.

    (disclaimer: xmega jsem nikdy nepoužíval, ale s atmegama jsem se vyblbnul dost)
    27.3.2020 22:07 RadekXxX | skóre: 10
    Rozbalit Rozbalit vše Re: XMEGA bootloader bez preruseni behu hlavni aplikace
    No ja prave bootloader budu mit primo v hlavni aplikaci, takze ho nepotrebuji sestavovat v jinem projektu, jedna se me jenom o ty 4 SPM funkce. Takze pokud kazde funkci nastavim atributem jinou section v boot oblasti, tak je muzu z aplikace pod jejim jmenem volat libovolne i kdyz bude jina verze kompilatoru, linker, optimalizace, ...

    Chapu to spravne ?
    28.3.2020 10:32 RadekXxX | skóre: 10
    Rozbalit Rozbalit vše Re: XMEGA bootloader bez preruseni behu hlavni aplikace
    Takze funkcni reseni vypada takto:
    void FlashErasePage (dword addr) __attribute__ ((section (".BootErasePage")));
    void FlashWritePage (dword addr, byte * buf) __attribute__ ((section (".BootWritePage")));
    ...
    
    Kazda funkce je na jine adrese v oblasti bootloaderu.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.