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

Troubles with memory paging with 8051

Hi everybody !!!

I've got a problem with my Nordic nRF24E1. It's a powerful transceiver with an integrated 8051 microcontroller (Dallas DS80C320).
It has only 4KBytes of internal program memory. The trouble is that I've a program of 16KBytes located in an external EEPROM of 32Kbytes.I think that my sole solution is memory paging.
But I don't know how to switch between pages and I don't know when I must do it.

Does anyone know techniques for memory paging with 8051 ?
If you have another solution than memory paging, I'm very interested...
Thanks

Regards
Corentin Briat

Parents
  • Corentin,
    Recognize that the nRF24E1 is a COPROCESSOR designed to manage the peripherals in the chip and transfer data to and from an external processor. It has 4k internal memory with no external address /data bus so it is not a good candidate for paging/banking. Trying to use the SPI to page/bank will eat up all the CPU bandwidth along with all the problems of trying to manage the paging. Connect the nRF24E1 to another Micro via the UART and let that Micro execute the 16K of code. Just an idea to think about.

Reply
  • Corentin,
    Recognize that the nRF24E1 is a COPROCESSOR designed to manage the peripherals in the chip and transfer data to and from an external processor. It has 4k internal memory with no external address /data bus so it is not a good candidate for paging/banking. Trying to use the SPI to page/bank will eat up all the CPU bandwidth along with all the problems of trying to manage the paging. Connect the nRF24E1 to another Micro via the UART and let that Micro execute the 16K of code. Just an idea to think about.

Children
  • Banking would be the correct term.
    Look at the samples for Banking.
    You Interupts and paging code must be in the common bank. You have to figure out wich code goes into common. Put all the functions for a bank into 1 module. Repeat for all banks. Keil gives you L51_BANK.a51. Put your Serial EEProm code there.

    Sounds like work have fun.