Varföt tar RAM minnet slut här
Postat: 17 december 2010, 00:23:41
Skriver ett program till en PIC16F676 och har nedanstående allokeringar av RAM minnet. Enligt map filen så används address 0x20 till 0x53 dvs 52 bytes vilket stämmer om jag räknar ihop använda byte. Men Om jag bara använder ytterligare en byte (genom att res 4 bytes för Value_Ascii istället för tre) dvs totalt 53 byte så genererar länkaren felmeddelandet
Error - section 'ram2' can not fit the section. Section 'ram2' length=0x00000005
Varför? Det ska ju finnas 64 byte RAM i en 16F676 i address 0x20 till 0x5F. Så det borde väl inte vara några problem att allokera 0x20 till 0x54 (eller upp till 0x5F). Det ska ju finnas ytterligare 12 bytes kvar av tillgängligt RAM minne.
Koden för min allokering (detta är allt RAM jag allokerar)
Error - section 'ram2' can not fit the section. Section 'ram2' length=0x00000005
Varför? Det ska ju finnas 64 byte RAM i en 16F676 i address 0x20 till 0x5F. Så det borde väl inte vara några problem att allokera 0x20 till 0x54 (eller upp till 0x5F). Det ska ju finnas ytterligare 12 bytes kvar av tillgängligt RAM minne.
Koden för min allokering (detta är allt RAM jag allokerar)
Kod: Markera allt
ram1 udata_shr
count res 1
temp res 1
Temp res 1
H_byte res 1
L_byte res 1
R0 res 1
R1 res 1
R2 res 1
tempHi res 1
tempLo res 1
sign res 1
fsr0 res 1
dly res 1
Tic500uS res 2
Tic5s res 2
Tic500mS res 1
Value_Ascii res 3
User_status res 1
UbatLo res 1
UbatHi res 1
IbatLo res 1
IbatHi res 1
VinLo res 1
VinHi res 1
VutLo res 1
VutHi res 1
TempLo res 1
TempHi res 1
BCD_HI res 1
BCD_LO res 1
flank0 res 1
flank1 res 1
flank2 res 1
W_Save res 1
STATUS_Save res 1
ACCdLO res 1
ACCdHI res 1
ACCcLO res 1
ACCcHI res 1
ACCaLO res 1
ACCaHI res 1
ACCbLO res 1
ACCbHI res 1
samt i en annan fil
ram2 udata_shr
XmtReg res 1
Count res 1
DlyCnt res 1
offset res 1
W_temp res 1