1.适用范围
本文档适用于使用SylixOS进行驱动模块开发的客户人员和技术工程师。
2.工作准备
BSP驱动开发软件;
CAN驱动模块代码;
CAN应用程序测试代码。
3.原理概述
翼辉BSP驱动开发软件是一种用于调试驱动程序的软件库,它通过替换系统IO接口,利用软件库内的中间线程做中转,将内核态的驱动程序构建为用户态,使驱动程序的调试如普通应用程序一样简单。
4.使用说明
下面以AM4378板卡的CAN设备驱动为例,说明BSP驱动开发软件的使用过程。使用步骤如下:
4.1构建用户态驱动工程
1.在RealEvo-IDE下创建APP工程(can_debug),创建过程请参考《RealEvo-IDE使用手册》第2.4章节——创建SylixOS APP工程。
2.创建成功后,将CAN设备驱动代码拷贝至APP工程内,并将驱动模块的moudle_init函数替换为应用程序的main函数,其它代码不变。替换结果如程序清单4. 1所。
程序清单4. 1 APP工程替换结果
int main (int argc, char **argv)
{
printf("Hello SylixOS!\n");
/*
* 打开 CAN0 还是 CAN1 的总线驱动,是在 bspboard.h 中配置
*/
CAN_CHAN *pcanchan = LW_NULL;
pcanchan = __canChanCreate(0);
/* 对应 CAN0 设备 */
canDevCreate("/dev/can0", pcanchan, 128, 128);
return (0);
}
4.2替换系统注册接口