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í
×
    včera 19:33 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za květen (YouTube).

    Ladislav Hagara | Komentářů: 0
    včera 12:11 | Bezpečnostní upozornění

    Byly publikovány informace (txt) o zranitelnostech CVE-2025-5054 v Apport a CVE-2025-4598 v systemd-coredump. Lokální uživatel se může dostat k výpisu paměti programu (core dump) s SUID a přečíst si tak například /etc/shadow.

    Ladislav Hagara | Komentářů: 0
    včera 11:11 | IT novinky

    Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu aktuálně činí 2,69 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 30,95 %. Procesor AMD používá 68,77 % hráčů na Linuxu.

    Ladislav Hagara | Komentářů: 3
    1.6. 23:22 | Nová verze

    Byla vydána verze 4.0 open source programu na kreslení grafů Veusz (Wikipedie). Přehled novinek v poznámkách k vydání. Proběhla portace na Qt 6.

    Ladislav Hagara | Komentářů: 0
    1.6. 11:44 | Nová verze

    Dibuja je jednoduchý kreslící program inspirovaný programy Paintbrush pro macOS a Malování pro Windows. Vydána byla verze 0.26.0.

    Ladislav Hagara | Komentářů: 0
    31.5. 23:33 | Nová verze

    Byla vydána nová verze 9.13 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    31.5. 21:44 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    31.5. 16:33 | Nová verze

    Byla vydána nová stabilní verze 3.22.0, tj. první z nové řady 3.22, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    30.5. 00:33 | IT novinky

    FEL ČVUT vyvinula robotickou stavebnici pro mladé programátory. Stavebnice Brian byla navržená speciálně pro potřeby populární Robosoutěže. Jde ale také o samostatný produkt, který si může koupit každý fanoušek robotiky a programování od 10 let, ideální je i pro střední školy jako výuková pomůcka. Jádro stavebnice tvoří programovatelná řídicí jednotka, kterou vyvinul tým z FEL ČVUT ve spolupráci s průmyslovými partnery. Stavebnici

    … více »
    Ladislav Hagara | Komentářů: 66
    29.5. 20:33 | Komunita

    Ubuntu bude pro testování nových verzí vydávat měsíční snapshoty. Dnes vyšel 1. snapshot Ubuntu 25.10 (Questing Quokka).

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (54%)
     (33%)
     (7%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 180 hlasů
     Komentářů: 14, poslední včera 08:30
    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: 496×
    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.