Keil™, An ARM® Company

Discussion Forum

const far support in 8.06

Next Thread | Thread List | Previous Thread Start a Thread | Settings

DetailsMessage
Read-Only
Author
Archie Zhang
Posted
16-Mar-2007 18:06 GMT
Toolset
C51
New! const far support in 8.06

I upgraded Keil C PK51 from 7.1 to 8.06, then my project can't be rebuilt, some functions are missing:
?C?ISTOPTR:
?C?CSTOPTR:
?C?LSTKOPTR:
?C?LSTOPTR:

Where can I find those functions?

I'm using M8051EW Extended Linker, "far" memory type support, Code banking, the banked const data are located in:
HCONST ( B0:0x4000-B0:0xFFFF, B8:0x4000-B8:0xFFFF, B9:0x4000-B9:0xFFFF, BA:0x4000-BA:0xFFFF, BC:0x4000-BC:0xFFFF,BD:0x4000-BD:0xFFFF,BE:0x4000-BE:0xFFFF, BF:0x4000-BF:0xFFFF)

Read-Only
Author
erik malund
Posted
16-Mar-2007 18:32 GMT
Toolset
C51
New! RE: const far support in 8.06

have you contacted Keil support on this?

Erik

Read-Only
Author
Archie Zhang
Posted
17-Mar-2007 03:57 GMT
Toolset
C51
New! RE: const far support in 8.06

Just sent the request.

It seems the new compiler/linker added:
; ?C?CLDXPTR, ?C?CSTXPTR ; load/store BYTE (char) in extended memory *
; ?C?ILDXPTR, ?C?ISTXPTR ; load/store WORD (int) in extended memory *
; ?C?PLDXPTR, ?C?PSTXPTR ; load/store 3-BYTE PTR in extended memory *
; ?C?LLDXPTR, ?C?LSTXPTR ; load/store DWORD (long) in extended memory

which are not required in Keil 7.X.

I can find those sample functions in XBANKING.A51, but I can't find other new functions.

Read-Only
Author
Reinhard Keil
Posted
18-Mar-2007 10:06 GMT
Toolset
C51
New! RE: const far support in 8.06

when 'far' memory type support is correctly enabled, the compiler does not use the library functions that end with OPTR.

So it appears that one of the C51 object files are not translated with 'far' memory type support (maybe because they are part of a library).

More information about the iibrary functions is available here: http://www.keil.com/support/docs/1964.htm

Read-Only
Author
Archie Zhang
Posted
18-Mar-2007 15:28 GMT
Toolset
C51
New! RE: const far support in 8.06

Yes, one of my libraries is not compiled with "far" enabled. Now the problem is solved. Thanks Reinhard.

Next Thread | Thread List | Previous Thread Start a Thread | Settings