XC8 pro PIC a problem __section

Libor Konečný support na mikrovlny.cz
Středa Říjen 27 16:51:20 CEST 2021


Uz jsem na to prisel

je to nastaveni  linkeru primo v Properies MPLAB menu.

default,-1F000-1FFFF


LK

Dne 27.10.2021 v 14:57 Libor Konečný napsal(a):
> Dobry den vsem
>
> Hledam radu od zdejsich expertu.
>
> Presedlal jsem na XC8 a novy MPLAB.
>
> Ten nepouziva linker script a ja diky tomu bobuji s velkym problemem.
>
>
> Mam  funkce:
>
> boot1(); boot2(); az bootN()
>
>
> a pak funkce main(); debug(); a dalsi();
>
>
> potrebuji kompilatoru dat vedet, aby mi veskere funkce zkompiloval do 
> programove pameti ale vyhrazene  napriklad od 1B000h-1BFFFh
>
> Ale tak, aby se v teto sekci nachazely jen funkce ktere urcim, zadne 
> jine.
>
> Zkousel jsem nastaveni pomoci sekci -Wl,-aBootAdresa=1B000h-1BFFFh 
> -Wl, -pBOOTSekce=SpodniAdresy
>
> tedy
>
> __section("BOOTSekce") boot1();
>
> __section("BOOTSekce") boot2();
>
> __section("BOOTSekce") bootN();
>
> A pak vsechno ostatni do sekce  MAIN, ktera ma vyhrazene adresy od 
> 0xc0 az 0x10000h
>
>
> Coz funguje, ale..... do techto sekci konkretne do BOOT tam kompilator 
> nacpe i takove funkce, ktere nemohu ovlivnit jako jsou
>
> __end_of___aldiv                             text79        01D4F8
> __end_of___awdiv                             text130       01D6BA
> __end_of___awmod                             text126       01D7AC
> __end_of___lbdiv                             text145       01DB6A
> __end_of___lbmod                             text176       01DBCA
> __end_of___lldiv                             text206       01D73C
> __end_of___lmul                              text201       01D8C8
> __end_of___lwdiv                             text252       01D96E
> __end_of___lwmod                             text202       01DAEE
> __end_of___wmul                              text255       01DBF4
> __end_of__fassert                            text121       01DC1C
>
> __end_of_strcat                              text225       01D818
> __end_of_strcpy                              text209       01D91C
> __end_of_strlen                              text254       01DA0E
>
> __pidataBANK2                                idataBANK2    01DC4E
> __pidataBANK3                                idataBANK3    01DC46
> __pidataBANK4                                idataBANK4    01DA0E
> __pidataBANK5                                idataBANK5    01DAEE
> __pidataBANK6                                idataBANK6    01D5AA
> __pidataBANK7                                idataBANK7    01D96E
>
> a dokonce __pcinit cinit         01D2DE  coz nevim co je ,asi nejaka 
> interni startovaci funkce,
>
> a co nechapu, proc se mi to snazi narvat do te bootsekce na konec 
> programu, kdyz ma sakra misto na nizsich adresach.
>
>
> Ma otazka je, jak donutit linker k tomu aby sekci BOOT  mel jako 
> najeky PROTECT, do ktere by nacpal jen funkce oznacene __section.
>
>
> Velke diky tomu, kdo me vytahne ze .... ehm z bahna noveho XC8 :-)
>
>
> Libor
>
>
>
>
> _______________________________________________
> 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