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

24 bit address in 16 bit processor

Please do not say 'paging' I can not handle the overhead for all the other stuff that fit nicely within 64k.

I have a 2Mbyte flash that occasionally is accessed and the time here is not critical (the system pauses) as opposed to other processes that use only RAM.

Is there an elegant way to access structures in that 24 bit address space or does it have to be bent folded and mutilated to access?

Currently all addresses are specified with an 8 bit 'page' and a 16 bit 'address' and processed as such. I could gain some readability by having the whole in a long.

Also this method require data to be stored so no structure cross a page boundary and that limitation is a nuisance.

Erik

Parents
  • Also, it's perhaps worth considering whether you need consistent execution time for every access, or whether it's okay for some of them to be much longer than others as long as the amortized total is less overall.
    varying execution time is irrelevant, but code that tries to read something by method a and something by method b will by me be considered 'messy' and outlawed.

    Again, once the flash is in the loop timing is totlly non-critical.

    I will play a bit with far and !far and see what happens.

    Erik

Reply
  • Also, it's perhaps worth considering whether you need consistent execution time for every access, or whether it's okay for some of them to be much longer than others as long as the amortized total is less overall.
    varying execution time is irrelevant, but code that tries to read something by method a and something by method b will by me be considered 'messy' and outlawed.

    Again, once the flash is in the loop timing is totlly non-critical.

    I will play a bit with far and !far and see what happens.

    Erik

Children
No data