[elektro] xc32

Pipi lista at puzsar.hu
Mon Dec 4 13:56:57 CET 2017


2017.12.04. 12:23 keltezéssel, Ekati Bt. írta:
>> A legegyszerűbb ezt úgy megoldani, hogy beteszel a program szegmensbe egy
>> nagyon jellemző stringet (eg: const char version_str[] = "ide megy a
>> verzio").
> Ezen már túl vagyok.
>
>> Ezt megkeresed hexaban és beleszerkesztesz (pl 4 byta hosszan sorozatszám).
> Ez a módszer macerás tud lenni ha mondjuk egy sorszámot szeretnék beletenni. Minden egyes égetés után szerkeszteni kellene a hex-et. Az IPE pipecül megoldja ezt. Minden égetés után növeli is az
> értéket. Már nézegettem, hogy const változót hova teszi a fordító a memóriában. Azt is el kellene érnem, hogy mindig ugyanoda fordítsa, hogy ne kelljen mindig az aktuális címet kikeresni. Ma még nem
> volt időm foglalkozni vele de köszönöm, hogy foglalkoztál a problémámmal.
valószinűleg c32-ben is működik
#define USER_SERIALNUMBER_ADDRESS 		0x2ABF8
//pic24ep256gu810 flash változó adott címen
const BYTE flashvaltozo1[30] __attribute__ ((space(prog), address(USER_SERIALNUMBER_ADDRESS))) =
{
   "123456789012345""serialnumber"
};
de vigyázz milyen címet adsz meg, pl. a c30 fordító érdekességet csinál...
előfordul hogy a többi változót is ez után a cím után teszi, nem jöttem rá mitől függ
ehhez a linker scriptet nem kell módosítani, lehet ezért kavar be.
A linker scriptben új szegmens létrehozásával lehet ezt nem csinálná

innen gyűjtöttem:
http://www.microchip.com/forums/m564831.aspx
http://www.microchip.com/forums/m242736.aspx


-- 
Pipi
http://www.puzsar.hu



More information about the Elektro mailing list