基于PC104总线的VxWorksBSP设计
省配置。缺省配置是按照处理器厂商的评估板外围硬件进行系统配置,根据实际硬件环境,一般需要做一定的改动,通常会在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板载支持包。并应用于某型飞机燃油系统的智能化管理,实践结果表明,这种方法是一种切实可行的方案。
PC104总线 VxWorksBSP Tornado 相关文章:
- DSP HPI口与PC104总线接口的FPGA设计(04-14)
- 工控机总线——PC/104总线、PC/104Plus(12-16)
- 基于PC104 总线的实时信号采集处理系统(07-31)
- PC104总线运动控制卡的性能要点与应用(09-04)
- 工控机PC/104总线(07-23)
- 基于PC104总线的雷达信号显示卡的设计与实现(05-11)