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 19:33 | Nová verze

    Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl 3,2 %. 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 26,42 %. Procesor AMD používá 66,72 % hráčů na Linuxu.

    Ladislav Hagara | Komentářů: 0
    dnes 15:22 | IT novinky

    Canonical oznámil (YouTube), že nově nabízí svou podporu Ubuntu Pro také pro instance Ubuntu na WSL (Windows Subsystem for Linux).

    Ladislav Hagara | Komentářů: 0
    dnes 13:11 | IT novinky

    Samsung představil svůj nejnovější chytrý telefon Galaxy Z TriFold (YouTube). Skládačka se nerozkládá jednou, ale hned dvakrát, a nabízí displej s úhlopříčkou 10 palců. V České republice nebude tento model dostupný.

    Ladislav Hagara | Komentářů: 1
    dnes 12:33 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.11.1. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    dnes 04:00 | Nová verze

    Byla vydána nová verze 15.0 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 4
    dnes 03:00 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04 1.1 a 20.04 OTA-11. Vedle oprav chyb a drobných vylepšení je řešen také středně závažný bezpečnostní problém.

    Ladislav Hagara | Komentářů: 0
    dnes 00:33 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 16:00 | Komunita

    Fedora zve na dvoudenní testování (2. a 3. prosince), během kterého si můžete vyzkoušet nové webové uživatelské rozhraní (WebUI) projektu FreeIPA. Pomozte vychytat veškeré chyby a vylepšit uživatelskou zkušenost ještě předtím, než se tato verze dostane k uživatelům Fedory a celého linuxového ekosystému.

    Ladislav Hagara | Komentářů: 4
    včera 13:22 | IT novinky

    Eben Upton oznámil zdražení počítačů Raspberry Pi, kvůli růstu cen pamětí, a představil 1GB verzi Raspberry Pi 5 za 45 dolarů.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Humor

    Linus Torvalds na YouTube kanálu Linus Tech Tips staví dokonalý linuxový počítač.

    Ladislav Hagara | Komentářů: 6
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (23%)
     (16%)
     (24%)
     (16%)
     (18%)
    Celkem 423 hlasů
     Komentářů: 18, poslední dnes 18:34
    Rozcestník

    Dotaz: C tabulka

    rofl.rofl avatar 15.8.2011 21:08 rofl.rofl | skóre: 10
    C tabulka
    Přečteno: 397×
    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á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.