qnx mpc8247 移植问题

大家好! 最近在做由vxworks到qnx移植相关工作,由于以前没有qnx相关经验,遇到不少问题,公司就我一人在做QNX,精力有限,特来求助!

我把现在的移植情况给大家说下

1.我是从qnx官网下载的bsp-freescale-pq2fads-1.0.2-20070910-binsrc.zip 此BSP包并不是针对mpc8247但考虑其内部结构应该差不多,又有下载权限,因此在此包上做修改
移植。
2.原BSP是使用SCC作为串口通讯,但我的是用SMC方式,因此移植SMC驱动到QNX,并能正常工作。
3.使用uboot从ram引导startup方式,出现打印信息如下:
System page at phys:0000b000 user:0000b000 kern:0000b000
Starting next program at v00056010
此处hang住
对procnto-600 objdump以后发现 56010处的汇编代码确实是kernel的入口,然后在svn上下载kernel,但一直被拒绝,不知道是不是权限的原因(我已在qnx上申请了license,学生用),之后去csdn下载一个老版本的kernel,使用qnx6.5.0编译出现问题如下:
/opt/qnx_kernel/trunk/lib/c/…/…/services/system/public/sys/syspage.h:36:42: error: operator ‘==’ has no left operand

感觉应该是IDE环境太新了,又没有老版本IDE的license, 现不知如何是好,只能对着反汇编出的内容寻找原因。
4.去foundry27上看了看,感觉应该是callout_debug_8260.s出问题,导致内核无法输出信息,但分析此文件与输出相关的也就是输出的buff指针,在驱动中将此指针赋值后依然无效。
5.我现在想重新编译kernel请问我如何得到源码,或者我如何得到老版本IDE的使用权限。或者有网友遇到过跟我一样的问题,麻烦指教。
谢谢大家!

重编Kernel应该对你没有帮助。

感觉上你的BSP太老了,startup同6.5.0的kernel不匹配了。

建议你去下载一个对应6.5.0的PPC BSP,cf 对比一下 startup 部份,相应修改你自己的 startup

谢谢提醒,这个BSP确实很老,我再试试,非常感谢。

startup的main.c里有对于debug_device的定义,如果只是串口不同的话,scc换SMC就可以了.串口驱动也有类似的选项.