06/04/2012 5:55 AM
Issue when porting QNX 6.5.0 to SH4AL-DSP with RAM address above 0x20000000
I am porting QNX 6.5.0 to SH4AL-DSP. The startup module runs completely
and passes control to procnto.
But the SH core is reset in procnto. I cannot debug deeply to the
The load address of startup and ifs is 0x40009000 (RAM is located at
I found that (in QNX 6.4 release note) QNX only supports SH board with
enough RAM under address 0x20000000
(512MB counted from address 0):
"We now support the SH-4a 32-bit physical address model (in addition to
the SH-4 29-bit model), but with restrictions. There must be sufficient
RAM within the physical address range of 0 to 512 MB for the kernel to
operate. The startup and kernel can now support RAM above the 512-MB
boundary, but that RAM is available only to user-level processes.
Ideally large memory systems will have at least 256 MB of RAM available
below the 512-MB physical address boundary. (Ref# 47671)"
I don't know if QNX 6.5.0 still keeps this constraint or not, though I
have read QNX 6.5.0 release note (it does not mention about this
constraint as it does in 6.4.0).
Could anybody please let me know?
Many thanks for any reply!
To make the startup run completely and pass control to procnto, I had
to copy some include files of QNX 6.5.0 to project
folders then made some modifications on them in memory mapping macroes.
Then build startup with modified include files
instead of QNX's ones.