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.

am3359 industrial communication engine的使用问题

Other Parts Discussed in Thread: TMDSICE3359, SYSBIOS, AM3359, TPS51200

使用两块套件评估板(也就是tmdsice3359)与倍福的cx1030形成菊花链连接,也就是倍福从ethercat端口接到第一块板p0,然后第一块板的p1接到第二块板的p0,两块办卡均使用的是默认的程序(上面有1排led灯在扫描)。在twincat中扫描到所有硬件并添加io设备后使IO设备处于freerun状态,在这个状态下更改rxpdo中的output端口应该可以对两块板的1排led进行配置(实测实低8位),但是按照测试结果,两个box设置后都只能更改与cx直连评估板的驱动状态,而最后那块板的io是驱动不了的,请问这是由于固件版本的问题还是ti做的从站本来就不是完整ehtercat从站。twincat manager截图如下

ps,所使用的评估板是版本是v1

  • 跑的sysbios的版本?版本号不是v1这样的,是像这样的:01.01.00.04 

    http://www.ti.com/tool/sysbiossdk-ind-sitara

    我这边客户有连三块板子一起跑的都没问题,你参考一下我们现有的文档,是不是哪儿配的不对,

    http://processors.wiki.ti.com/index.php/Configuring_TwinCAT_For_AM335x

    http://processors.wiki.ti.com/index.php/Running_AM335x_EtherCAT_Application_in_DC_Mode

    同步的clock cycle设置的多少?

  • v1表示的是硬件版本,这块ice版本有两种版本,v1和v2引脚配置和端口配置都不同

    我连接的不是pc而是倍福的嵌入式控制器cx1030,暂时没有使用同步功能,只用了端口映射的功能,只是个初步的测试

  • 貌似sysbios sdk中的启动方式是从norflash或者spiflash,有没有从nandflash启动方式的支持,还是得自己进行修改?

  • 插一句,你上面给出的料号:tmdsice3359 是ICE EVM的version2.(TMDSICE3359),version1的料号为:TMDXICE3359

    我想问的不是硬件版本,是想问你的EtherCAT slave程序跑的sys/bios是哪个版本?是不是最新的,不是的话建议你更新到最新的版本,最新版本在我上面的回复中可以找到。

  • 你不是拿开发板在测试吗?开发板上只有NOR FLASH 或者SPI flash,所以这个开发包支持这两种,还有SD卡。印象中NAND启动要自己移植一下。

  • 关于开发板上软件的版本应该是比较老的,具体什么版本也不清楚,我先尝试更新板卡的程序,再测试看看。

    不过我时钟认为是由于ehtercat协议的问题使得第二块板运行部正常,因为这个都应该是PRU中的固件了,不涉及上层操作系统。

  • 那你还是关注一下软件使用的版本吧,因为不同版本中对EtherCAT slave都有改进,可以参考release notes,里面有bug fix列表,所以推荐使用新版本的SYS/BIOS。http://processors.wiki.ti.com/index.php/AM335x_SYSBIOS_Industrial_SDK_01.01.00.04_Release_Notes

    PS: 我客户连3快板子测试没问题时,使用的是PC机装TwinCAT作主站。

  • 更新板卡程序的时候遇到了问题,在装载gel文件后执行AM3359_ICE_Initialization遇到错误

    具体的信息如下

    ortxA8: Trouble Writing Memory Block at 0x4c0000e4 on Page 0 of Length 0x4: (Error -1065 @ 0x4C0000E4) Unable to access device memory. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.1.73.0)
    AM3359_ICE_Initialization() cannot be evaluated.
    target access failed
        at *((unsigned int *) (0x4C000000+0x0E4))=(unsigned int) 0x05 [TMDXICE3359.gel:266]
        at DDR2_EMIF_Config() [TMDXICE3359.gel:358]
        at AM3359_ICE_Initialization()
    CortxA8: Trouble Reading Register CP15_Registers_CP15_CONTROL_REGISTER: (Error -2131 @ 0x20013F00) Unable to access device register. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.1.73.0)
    CortxA8: Trouble Reading Register CP15_Registers_CP15_MMU_XLATION_TABLE_BASE_CONTROL: (Error -2131 @ 0x20023F40) Unable to access device register. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.1.73.0)
    CortxA8: Trouble Reading Register CP15_Registers_CP15_MMU_XLATION_TABLE_BASE_0: (Error -2131 @ 0x20023F00) Unable to access device register. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.1.73.0)
    CortxA8: Trouble Reading Register CP15_Registers_CP15_MMU_XLATION_TABLE_BASE_1: (Error -2131 @ 0x20023F20) Unable to access device register. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.1.73.0)
    CortxA8: Trouble Reading Register CP15_Registers_CP15_MMU_DOMAIN_ACCESS_CONTROL: (Error -2131 @ 0x20033F00) Unable to access device register. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.1.73.0)
    CortxA8: Trouble Reading Register CP15_Registers_CP15_CONTROL_REGISTER: (Error -2131 @ 0x20013F00) Unable to access device register. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.1.73.0)
    CortxA8: Trouble Reading Register CP15_Registers_CP15_MMU_XLATION_TABLE_BASE_CONTROL: (Error -2131 @ 0x20023F40) Unable to access device register. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.1.73.0)
    CortxA8: Trouble Reading Register CP15_Registers_CP15_MMU_XLATION_TABLE_BASE_0: (Error -2131 @ 0x20023F00) Unable to access device register. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.1.73.0)
    CortxA8: Trouble Reading Register CP15_Registers_CP15_MMU_XLATION_TABLE_BASE_1: (Error -2131 @ 0x20023F20) Unable to access device register. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.1.73.0)
    CortxA8: Trouble Reading Register CP15_Registers_CP15_MMU_DOMAIN_ACCESS_CONTROL: (Error -2131 @ 0x20033F00) Unable to access device register. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.1.73.0)

    直接下一步装载。out文件也没有什么反应了,start guide流程有什么问题吗?

    ps:刘工,能留个联系方式吗,好直接向你请教

  • GEL文件用错了,你前面说自己用的是tmdsice3359, 这个是ICEv2哦。

    需要使用的是TMDXICE3359_v2_1A.gel

  • 两个ice gel文件都使用过了均是一样的现象,我的板子应该是v1版本的

    现在的提示如下

    CortxA8: Trouble Writing Memory Block at 0x4c0000e4 on Page 0 of Length 0x4: (Error -1065 @ 0x4C0000E4) Unable to access device memory. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.1.73.0)
    AM3359_ICE_Initialization() cannot be evaluated.
    target access failed
    at *((unsigned int *) (0x4C000000+0x0E4))=(unsigned int) 0x05 [TMDXICE3359.gel:266]
    at DDR2_EMIF_Config() [TMDXICE3359.gel:358]
    at AM3359_ICE_Initialization()

  • 初始化配置已经可以了,但是运行isdk_spi_flasher.out文件时没有反应,提示string.h文件找不到,这个问题怎么解决?

  • 在安装sdk后使用之前是不是需要将所有的工程在本地环境编译一次,否则工程或者输出文件找不到一些相应的类库,而且部分bin文件也不存在

    ccs的版本会不会影响sdk的使用

  • 你先确认一下,你目前使用的开发板上是DDR2,还是DDR3。如果是DDR2的,那就是ICEv1;若果是DDR3,那就是ICEv2。两个GEL文件差别是很大的!

    一种辅助辨识的方法是,在ICEv2上面,因为使用的DDR3,我们使用了TPS51200做了并联匹配。如果你在板子上找到了TPS51200这个器件,就说明是DDR3的板子。

  • 针对于你用到的这个烧写spi的工程,你可以重编译,但是不是必须要的。

    isdk_spi_flasher.out这个就是CCS进行load执行的文件了,如果初始化gel脚本使用正确,AM335x和DDR的部分初始化正常,load进去后,你只要run就能在console中得到输出,并可以输入,进行SPI flash的烧写。

    另外,如果load这个.out文件后,可能会出现红字找不到某文件的情况(这只是因为没找到对应的源码),不会影响你运行,可以正常烧写spi flash。原始编译出这个文件时候,源码的位置和你现在放的位置,可能是不一样的,所以找不到源码正常的,你可以通过点击locate file按照错误信息提示的路径,定位到你的安装路径下,就可以看到源码了。

  • 经过几天的测试整个sdk的使用已经搞定了,最终问题出现在ccs的版本上,sdk所有的程序应该是用5.5编译的,而我的ccs版本是5.4,arm编译器和xdc工具的版本都不一致,最后导致新的程序下载下去不能试用,只能找到box而不能进行正常的协议通信。另外spi下载的问题也很简单,进行spi下载的时候必须将跳线设置为nor flash模式,少些norflash时跳线需要设置为spi flash模式,否则程序运行会出现没有反应的问题,这个细节只是在手册中简单提及了下并没有详细说明,导致本人自己尝试才搞定。

    另外,目前非常流行的nandflash模式没有在板子上实现,编写nandflash的bootloader是否有范例,因为近期正好需要进行一些开发。

  • 因为在工业版上没有使用NAND flash,所以在你下载的这个适用于工业版的SYS/BIOS开发包里没有这部分内容。

    但是在AM335x的Starterware开发包中,有这部分的内容,你可以下一个StarterWare,在boot例程中找到。

    http://software-dl.ti.com/dsps/dsps_public_sw/am_bu/starterware/latest/index_FDS.html

  • 你好,请问你的ICE板用GEL文件初始化不成功的问题如何解决的呢

  • 你好,请问下TMDSICE3359的板子要用哪个gel文件才对呢,我试过了最新的SDK里面的都不行

  • 这个工业的板子,目前只是支持sysbios的,下载完sysbios或者processors rtos后,在tools/gel下面就能找到。

    这个工业版目前不支持Linux SDK。 

  • 你好,我使用的是TMDSICE3359,我下载了这里面的sdk,找的的gel文件都报错了  

      http://www.ti.com/tool/sysbiossdk-ind-sitara

    我在CCS6中添加后出现这样的错误:
    CortxA8: Output: Setting IO control registers....... 
    CortxA8: Output: EMIF Timing register configuration is in progress ....... 
    CortxA8: Trouble Writing Memory Block at 0x4c0000e4 on Page 0 of Length 0x4: (Error -1065 @ 0x3D5A) Unable to access device memory. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 6.0.222.0) 
    AM3359_ICE_Initialization() cannot be evaluated.
    Target failed to write 0x4C0000E4
    at *((unsigned int *) (0x4C000000+0x0E4))=(unsigned int) 0x05 [TMDXICE3359.gel:266]
    at DDR2_EMIF_Config() [TMDXICE3359.gel:358]
    at AM3359_ICE_Initialization()

    请问下是CCS版本问题吗,还是其他问题呢?

    另外问一下,哪里有使用TMDSICE3359跑EtherCAT的主站的资料,麻烦告知!谢谢!

  • 你选错了GEL文件,你用的这个板子是ICEv2的板子,板子上的是DDR3,所以要选择的gel是ICEv2的GEL。你选的是ICE板子的,ICE板子上面的是DDR2所以初始化DDR2的时候挂了。

    对于EtherCAT主站,目前来说,大部分客户都是使用的第三方的方案来进行的。TI会在2016年的第三季度提供EtherCAT master,目前还没有出来。

  • 大概明白了,我找了好多gel文件都不对,你能不能给个对的链接给我呢,谢谢了!

  • http://software-dl.ti.com/sitara_indus/esd/AM335x_SYSBIOS_Industrial_SDK/latest/index_FDS.html

    这个是最新的sysbios的下载地址,下载下来安装了后,在文件夹下C:\ti\am335x_sysbios_ind_sdk_01.01.01.01\tools\gel\ICE

    有个TMDXICE3359_v2_1A.gel文件,就是这个了,不要用TMDXICE3359.gel

  • + ICEV2 GEL file本身,你可以直接用这个了。

  • Steven Liu 说:

    你选错了GEL文件,你用的这个板子是ICEv2的板子,板子上的是DDR3,所以要选择的gel是ICEv2的GEL。你选的是ICE板子的,ICE板子上面的是DDR2所以初始化DDR2的时候挂了。

    对于EtherCAT主站,目前来说,大部分客户都是使用的第三方的方案来进行的。TI会在2016年的第三季度提供EtherCAT master,目前还没有出来。

     

    你好,如您所说的,“TI会在2016年的第三季度提供EtherCAT master”,我想问下,TI提供的这个EtherCAT master,是不是跟以前提供的EtherCAT slave的demo一样提供源码可以进行开发的,另外问一下,大部分使用的第三方的方案能不能提供一下作为参考呢,刚接触这个领域,希望可以多多帮助,非常谢谢!