cyclone v SOC使用的bosch d can,vxworks6.9下有ti dcan驱动可以支持该IP。但是vxworks 6.9只支持UP架构的CAN驱动,对于SMP不支持。不支持的原因是CAN DEVIO中没有增加对SMP支持,体现的wcanio中使用了taskLock taskUnlock intLock intUnclock,而SMP是使用spinLock,所以为了使SMP架构使用CAN驱动,需要在wcanio中增加对SMP支持,将taskLock intLock替换成spinLock,替换方法可以参考文档。
替换完成后可以使用make CPU=ARMARCH7 TOOL=gnu _WRS_CONFIG_COMPONENT_CAN=1 VXBUILD=SMP ALT_DEV_BOARD_CYCLONE_V=1生成smp库,这个过程不能使用vbs生成,vbs中对CAN库的编译做了限制,不能构建libwcan.a。