C xc8

Jan Waclawek konfera na efton.sk
Středa Prosinec 6 15:53:45 CET 2017


Toto znie velmi XC8-specificky; k tomu sa neviem vyjadrit. Ale v pripade
pochybnosti o umiestneni jednotlivych elementov v pamati by som zacal
skumanim mapfile.

wek



----- Original Message ---------------

>Dobrý den, 
>Proto se ptám zdejších odborníků. 
>Chci pro jeden projekt modifikovat bootloader. Mám nastavený rozsah paměti ROM pro daný pojekt bootloaderu 0x000~0x400.Jsem ve fázi hledání toho co se děje. Překlad skončí úspěšně s tím, že mi zbývá 0x60byte volného místa. A teď
>
>Vložím do zdrojáku 
>1/ Volatile const char ootLoader [] @0x30 = {"BootLoader"};  
>Překlad skončí chybou, o nedostatku místa pro pro překlad.
>Pokud odstraním rozsah ROM (celá paměť) přeloží se vše v pořádku s tím, že konstanta ootLoader je umístěna od adresy  0x30, ale část kódu se uloží od adresy 0xf00 výše.
>
>2/ Volatile const char ootLoader  @0x30 = {"BootLoader"};
>Překlad skončí chybou, o nedostatku místa pro pro překlad.
>Pokud odstraním rozsah ROM (celá paměť) přeloží se vše v pořádku s tím, že ootLoader je umístěna od adresy  0xf00, a část kódu se uloží za konstantu ootLoader
>
>Volatile const char ootLoader [] @0x30 = {"BootLoader"};  
>Volatile const char ootLoader  @0x30 = {"BootLoader"};
>Oba dva řádky vygenerují stejný sled byte v ROM.
>Neřešme zde následný přístup k němu, pouze umístění v paměti.
>
>Prostě mám volných 0x60 bytů a po přidání 11 bytů (11 byt uloží 0) mi to hlásí, že mám nedostatek místa.
>Míra
>
>
>
>-----Original Message-----
>From: Hw-list [mailto:hw-list-bounces at list.hw.cz] On Behalf Of konfera at efton.sk
>Sent: Tuesday, December 05, 2017 10:28 PM
>To: HW-news
>Subject: Re: C xc8
>
>To prve definuje pole charov dlzky danej inicializatorom, a nainicializuju ju tym retazcom.
>
>Tie druhe dva definuju na adrese 0x30 premennu typu char (t.j. jedeb jediny byte), do ktorej sa snazia narvat (nainicializovat ju na) pointer na retazcovu konstantu (string literal). Ta pochopitelne moze byt potom umiestnena kdekolvek.
>
>wek
>
>
>
>-----Original Message-----
>
>From:  "Miroslav Draxal" <evik at volny.cz>
>Subj:  C xc8
>Date:  Tue 5. Dec 2017 17:24
>Size:  2K
>To:  "'HW-news'" <hw-list at list.hw.cz>
>
>     Dobrý den,
>Ne3 to ode1lu jako bug vxc8, optám se zdej1ích odborníku.
>
>const char ootLoader [] @0x30 = {"BootLoader"};  ulo3í do ROM od adresy 0x30
>
>const char ootLoader  @0x30 = {"BootLoader"};
>
>ulo3í do ROM od adresy 0x100 pro procesory do 8kW, 0xf00 pro procesory do 64kW bez upozorniní.
>Myslíte, 3e je ktomu nijaký duvod?
>Díky za reakce, Míra
>
>Ps. Navazuje na vlákno PIC XC8 Bootloader
>
> 



Další informace o konferenci Hw-list