2.4 修改BSP设计概要
一般情况下,Tornado提供一些评估板的板载支持包,而PC104主机板是根据工作实际需要购买的,评估板的板载支持包不能够直接使用,需要进行修改完善。可行的方法是:基于pc586的BSP作为模板进行适当修改,以满足这款PC104主机板的特定硬件环境。
板载支持包通常存放在Tornado的安装目录下面,其路径是Root/target/config /bspname,root代表tornado的安装目录。设计一个可用的新的板载支持包,必须对Tornado本身自带板载支持包作一定的分析。 pc586板载支持包主要包括一些C文件和一些汇编文件,它们是:config.h,configAll.h,Pc.h,sysLib.c,ctdt.c,sysNetif.c,mkboot.c。板载支持包的缺省配置是由configALL.h来确定的,用户可通过config.h来改变缺省配置。缺省配置是按照处理器厂商的评估板外围硬件进行系统配置,根据实际硬件环境,一般需要做一定的改动,通常会在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卡上的引导区上引导。