风河虚拟化组件使用说明(19)—— 在目标机GuestOS VxWorks 7上运行DKM工程,测试SOEM Demo

参考文档“vxworks_7_kernel_application_tutorial_workbench4.pdf”。

按照文档创建DKM工程的方法,创建vx_soem工程,选择基于vx_vip工程:

 SOEM是开源EtherCAT主站代码,目前已经发布支持VxWorks的版本,参考网址

https://rt-labs.com/news/extended-support-for-soes-and-soem-ethercat-stacks/:

 右键vx_soem工程,添加文件夹SOEM,则在vx_soem工程路径下自动创建了SOEM文件夹,将下载的SOEM代码复制到该文件夹,将osal文件夹及oshw文件夹中vxworks操作系统的代码留下,将其他操作系统的代码删去。将test/linux文件夹下的simple_test复制到test文件夹:

添加头文件路径:

 使双斜线//注释有效:

 修改SOEM文件夹下的代码,编译通过(Workbench偶尔会出现莫名的编译问题,重启Workbench或者主机有一定概率可以解决):

 编译完成后产生vx_soem.out文件,即为将要下载进VxWorks系统的文件:

 之后准备从站设备,使用24V直流电源供电,用网线连接EL9800从站板子和目标机LAN2:

 回到主机,在vx_vip工程及rootos_vip工程加入debug_agent相关组件即可连通connection,以便之后在GuestOS VxWorks 7中运行DKM工程:

 重新编译vx_vip工程,重新添加vxworks镜像至romfs文件系统,重新编译rootos_vip工程,拷贝rootos_vip工程的vxworks镜像至目标机,重启目标机。使用tip ”dev=/tyCo/16”命令进入GuestOS VxWorks 7后,先使用ifconfig查看ip地址,之后使用ipAttach(0,”gei”);命令、ipAttach(1,”gei”);命令、ifconfig “gei0 192.168.1.102 up”;命令和ifconfig “gei1 192.168.1.103 up”;之后使用Connection选项连接至GuestOS VxWorks 7:

 在vx_soem工程上右键,选择“Run/Debug Kernel Task...”,在Entry Point处点击Browse...,选择入口函数为main,点击OK:

 之后报错:

 报错原因是未添加相关组件,因此在vx_vip中添加这些组件:

 之后再右键选择Run/Debug Kernel Task,Entry Point填入main,点击OK,会看到soem.out成功下载进VxWorks系统,同时串口显示程序信息:

猜你喜欢

转载自blog.csdn.net/wofreeo/article/details/83714413