各位高手,小弟近日在学习关于修改BSP的内容,有一种想法,设置多个引导行,然后在系统启动时按照需要选择相应的引导顺序,然后将config.h中的引导行 #define DEFAULT_BOOT_LINE \
"fd=0,0(0,0)host:/fd0/vxWorks.st h=90.0.0.3 e=90.0.0.50 u=target"设置改写在了bootconfig.c中的LOCAL void usrBootLineInit ()下,添加的主要内容如下:
if(key=='A') { #define DEFAULT_BOOT_LINE "fd=0,0(0,0)host:/fd0/vxWorks0000 h=90.0.0.3 e=90.0.0.50 u=target" printf("%c\n",key); printf("%c\n",DEFAULT_BOOT_LINE); }
else if(key=='B') { #define DEFAULT_BOOT_LINE "fd=0,0(0,0)host:/fd0/vxWorks1111 h=90.0.0.3 e=90.0.0.50 u=target"
printf("%c",key); printf("%c",DEFAULT_BOOT_LINE);}
生成bootrom后,在进行引导行选择时 假设按键盘'A',则打印出来的是: A fd=0,0(0,0)host:/fd0/vxWorks0000 h=90.0.0.3 e=90.0.0.50 u=target 但是引导信息显示的路径却是 fd=0,0(0,0)host:/fd0/vxWorks1111 h=90.0.0.3 e=90.0.0.50 u=target
当我按键盘B时打印出来的是: B fd=0,0(0,0)host:/fd0/vxWorks1111 h=90.0.0.3 e=90.0.0.50 u=target
引导信息显示的路径是 fd=0,0(0,0)host:/fd0/vxWorks1111 h=90.0.0.3 e=90.0.0.50 u=target
经过多次试验发现不管如何按键,如何设置,引导信息始终显示的是条件语句中最后那个#define的引导内容。
请教各位高手,我程序出错在哪?为什么自己打印出来的是正确的,但是引导信息显示的却是错误的?????
.
|