This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

C51: Absolute address for constants in CODE-space

Does anyone knows a methode, to declare a const struct in code-space at a specific CODE address in C51?


Background:

I use a philips 87LPC767-MC and i want to store some code-revision-info in the 32Byte customer code space.
I will define a C-Structure like

typedef struct
{
unsigned char uc_software_code;
unsigned char uc_main_version;
unsigned char uc_sub_version;
unsigned long ul_checksum;
} CodeRefInfo_ts;

CodeRefInfo_ts tsCodeRefInfo=
{
0x04,
0x01,
0x01,
0x012345678
} at 0xFC0E;

But it seems it is not possible to use the at-Keyword to locate a struct in the codespace?!

Any suggestion?

Thanks
Markus

Parents
  • Hi Markus:

    This works for the C166. I use an assembly file and specify the start address with the CODE AT or ORG statements.

    public CRC
    public ST_ADDR
    public ED_ADDR
    public PART_NUMB
    
    INFO_TAB SECTION CODE AT 0A000H
    
    INFO_PROC PROC
    
       CRC:         dw  0432fH
       ST_ADDR:     dw  00000H
                    dw  04000H
       ED_ADDR:     dw  00001H	
                    dw  0FFFFH
    
                    org 0A010H
       PART_NUMB:   db  "123456-002-05", 0
    
    INFO_PROC ENDP
    INFO_TAB  ENDS
              END
    
    Hope this helps,
    Walt

Reply
  • Hi Markus:

    This works for the C166. I use an assembly file and specify the start address with the CODE AT or ORG statements.

    public CRC
    public ST_ADDR
    public ED_ADDR
    public PART_NUMB
    
    INFO_TAB SECTION CODE AT 0A000H
    
    INFO_PROC PROC
    
       CRC:         dw  0432fH
       ST_ADDR:     dw  00000H
                    dw  04000H
       ED_ADDR:     dw  00001H	
                    dw  0FFFFH
    
                    org 0A010H
       PART_NUMB:   db  "123456-002-05", 0
    
    INFO_PROC ENDP
    INFO_TAB  ENDS
              END
    
    Hope this helps,
    Walt

Children
No data