| ??? 02/16/03 13:49 Read: times |
#39159 - RE: The new VRS700L Responding to: ???'s previous message |
Christian:
You would NOT have to do anything particularly unusual for a C environment. 1) The SP must always be set anyway. This is done in the C startup code. 2) You do not need to track nesting level of subroutines OR the Interrupt routines. As I said, using the internal memory paging starting at 0x40 could create some issues. Particularly if the linker, as in one possible senarino with the Keil toolset, tried to build variable and argument overlay tables up into the memory area where paging was possible. If you wanted to use the compiler/linker in this way then you would simply have to check the linker map/list file to see the results of the linking process to see if there was a problem. Alternatively you could also put the compiler into a model to use XDATA for arguments and variables. This is slower of course but would move the linker building of the overlay table completely away from the place where the internal mamory bankswitching takes place. On another tack you could just write without argument lists and local variables in subroutines and manage the variables in DATA yourself with your source code based paging algorithm. I think if you look at things this way you can see it would be quite possible to use an existing C compiler/linker, Keil in particular, to program C on this VRS700L part. And once the appropriate environemnt is set I think you could code away quite freely without having to track each step. All that said however I do agree that a customization of the compiler / linker for this part that took full advantage of the DATA space paging could make for some impressive performance improvements in certain types of applications. However the same net performance improvement could most likely be attained using a part like those from Cygnal that clock at 50 MHz with a clock divider of 1X using the chips on-board XDATA memory. At these speeds the constant reloading of the DPTR to access XDATA variables becomes not so much an issue as compared to the same functions on the 12X or 6X style of 8051/8052 derivative. Michael Karas |
| Topic | Author | Date |
| The new VRS700L | 01/01/70 00:00 | |
| RE: The new VRS700L | 01/01/70 00:00 | |
| RE: The new VRS700L | 01/01/70 00:00 | |
| RE: The new VRS700L | 01/01/70 00:00 | |
| RE: The new VRS700L | 01/01/70 00:00 | |
| RE: The new VRS700L | 01/01/70 00:00 | |
| RE: The new VRS700L | 01/01/70 00:00 | |
| RE: The new VRS700L | 01/01/70 00:00 | |
| RE: The new VRS700L | 01/01/70 00:00 | |
| RE: The new VRS700L | 01/01/70 00:00 | |
| RE: The new VRS700L | 01/01/70 00:00 | |
| RE: The new VRS700L | 01/01/70 00:00 | |
| RE: The new VRS700L | 01/01/70 00:00 | |
RE: The new VRS700L | 01/01/70 00:00 |



