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 05:11 | Nová verze

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

    Ladislav Hagara | Komentářů: 0
    včera 21:22 | Pozvánky

    Oslavte vydání openSUSE Leap 16.1 s námi v Praze! Ve středu 4. listopadu 2026 (den po vydání Leapu 16.1) vás zveme na malou oslavu vydání openSUSE Leap 16.1 do pražské kanceláře SUSE. Připravili jsme pro vás dvě krátké přednášky: … více »

    lkocman | Komentářů: 1
    včera 16:44 | Bezpečnostní upozornění

    Dle plánu bylo PHP vydáno v nových verzích 8.5.12, 8.4.27, 8.3.36 a 8.2.35. Opraveny jsou kritické zranitelnosti CVE-2026-109618 a CVE-2026-109619 aneb PHP2Shell.

    Ladislav Hagara | Komentářů: 6
    včera 11:55 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-2.1 a 24.04-1.5. S opravou kritických zranitelností.

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

    Společnost Škoda Auto zveřejnila na Printables bezplatné 3D modely příslušenství do svých vozů (držáky na nápoje, pomůcky pro vedení kabelů, mincovníky, háčky na USB kabely a čepice pro kapsy na zadních stranách opěradel sedadel, držáky na telefony a úchyty pro horní upevnění bezpečnostních pásů).

    Ladislav Hagara | Komentářů: 7
    včera 05:11 | Zajímavý článek

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

    Ladislav Hagara | Komentářů: 1
    včera 04:33 | Bezpečnostní upozornění

    Dnes v 16:00 (14:00 UTC) budou opraveny 2 kritické zranitelnosti s CVSS 9.2 v PHP.

    Ladislav Hagara | Komentářů: 7
    včera 01:37 | Bezpečnostní upozornění

    Nizozemská policie 13. října 2026 zabavila v datacentru Amsterdam Science Park server italského poskytovatele internetových služeb Autistici/Inventati (A/I), a to na základě americké žádosti o mezinárodní právní pomoc.… více »

    vencour | Komentářů: 11
    20.10. 20:47 | Bezpečnostní upozornění
    Hlášeny RCE v NGINX. Náprava dostupná. … více »
    vencour | Komentářů: 0
    20.10. 20:33 | IT novinky

    Do 26. října do 18:00 běží na Steamu přehlídka nadcházejících her Festival Steam Next | říjen 2026 (YouTube) doplněná demoverzemi, přenosy a dalšími aktivitami. Demoverze lze hrát zdarma.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (30%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2888 hlasů
     Komentářů: 33, poslední 20.10. 23:44
    Rozcestník

    Dotaz: C tabulka

    rofl.rofl avatar 15.8.2011 21:08 rofl.rofl | skóre: 10
    C tabulka
    Přečteno: 702×
    Zdravím, mam začátečnický dotaz, týká se C pro procesory AVR. Mám tabulku viz. kód, přeložím program a ona se zapíše na nějaké paměťové místo do flash pameti AVR.

    Teď za 1) jak zjistím adresu, na kterém místě v paměťovém prostoru ta tabulka začíná?

    2) můžu nějak zajistit, aby se zapsala napevno na paměťové místo, řekneme třeba 0x2000 a dál?

    Děkuji.

    const uint8_t sinus256[] PROGMEM= //16 bit square wave { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff };
    Mozek je aparát, jehož pomocí si myslíme, že myslíme.

    Řešení dotazu:


    Odpovědi

    Luboš Doležel (Doli) avatar 15.8.2011 23:35 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: C tabulka
    sinus256 se dá z hlediska C považovat také za ukazatel, takže sinus256 zároveň nese adresu toho pole...
    Luboš Doležel (Doli) avatar 15.8.2011 23:36 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: C tabulka
    A co se zápisu týče, co takhle memcpy((void*) 0x2000, sinus256, sizeof(sinus256));
    16.8.2011 08:37 benn
    Rozbalit Rozbalit vše Re: C tabulka
    Tady pozor. U AVR platí, že pokud je proměná vytvořena s atributem PROGMEM, tak nelze k ní přímo přistupovat. Takže například zápis nebude fungovat:
    uint8_t val = sinus256[10];
    
    K přístupu je pak nutné používat funkce z knihovny <avr/pgmspace.h>

    Takže zápis se změní na:
    // platí pro 8bitové pole a MCU s flashí do 64kB
    uint8_t val = pgm_read_byte_near(&sinus256[10]);
    // nebo 
    uint8_t val = pgm_read_byte_near(sinus256 + 10);
    
    
    Určit vlastní adresu by možná šlo vytvořením další sekce na konkrétní adrese. Ono PROGMEM je makrovaná funkce __attribute__((__progmem__)), kde __progmem__ je název sekce. Pro AVR procesory jsem nepotřeboval vytvářet nové sekce, takže zde už neporadím.

    Založit nové vlákno • Nahoru

    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.