XC8 a data ver Flash
Jan Smrz
jan.smrz na email.cz
Čtvrtek Červen 20 14:16:46 CEST 2013
On 06/20/2013 09:41 AM, Jan Waclawek wrote:
> vystupu prip. linker map by toto malo byt jasne. Aj ked sa to zrejme bude zdat
> ze to predsa takto v C nemoze fungovat, kupodivu je to vsetko presne podla
> normy; diskutovali sme tu o tom uz prednedavnom. Pointre, ich vnutorna
> reprezentacia a nakladanie s nimi su vysostna zalezitost prekladaca. Treba si
> to cim skor a cim silnejsie natlct do hlavy: POINTER NIE JE ADRESA. Bodka. :-)
> Ak vsak trvate na explicitnej konverzii na adresu, myslim si, ze jedine
> schodne riesenie je schovane v nasledujucej vete z 5.4.5.2.1: If assembly code
> references a C pointer, the compiler will force that pointer to become [...] a
> 24-bit mixed target space pointer, for PIC18 programs. T.j. to pretypovanie
> musi prejst skutocnym pointrom, ktory je pouzity (aspon naoko) aj v asembleri.
> Bohuzial to zrejme znamena aj datovy priestor pre ten pointer, a tipujem, ze
> to vygeneruje aj nejaky kod naviac. Mimochodom, z predchadzajuceho obsahu tej
> kapitoly vyplyva, ze 21.bit (ktory pre PIC18 rozlisuje ci ide o datovu alebo
> programovu pamat) bude vynulovany. wek
Muzete prosim uvest kousek kodu, jak tedy spravne prevest pointer na adresu? Ne
zcela jsem pochopil doporucovany postup.
Dekuji,
J.S.
Další informace o konferenci Hw-list