1、编译安装内核
参考创龙开发板官方文档,在menuconfig中把gmac设置成M,方便卸载原始gmac驱动,然后加载优化后的实时网卡驱动
2、编译IgH
把IgH主站代码放到开发板上,进行配置编译(配置和编译可以参考网上ubuntu下安装IgH的文章),如果遇到报错可以参考网上相关解决办法。
编译出 ec_master.ko ec_sunxi.ko, 不过这里不会使用ec_generic.ko驱动文件,这个通用的驱动文件是在TCP/IP协议栈接口之上进行调用的,所以会走TCP/IP协议栈,会影响实时性。下面优化网卡驱动,会在网卡驱动上直接支持IgH接口。
3、实时网卡优化
全志A40i上有gmac和emac,其中emac是使用队列的方式,而非DMA方式发送报文,队列在报文发送多于2包的时候存在阻塞情况,所以这里我们选择使用gmac优化做实时网卡驱动
编译出ec_sunxi实时网卡驱动
4、编写测试demo
在examples添加编写测试程序
5、运行程序
需要先卸载掉系统自带的sunxi-gmac网卡驱动
然后加载加载ec_master驱动
再加载ec_sunxi gmac的实时网卡驱动
加载完成后可以看到正常识别出了2轴伺服。
运行测试程序,正常控制伺服运转