XC32 a pole v RAM vetsi velikosti

Jan Waclawek konfera na efton.sk
Sobota Březen 14 10:12:01 CET 2020


> Sice o PIC vím celkem prd

+1 (a prd viem aj o MIPSe) a na nasledujuci post som venoval studium v
rozsahu asi 10 minut.

> __attribute__((section("bigdata")));
Mate taku input section definovanu v linker skripte? Pochybujem. Linker
potom pouzije nejake svoje defaultne pravidla, ktore nemusia robit to, co
ste zamyslali.

> zkuste nastudovat
> http://ww1.microchip.com/downloads/en/DeviceDoc/50002186A.pdf
> kapitola 8. Až pochopíte jak to funguje, tak se snad dopracujete k 
> nìjakému výsledku.

Mozno by som skor doporucoval 3.3.5.3 BASEREG+OFFSET OPERANDS. K tomu patri
aj nastudovanie DS51686 a vsetkeho co suvisi s GP-relative addressing (a
ano, s tym suvisi aj prepinac -G, ktory je v tom manuali kompilatora
popisany). 

Tipujem, ze defaultne nastavenie (v utrobach nejakeho IDE co pouzivate,
alebo mozno v specs?) toho -G je niekde okolo 10kB a ze mate definovanych
viac poli co maju par kilobyte. Skusil by som na uvod tie polia
individualne dat do section .bss

JW



Dne 13. 03. 20 v 23:30 Libor Koneèný napsal(a):
> Jeste jsem zapomnel co vse jsem zkousel.
> Zkousel jsem pridat za pole
> __attribute__((section("bigdata")));
> 
> Pak zvysit v projektu heap memory
> Zmenit kompilator z 1.44 na 2.3
> 
> Precist
> https://www.microchip.com/forums/m923449.aspx
> 
> A stale bez vysledku, pokud velikost statickych promennych presahne 
> 64kB, tak to proste ohlasi chybu.
> Procesor je PIC32MK1024GDP064 ma 256kB SRAM.
> V projektu se zobrazuje vyuziti pameti spravne.
> 
> Dekuji
> Libor



Další informace o konferenci Hw-list