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

setting up paging options

I'm using an ASIC that pages into its RAM/ROM.
So it has 16k blocks that are paged using registers, PAGEA,PAGEB,PAGEC.
It has 128k of code and ram space. How do i setup the compiler to access the ram correctly? I know under options i can set the size of the ram but it wouldn't know about the page registers.

Do i have to declare variables in certain pages myself or will the compiler know when to put the variable into a different page? Will it know to toggle the page registers to access the data?

David

Parents
  • When are the page register selected?

    For example, one set of hardware could say that:

    Use PageA if data access and address <  0x8000
    Use PageB if data access and address >= 0x8000
    Use PageC if code access
    
    So in this case:
    
      i = *(* code)0;  would get PageC, Byte0
      i = *(* xdata)0; would get PageA, Byte0
      i = *(* xdata)0x8000; would get PageB, Byte0 
    

Reply
  • When are the page register selected?

    For example, one set of hardware could say that:

    Use PageA if data access and address <  0x8000
    Use PageB if data access and address >= 0x8000
    Use PageC if code access
    
    So in this case:
    
      i = *(* code)0;  would get PageC, Byte0
      i = *(* xdata)0; would get PageA, Byte0
      i = *(* xdata)0x8000; would get PageB, Byte0 
    

Children