C xc8

Josef Štengl ok1ced na nagano.cz
Středa Prosinec 6 16:10:57 CET 2017


Co se stane, když do přidáte na konec paměti? Můj nasliněný prst tvrdí, že linker posune začátek sekce .text až za tento 
řetězec (neznám ani kompilátor ani zařízení).


Dne 6.12.2017 v 12:51 Miroslav Draxal napsal(a):
> 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 na list.hw.cz] On Behalf Of konfera na 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 na volny.cz>
> Subj:  C xc8
> Date:  Tue 5. Dec 2017 17:24
> Size:  2K
> To:  "'HW-news'" <hw-list na list.hw.cz>
> 
>       Dobrý den,
> Ne¾ to ode¹lu jako bug vxc8, optám se zdej¹ích odborníku.
> 
> const char ootLoader [] @0x30 = {"BootLoader"};  ulo¾í do ROM od adresy 0x30
> 
> const char ootLoader  @0x30 = {"BootLoader"};
> 
> ulo¾í do ROM od adresy 0x100 pro procesory do 8kW, 0xf00 pro procesory do 64kW bez upozornìní.
> Myslíte, ¾e je ktomu nìjaký dùvod?
> Díky za reakce, Míra
> 
> Ps. Navazuje na vlákno PIC XC8 Bootloader
> 
>   
> 
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz Hw-list na list.hw.cz http://list.hw.cz/mailman/listinfo/hw-list
> 
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
> 


Další informace o konferenci Hw-list