plaats aanwijzer in ROM

M

mhamini

Guest
Ik gebruik MB90F591 en MDE,
Ik definieer een pointer als volgt:
__far const unsigned char * TBL_WIN_ADDR_CHN [] =
(
TBL_WIN_0, TBL_WIN_1_CHN,
)
__far const unsigned char TBL_WIN_0 [] =
(
0,1,
1,1,142,238,

1,207,80, 30,16, 0,
0xFF, 0xFF, 0xFF, 0xFF
);
__far const unsigned char TBL_WIN_1_CHN [] =
(
0,2,
1,1,142,238,
31,5,50,90,229,0,8,1,249,0,202,0,201,0,
11,60,70,90,
11,60,85,90,
12,15,70,90,
12,15,70,150,
0xFF, 0xFF, 0xFF, 0xFF
);

Vanwege Ik heb te veel dingen als TBL_WIN_0 [], wil ik op deze plaats in het ROM-gebied.In feite is de linker plaats deze in Rome, maar init init deze in INIT sectie.Dus ik ben kort RAM.
Het probleem is hoe de aanwijzer zoals CONST gebruiken en niet het init in het INIT?

 
Mag je compiler niet pointers steun aan ROM zoals CCS een bijvoorbeeld.
U kunt beter dit controleren

 
Thry als dit, ben ik niet zeker, in mcs51 betekent variabele TBL_WIN_ADDR_CHN wordt geplaatst in het ROM en wijst ook op ROM locatie.

Code:__far const unsigned char * const TBL_WIN_ADDR_CHN []

 

Welcome to EDABoard.com

Sponsor

Back
Top