Problem in downloading IPL into RAM

Hello,

We are porting QNX Neutrino 2.x BSP for MBX860 for our customised
board. I have changed int8xx.s of 800fads board. I use mkifs to build a
IPL downloadable image. I want to download this into RAM on the board
for now.

We are using convert utility in VisionIce to convert s-format file to
bdx (flat binary file). While downloading the image using VisionIce
II/VisionClick 7.0 we are facing some problems. We are also doing a
vxWorks BSP for the same board and it is working fine.

We get a Write/Read/Verify Error during download and it says
0x02800000. The message box also says to make If I do:

BKM> SM 0x02800000 1234

I get !ERROR! - Unable to set memory at : 02800000

Apparently there is some mis-match in chip select / RAM in the emulator
and the code. We are setting CS0, CS1 and CS3 similar to way we are
doing in vxWorks.

The Query is: Where in the QNX/NTO code do we specify the RAM address.
Something analogous to RAM_LOW_ADDR in config.h of vxWorks.

Any hints will be oasis in the desert. Also, if there is an easier way
to download the image, please convey it to me.

Regards,
Dinker


Sent via Deja.com
http://www.deja.com/

int main(void)
{
image=image_scan(0x2840000,0x2842000);
image_setup(image);
image_start(image);
return 0;
}

image_scan() will scan starting at the address told looking for the image.
image_setup() will copy it to the position told to it in the ifs header.

[image=0x40000]
[virtual=ppcbe,binary] .bootstrap = {
startup-artesyn
PATH=/proc/boot procnto-xxx
}

So if the above is the top of my build file, the image will be copied to
0x40000 (and will be in binary format). You can use “dumpifs -v image”
to verify these addresses.

Offset Size Name
0 100 Startup-header flags1=0x3 flags2=0x0 paddr_bias=0x0
preboot_size=0x0
image_paddr=0x40000 stored_size=0x17bdb8
startup_size=0x9108 imagefs_size=0x172cb0
ram_paddr=0x40000 ram_size=0x17bdb8
startup_vaddr=0x414a8
100 9008 startup.*

image_start() will then jump to startup_vaddr and start executing the image.

I hope this helps.
Jason

ddinker@my-deja.com wrote:

Hello,

We are porting QNX Neutrino 2.x BSP for MBX860 for our customised
board. I have changed int8xx.s of 800fads board. I use mkifs to build a
IPL downloadable image. I want to download this into RAM on the board
for now.

We are using convert utility in VisionIce to convert s-format file to
bdx (flat binary file). While downloading the image using VisionIce
II/VisionClick 7.0 we are facing some problems. We are also doing a
vxWorks BSP for the same board and it is working fine.

We get a Write/Read/Verify Error during download and it says
0x02800000. The message box also says to make If I do:

BKM> SM 0x02800000 1234

I get !ERROR! - Unable to set memory at : 02800000

Apparently there is some mis-match in chip select / RAM in the emulator
and the code. We are setting CS0, CS1 and CS3 similar to way we are
doing in vxWorks.

The Query is: Where in the QNX/NTO code do we specify the RAM address.
Something analogous to RAM_LOW_ADDR in config.h of vxWorks.

Any hints will be oasis in the desert. Also, if there is an easier way
to download the image, please convey it to me.

Regards,
Dinker



Sent via Deja.com
http://www.deja.com/