We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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
Yeah, I really need banking because I've a SPI EEPROM and a SPI transceiver connected on the same SPI bus. I must send data from the ADC to the receiver every 5ms, that's a very short time. When I transmit/receive data (to/from the transceiver), I can't switch the MCU to the EEPROM. So, the code, which manages the capture process, must be entirely in internal program memory. That's why I have to know how - to arrange the code in internal memory to avoid switching pages during a critical phase (like capture phase). - to foresee the switching period in order to manage the SPI bus. I hope the problem is more precise now. Thanks.
1)Yeah, I really need banking because I've a SPI EEPROM and a SPI transceiver connected on the same SPI bus. 2)I can't switch the MCU to the EEPROM. So, the code, which manages the capture process, must be entirely in internal program memory. 1) SPI devices are SERIAL and thus has NOTHING to do with banking. 2) if you are talking about a parallel code EEPROM, there is NO switching involved. Erik
I think we don't understood ourselves. What do you means by "banking" ? In french, we don't have the same words. If "baking" doesn't mean "paging", i'm sorry for this confusion. In other words, I need to load the program code from the external EEPROM (of 32KBytes) into the internal memory by blocks of 4KBytes because the internal memory size is 4KBytes. Moreover, I want to choose which part of the program I have to load. So I need to know when I have to load a page and how I can arrange the program (functions/variables) in the memory in order to avoid every page loading. I can't read the external EEPROM at any time, beacuse the EEPROM shares the bus with a transceiver which is very often used (in the capture phase). How can I do it ? Thanks
In other words, I need to load the program code from the external EEPROM (of 32KBytes) into the internal memory by blocks of 4KBytes because the internal memory size is 4KBytes. 1) buy a jumbo bottle of aspirin 2) work on it 3) give up and install a parallel code memory. Erik
If the uC is socketed on the board, why not just replace it with a capable derivative. E.g. The Philips p89c668 has 64k code flash and 8k data RAM, but there are plenty of other choices. If it is soldered, maybe you can still replace it. Erik
Erik, nRF24E1 chip- transceiver and 51 with 4k program ram http://www.nvlsi.com/index.cfm?obj=product&act=display&pro=79
In other words, you need "dynamically loaded library".... Oops... now I have only one idea - 3-4 projects with the same main file.