附件是335X平台ETHERCAT的介绍和主从实现的DEMO,欢迎大家讨论.
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Wei Li12 说:您好,我现在在用ICE3359这块开发板,EtherCAT从站的功能Demo和Full都可以用了。但是我现在想在Full模式下使用AM3359自带的ADC功能,想请教下添加该功能模块的方法?
假如在Full的工程里面直接按照starterware里的ADC例程代码去配置,并加入到工程里(如在Void common_main()函数中的BIOS_start()前配置并使能ADC功能),这样可以吗?
修改好的工程还按照User guide说明的app方式加载,还是需要用其他方法把程序写到板子上?
您的大体思路是对的,如果需要使用adc,可以把starterware的例程集成到sysbios的task中。
照著圖文可以編譯成功
但是放入AM335X 執行都會有錯誤,有人知道為什麼嗎??
ethercat start
Starting EtherCAT master 1.5.1 FATAL: Module ec_master not found.
failed
若不透過/etc/init.d/ethercat script
直接insmod ec_master.ko 與 ec_generic.ko
執行ethercat pdos 又會出現下列錯誤
Failed to obtain number of masters: Failed to open master device /dev/EtherCAT0: No such file or directory
jiew 说:照著圖文可以編譯成功
但是放入AM335X 執行都會有錯誤,有人知道為什麼嗎??
ethercat start
Starting EtherCAT master 1.5.1 FATAL: Module ec_master not found.
failed
若不透過/etc/init.d/ethercat script
直接insmod ec_master.ko 與 ec_generic.ko
執行ethercat pdos 又會出現下列錯誤
Failed to obtain number of masters: Failed to open master device /dev/EtherCAT0: No such file or directory
请问您这个是EtherCAT主还是从,是跑在Linux上么?
hi,你好,请问BusCouplerPos, TI_AM3359ICE这两个参数怎么确定的,我现在想用驱动器作为从站,但是一直进入不了OP,这个从站的配置是集成到了主站当中吗?还是需要XML文件进行配置?请大神指教
BusCouplerPos是指该总线耦合器在链路上的地址,是设置寻址时所用,如果单台的直接设置0,0就行,详细的说明可以参照ethercat-1.5.2.pdf的3.1节。TI_AM3359ICE是ICE板本身的参数,即它的vendor id与product_code,xml里边会有说明。
你好,其实那两个参数的意思我是明白怎么回事的,但是当将它们改成我的驱动器参数的时候,只能到“AL state:0x4”,而没有进入OP,我想应该是XML文件的问题,要怎么样我的XML文件才可以起作用呢?另外,我想问您是不是只要使用ethercat pdos命令参数之后,填充那几个结构体,就不要再用XML文件就可以自动生成网络描述文件了?那为啥我使用这个命令没有相应的信息输出?
ethercat pdos之后没有输出,我猜想会不是你的模块加载过程出现了问题,就是模块没有加载正确。因为如果这一步没有出来,主站是无法知道你邮箱跟过程数据通道的具体配置情况的。那么你也就没办法确定你过程数据对象进而进行通信了啊。我用的是ice,是可以通过pdos出来的情况写的测试源文件的,没什么大问题。你可以尝试用twincat跑一下,看看情况是否正常,然后它的配置是如何?有条件的话,也可以通过抓包看看数据包过程数据是否刷出去有被处理到。
谢谢回复,我应该说的具体些,我的所有设备用twincat都是可以的,我现在这里有个倍福的设备可以进入状态机,但是别的不行,比如三洋,我想可能例程中的很多参数都是针对倍福的吧。而且倍福设备用ethercat pdos输出没有问题,但是别的驱动器就不行,比如三洋的只有物理地址这一栏,而TxPDO 、PDO没有,再次说明一下,用twincat设备都是ok的,因为twincat会扫描以及配置相应的XML文件,但是例程中好像没有这个步骤
我前边用的是ICE做测试,也接过三洋,pdos是可以出来一样的sm通道配置情况,不过三洋具体的我还没跑过,所以状态机切换是否有问题还得试试。它的例程是针对倍福写的,但是ethercat pdos跟例程是不会有关系的,只是看你链路扫描的情况。
可以查看下http://www.ti.com/lit/ug/tiduaf8/tiduaf8.pdf 中的 Appendix B Acontis EC-Engineer Tool for Creating an .ENI File,不同的主站是要做配置的。
你好,你的问题搞定了没?你用倍福的驱动器是可以的吗?控制过电机还是,你的主站用的是pc还是嵌入式平台呢?
虚拟机运行时出现下面错误
Starting EtherCAT master 1.5.2 FATAL: Module ec_master not found.
failed
开发板出现下面错误
[root@EVB335X /]# /etc/init.d/ethercat start
Starting EtherCAT master 1.5.2 [ 295.269775] EtherCAT: Master driver 1.5.2 2eff7c993a63
[ 295.275268] EtherCAT ERROR: MAC address may not be empty.kernel taint MAC add
modprobe: can't load module ec_master (ethercat/master/ec_master.ko): Invalid argument
failed
请问该如何解决啊,完全没有头绪
make install 会在当前目目生成 output 文件夹,里面有编译生成的各种用户空间的文件。可以把 此目目下的各文件目目复制到 AM335X 的文件系统根目目下,同时内核模块 ethercat- 1.5.1/devices/ec_generic.ko 和 ethercat-1.5.1/master/ec_master.ko 也需摘手动复制到 AM335X 文件系统任意目目中。
你先手动insmod ec_master.ko试试
对于这种错误
[root@EVB335X /]# /etc/init.d/ethercat start
Starting EtherCAT master 1.5.2 [ 295.269775] EtherCAT: Master driver 1.5.2 2eff7c993a63
[ 295.275268] EtherCAT ERROR: MAC address may not be empty.kernel taint MAC add
modprobe: can't load module ec_master (ethercat/master/ec_master.ko): Invalid argument
failed
是由于modprobe找不到
可以把ec_genreic.ko和ec_master.ko复制到/lib/modules/yourkernelname/目录下,然后执行depmod
就可以modprobe到了
执行/etc/init.d/ethercat start 有的会报参数错误,需要修改 /etc/sysconfig/ethercat里面的MAC地址和网卡类型
Hi Denny,有一个关于AM335x从站和IGH主站的问题想请教下你,谢谢。
从站是用AM3359 ICE BOARD的板子+m335x_sysbios_ind_sdk_1.1.0.8里的full 从站实现的。用twincat主站测试过,没有问题。
但用Igh1.52主站时,能连接上从站,但是在从站的状态切换时候出现问题,本来在safeop下,Watchdog Process Data是应该使能的,但是用igh主站时,watchdog Process Data 没有使能,Watchdog Status Process data寄存器为0;也不知道是哪里出了问题。
想请教你这可能是哪出了问题。非常感谢。
您好,能否分享下您的开发思路和整体过程,和资料,我现在刚走入这个领域,特别想向您学习和咨询
你好,
我没有遇到过这种问题,建议抓包对比分析一下IGH主站和其他主站的数据包.
你好,你的full 从站源码可以给我发一份吗,非常感谢!994132333@qq.combin lu 说:Hi Denny,有一个关于AM335x从站和IGH主站的问题想请教下你,谢谢。
从站是用AM3359 ICE BOARD的板子+m335x_sysbios_ind_sdk_1.1.0.8里的full 从站实现的。用twincat主站测试过,没有问题。
但用Igh1.52主站时,能连接上从站,但是在从站的状态切换时候出现问题,本来在safeop下,Watchdog Process Data是应该使能的,但是用igh主站时,watchdog Process Data 没有使能,Watchdog Status Process data寄存器为0;也不知道是哪里出了问题。
想请教你这可能是哪出了问题。非常感谢。
您好,我想请问一下,我用的是BeagleBone Green的板子,但是执行到
./configure --prefix=/home/denny/ethercat/ethercat-1.5.1/output --with-linux-
dir=/home/denny/ti-sdk-am335x-evm-05.07.00.00/board-support/linux-3.2.0-psp04.06.00.10
--enable-8139too=no --enable-generic=yes CC=arm-none-linux-gnueabi-gcc --host=arm-
none-linux-gnueabi 这部时,发现执行不下去,我的linux内核版本是Linux-4.4.49,已经改过了,还是不行。
你好,我已经在IMX6Q上移植成功了,内核是Linux3.0.35,这是我的配置命令:JIALIANG LEE 说:您好,我想请问一下,我用的是BeagleBone Green的板子,但是执行到
./configure --prefix=/home/denny/ethercat/ethercat-1.5.1/output --with-linux-
dir=/home/denny/ti-sdk-am335x-evm-05.07.00.00/board-support/linux-3.2.0-psp04.06.00.10
--enable-8139too=no --enable-generic=yes CC=arm-none-linux-gnueabi-gcc --host=arm-
none-linux-gnueabi 这部时,发现执行不下去,我的linux内核版本是Linux-4.4.49,已经改过了,还是不行。
./configure --prefix=/home/gec/ethercat-1.5.2/output --with-linux-dir=/opt/linux-3.0.35 --enable-8139too=no --enable-generic=yes CC=arm-none-linux-gnueabi-gcc --host=arm-none-linux-gnueabi
你参考一下,内核源码要先成功编译过才可以的。
root@beaglebone:~# ./configure --prefix=/home/denny/ethercat/ethercat-1.5.1/output --with
-linux-dir=/home/denny/ti-sdk-am335x-evm-05.07.00.00/board-support/linux-4.4.9-psp04.06.00.10 --enable-8139too=no --enable-generic=yes CC=arm-none-linux-gnueabi-gcc --host=arm-none-linux-gnueabi -bash: ./configure: No such file or directory
你好,我出现了这种情况,前面我说错linux内核了,那这是因为我没有编译内核源码吗?我拿到板子的时候里面已经有内置linux系统了。
root@beaglebone:~# uname -a
Linux beaglebone 4.4.9-ti-r25 #1 SMP Thu May 5 23:08:13 UTC 2016 armv7l GNU/Linux这个代表已经编译过了吗?
你在板子上执行的命令??JIALIANG LEE 说:root@beaglebone:~# ./configure --prefix=/home/denny/ethercat/ethercat-1.5.1/output --with
-linux-dir=/home/denny/ti-sdk-am335x-evm-05.07.00.00/board-support/linux-4.4.9-psp04.06.00.10 --enable-8139too=no --enable-generic=yes CC=arm-none-linux-gnueabi-gcc --host=arm-none-linux-gnueabi -bash: ./configure: No such file or directory
你好,我出现了这种情况,前面我说错linux内核了,那这是因为我没有编译内核源码吗?我拿到板子的时候里面已经有内置linux系统了。root@beaglebone:~# uname -a
Linux beaglebone 4.4.9-ti-r25 #1 SMP Thu May 5 23:08:13 UTC 2016 armv7l GNU/Linux这个代表已经编译过了吗?
我是在Ubuntu下面进行移植的,解压IGH源码进入目录里面就有configure文件的,--with-linux-dir=/opt/linux-3.0.35这句命令指的是你的目标开发板内核源码目录,内核源码一定要编译通过才可以的。
是的,我是通过Xshell5与板子进行连接来执行命令,你的意思我懂了,我先重新编译linux内核试一下。非常感谢,请问您可以提供你的联系方式吗,往后想请教一下你。
我也是项目需要做了下移植进行测试而已,以后移植方面出现问题来这里说一下,看能不能帮到你吧,其他的我也不懂了,哈哈!JIALIANG LEE 说:是的,我是通过Xshell5与板子进行连接来执行命令,你的意思我懂了,我先重新编译linux内核试一下。非常感谢,请问您可以提供你的联系方式吗,往后想请教一下你。
目标开发板的交叉编译工具,编译内核源码的时候就要先配置交叉编译工具了。JIALIANG LEE 说:好的,你移植的时候除了在ubuntu下进行还需要什么编译环境吗?
附上我移植时候写的笔记,仅供参考。
前辈,我是刚入门Linux这块的。请问你是如何进行在Ubuntu虚拟平台下与目标开发板进行连接通信?