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

L251 user defined memory classes

It is said in the L251 documentation that by default, the linker would use below address ranges for a all memory classes

Question 1:

In a linker file that i was checking,  the two are declared in the input directive file

HDATA (0x100-0x2EBF),
HDATA_EEP (0xF80080-0xF800E0),

is the range of HDATA_EEP valid? I thought that because of the first declaration, we are limiting the HDATA memory space from 100 to 2EFB only. 

Question 2: 

If the above HDATA_EEP declaration is valid.. 

then is this the correct pragma to use?

#pragma userclass(hdata = eep)

Parents
  • Thank you very much sir for the response. May i just clarify...

    If i declare 3 non overlapping definitions.. say

    • HDATA(0x00-0x30)
    • HDATA_ATEST(0x100-0x200)
    • HDATA_BTEST(0x500-0x550)

    I believe the way to use each definition is to use the pragma userclass 

    So for HDATA_ATEST, it would be

    •     #pragma userclass(hdata = atest)

    For HDATA_BTEST, it would be

    •   #pragma userclass(hdata = btest)

    How about for the HDATA? Should i use

    • #pragma userclass(hdata = default)?

       

Reply
  • Thank you very much sir for the response. May i just clarify...

    If i declare 3 non overlapping definitions.. say

    • HDATA(0x00-0x30)
    • HDATA_ATEST(0x100-0x200)
    • HDATA_BTEST(0x500-0x550)

    I believe the way to use each definition is to use the pragma userclass 

    So for HDATA_ATEST, it would be

    •     #pragma userclass(hdata = atest)

    For HDATA_BTEST, it would be

    •   #pragma userclass(hdata = btest)

    How about for the HDATA? Should i use

    • #pragma userclass(hdata = default)?

       

Children