微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于PC104总线的VxWorksBSP设计

基于PC104总线的VxWorksBSP设计

时间:04-05 来源:互联网 点击:

省配置。缺省配置是按照处理器厂商的评估板外围硬件进行系统配置,根据实际硬件环境,一般需要做一定的改动,通常会在config.h中进行,通过一系列的定义宏,完成系统配制工作。

要设计针对这个半物理仿真试验的所选用的PC104主机板板载支持包,增加VxWorks对CF卡支持,需要做出较大改动的文件是config.h和configAll.h以及sysLib.c这3个文件,具体如下:

①在config/bspname/bspname.h中找到修改其CF卡的中断号,因为一般中断号0x9是预留给硬盘接口,为了避免产生中断冲突,将#define ATA1_INT_LVL0x9,改为#define ATA1_INT_LVL0xf

②在config/bspname/sysLib.c中找到ATA_RESOURCEataResource[]={................PCMCIA................ }

修改为ATA_RESOURCEataResource[]={................IDE_LOCAL................. }

另外还需要改写其他的参数,例如ATA1_CONFIG等。

③在config.h中,把#define SYS_WARM_ATA_CTRL 0改为#define SYS_WARM_ATA_CTRL 1这样系统热启动后,就会从CF卡上的引导区上引导。

④在config.h中将#define SYS_WARM_TYPE SYS_WARM_FD/*warmstartdevice*/改为#define SYS_WARM_TYPESYS_WARM_ATA

⑤修改ataType数组使它和所选的CF卡的几何参数(磁道,扇区,柱面等)相等。

将原来的ataTypes数组ATA_TYPEataTypes[ATA_MAX_CTRLS] [ATA_MAX_DRIVES]= {................{{761,8,39,512,0xff},/*ctrl1drive0*/...............};

改为ATA_TYPE ataTypes [ATA_MAX_CTRLS] [ATA_MAX_DRIVES]= {................{{984,16,4,512,0xff},/*ctrl1drive0*/...............};

这个参数可以在主机板的BIOS中查找到,进入BIOS后使用idedetection就可以查看到CF卡几何参数,根据查到CF卡的几何参数,就可以在sysLib.c中做出相应的修改。

2.5 BSP的调试

针对板载支持包的设计开发,VxWorks并没有提供了非常好的调试手段,这样就给调试BSP带来的很大困难。所以在对 BSP进行调试之前,尽量减少代码量,通过改写BSP目录下Makefile来去除不需要的代码编译,然后再对BSP调试。调试的方式一般采用闪灯的方式,通过在有疑问的代码之间插入闪灯的代码,通过对I/O端口的可视LED访问,观察灯是否闪亮来判断BSP的执行流程。

3 结束语

通过多次试验的调试,最终设计出了基于PC104总线的VxWorks板载支持包。并应用于某型飞机燃油系统的智能化管理,实践结果表明,这种方法是一种切实可行的方案。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top