标题:
嵌入式实时操作系统VxWorks入门 03
[打印本页]
作者:
samwalton
时间:
2014-3-26 15:07
标题:
嵌入式实时操作系统VxWorks入门 03
(3)指定网卡驱动程序
首先定位到“Network driver options”这段文字,保证INCLUDE_END和INCLUDE_LN_97X_END这两个宏处于定义状态(define),其他的宏都处于未定义状态(undef),即:
以下是引用片段:
/* Network driver options */
#define INCLUDE_END /* Enhanced Network Driver Support */
#undef INCLUDE_DEC21X40_END /* (END) DEC 21x4x PCI interface */
#undef INCLUDE_EL_3C90X_END /* (END) 3Com Fast EtherLink XL PCI */
#undef INCLUDE_ELT_3C509_END /* (END) 3Com EtherLink III interface */
#undef INCLUDE_ENE_END /* (END) Eagle/Novell NE2000 interface */
#undef INCLUDE_FEI_END /* (END) Intel 8255[7/8/9] PCI interface */
#undef INCLUDE_GEI8254X_END /* (END) Intel 82543/82544 PCI interface */
#define INCLUDE_LN_97X_END /* (END) AMD 79C97x PCI interface */
#undef INCLUDE_ULTRA_END /* (END) SMC Elite16 Ultra interface */
#undef INCLUDE_BSD /* BSD / Netif Driver Support (Deprecated) */
#undef INCLUDE_EEX /* (BSD) Intel EtherExpress interface */
#undef INCLUDE_EEX32 /* (BSD) Intel EtherExpress flash 32 */
#undef INCLUDE_ELC /* (BSD) SMC Elite16 interface */
#undef INCLUDE_ESMC /* (BSD) SMC 91c9x Ethernet interface */
(4)包含PC_CONSOLE
缺省情况下,VxWorks系统是不接受外部输入设备(如键盘)的输入,也不向外部输出设备(如显示器)输出数据。为了便于调试,我们必须改变它的这种缺省状态,包含对PC控制台的支持。查找定位宏INCLUDE_PC_CONSOLE,保证其处于定义状态(define)即可,即:
以下是引用片段:
#define INCLUDE_PC_CONSOLE /* PC keyboard and VGA console */
#ifdef INCLUDE_PC_CONSOLE
# define PC_CONSOLE (0) /* console number */
# define N_VIRTUAL_CONSOLES (2) /* shell / application */
#endif /* INCLUDE_PC_CONSOLE */
(5)修改sysLn97xEnd.c
打开C:\tornado2.2\target\config\pcPentium目录下的sysLn97xEnd.c文件,先定位到“memory-mapped IO base”这段文字,然后将其前面的参数由pciRsrc[endUnit].bar[1]修改为NONE,保存即可,即:
以下是引用片段:
sprintf (paramStr, paramTemplate,
endUnit, /* END unit number */
NONE, /* memory-mapped IO base */
pciRsrc[endUnit].bar[0], /* IO address space base */
PCI2DRAM_BASE_ADRS, /* host PCI mem. base */
pciRsrc[endUnit].irqvec, /* IRQ vector */
pciRsrc[endUnit].irq, /* IRQ number */
LN97X_CSR3_VALUE, /* csr3 register value */
LN97X_OFFS_VALUE, /* offset */
LN97X_RSVD_FLAGS, /* flags (reserved) */
&ln97xStrDesc[typeIdx] /* device description */
);
2.3 编译Bootrom和VxWorks映像
编译Bootrom
打开Tornado开发工具,在Build菜单下选择Build Boot ROM,选择BSP为pcPentium,image类型为bootrom,工具为gnu,如图8。点击OK,Bootrom就会编译。
编译VxWorks映像
编译生成bootrom后,还要创建一个VxWorks映象(image),也就是VxWorks操作系统本身的代码,步骤为:
(1) 创建一个“bootable VxWorks image”的工程,BSP 选择pentium;
(2) 选择需要的VxWorks组件
如图10,在这个例子中我们需要包括两个重要的组件:Telnet server 和 Target shell。前者使我们可以通过Telnet协议登录到VxWorks操作系统中;后者则可以让我们通过命令行控制VxWorks系统。另外,需要把所有C++相关的选项都包含进去。
完成选择后,即可开始编译程序。到此我们已经生成了VxWorks的系统引导程序和运行时的代码映象。在每次修改完系统的配置信息(如:config.h)后,都要重新创建一个工程来编译VxWorks映象。将生成的名为“VxWorks”的文件复制到D:\下。这个路径是由上面我们所设置的DEFAULT_BOOT_LINE宏中的路径参数决定的,必须保持二者一致。
2.4 创建引导软盘
由于目标机从软盘启动,我们需要制作VxWorks引导磁盘,用于引导VxWorks操作系统映象。定位到C:\tornado2.2\target\config\pcPentium目录,插入已经格式化好的软盘,运行:
mkboot a: bootrom
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0