|
|
SDK Documentation |
Copyright © 1997-2001 |
February 23, 2001 |
If you started your NUON development back in ancient times when the BIOS was a library linked with your application, some changes may be necessary in order to make your program work with this SDK release.
As of February 2000, the standard system has used a ROM-based BIOS. On a development system, this is contained in the flash ROM on your motherboard. If you don't already have the current version of the ROM BIOS installed in your motherboard's flash ROM, then you will need to update your system. Please see Installing the ROM-Based BIOS for instructions.
Another change that was made at the same time is that we are now using MPE 3 as the primary processor, rather than MPE 0. Some simple programs may require nothing more than a few changes to their build process in order to work, but chances are that additional changes are needed. The information below will help you begin the process. If you require additional assistance, please contact VM Labs Developer Support.
Compiling your code normally requires no changes in order to target MPE 3. However, some changes may be required to target the ROM-based BIOS properly. See Running Your Code below.
You must make some changes in order to link your final executable correctly.
In order to target MPE 3, do the following:
In order to target a ROM-based BIOS, do the following:
If you are not using MGCC to drive your link, we suggest you compile and link a
sample program using the "-v" option so that you can see what changes
you need to make to your linker command.
Running a program on MPE 3 with the ROM BIOS is a little different than with a program linked against a RAM-based BIOS for MPE 0.
First of all, the ROM BIOS is already running when you download your program. This means that special steps must be taken in order to avoid stepping on the BIOS.
A sample command line for MLOAD to download and execute on MPE 3 is:
mload -! -w -w -w -w -p3 -n file.cof -r
This tells MLOAD to reset the machine, wait 4 seconds (1 second for each "-w"), target MPE 3, avoid corrupting the BIOS, download "file.cof", and then start MPE 3.
Loading old code on to MPE 0 with a RAM-based BIOS is still possible, even after you have installed the ROM BIOS. However, because the ROM BIOS is now running on your system, you do have to make a few changes to the procedure for loading.
Without the ROM BIOS, you would download and run a program using a command line like one of these:
After installing the ROM BIOS, you should change those command lines to look like this:
The main change we've made is that we always specify MPE 3 and then halt execution on that processor before we do anything else, with the exception of reset. Since a reset would restart the ROM BIOS code, we always do that first. Also, because we've previously specified MPE 3 as a target, we must always explicitly specify MPE 0 as a target for the command that come after that.