案例是在MPC8260的3个FCC上,驱动入口表见:
第1步:
END_TBL_ENTRY endDevTbl [] =
{
#ifdef INCLUDE_MOT_FCC
{ 1, MOT_FCC_LOAD_FUNC, MOT_FCC_LOAD_STRING, 1, NULL, FALSE},
#if 1
{ 2, MOT_FCC_LOAD_FUNC, MOT_FCC_LOAD_STRING, 1, NULL, FALSE},
{ 3, MOT_FCC_LOAD_FUNC, MOT_FCC_LOAD_STRING, 1, NULL, FALSE},
#endif
#endif /* INCLUDE_MOT_FCC */
{ 0, END_TBL_END, NULL, 0, NULL, FALSE},
};
当然在sysMotFccEndLoad()函数上对unit number进行判断然初始化各FCC参数字符串。
第2步:
设置IP _MAX_UNITS 为3和ipAttach等一些挂载函数。
第3步:
这是在调试发现的问题,如果就这样烧出来的bootrom当启动到Starting at......便挂掉了,
只有注释掉bootConfig.c文件里的go函数(void) muxDevStopAll (0);这段代码即可通过,查看
vxWorks源代码,最终调用驱动的xxxStop函数,莫非是这个函数写不好?假如驱动入口表只有一个
FCC,那可以通过哦,why? 请高手赐教。。。
/////////////
是不是这样就可以在第1个启动参数那里修改为motfccX(X=1,2,3)这样就可以从选择的FCC启动?
我这里好象不管用,要用其他手段才行。why?