C xc8

Miroslav Draxal evik na volny.cz
Středa Prosinec 6 16:44:03 CET 2017


Vše už proběhlo. Napsal jsem do Microchipu. Podle mě je to omezení XC8
Míra

-----Original Message-----
From: Hw-list [mailto:hw-list-bounces na list.hw.cz] On Behalf Of Jan Waclawek
Sent: Wednesday, December 06, 2017 3:54 PM
To: HW-news; HW-news
Subject: RE: C xc8

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 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,
>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
>
> 

_______________________________________________
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