TI中文支持网
TI专业的中文技术问题搜集分享网站

AM2431: EtherCAT程序,在AM2434上面正常运行,为啥在AM2431就卡死呢

Part Number:AM2431Other Parts Discussed in Thread:AM2434,

项目前期使用AM2434,设计的EtherCAT程序,可以正常运行,现在换作AM2431,就卡在下面位置,请专家帮忙看看,是啥原因?

#ifdef SUPPORT_CMDACK_POLL_MODE
volatile uint16_t ack;

do
{
   ack = bsp_pruss_cmd_intfc_read_word(&pHost2PruIntfc->cmdlow_ack);
}while(ack);
#else

读回来的ack值,始终是1.

Shine:

请问这两块板子的硬件一样吗?只是主芯片换成了AM2431? 这两款器件的主要区别,可以查看数据手册5 Device Comparison。https://www.ti.com/lit/ds/symlink/am2431.pdf

,

li ljch:

当初设计时,就是冲着使用AM2431,硬件都是一样的,就是要使用EtherCAT功能。AM2431与之前的AM2434,使用EtherCAT,PRU单元有限制,还是需要不同授权?我这边使用,只使用了R5SS00,没有涉及其他MCU和Core。AM2431与AM2434,通过数据表,我没看出,有影响EtherCAT使用的区别。请问,你知道区别在哪里吗?

,

li ljch:

切换成FreeRTOS,也有同样问题

在bsp_send_command_to_firmware()函数,调用SemaphoreP_pend()卡死

#ifdef ENABLE_PDI_TASK SemaphoreP_pend(&semcmdlow_object, SystemP_WAIT_FOREVER);#else

在nortos时,在bsp_send_command_to_firmware()函数,在这里,ack值始终为1,卡死

do{   ack = bsp_pruss_cmd_intfc_read_word(&pHost2PruIntfc->cmdlow_ack);}while(ack);

,

Shine:

目前,e2e英文论坛在维护,等好了,升级到英文e2e论坛。https://e2e.ti.com/support/

,

li ljch:

好的,辛苦

,

Shine:

应该的。

已把您的问题升级到英文e2e论坛,请关注帖子的回复。https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1251653/am2431-ethercat-can-t-run-on-am2431

,

li ljch:

好的,谢谢

,

li ljch:

1. Which sdk version are you using.

SDK 8.06.45

2. Which ethercat example are you using is it beckoff ssc or simple ethercat example.

beckhoff scc

3. Is the board TI evm or Custom board?

Custom board,前面基于AM2434样片开发的,现在移植到AM2431发布版,已迁移到HS-FS版本,使用的是TI MPK

4. Is customer having the stack sources?

已根据SDK文档,打过补丁patch

,

Shine:

已跟进,请关注帖子的回复。

,

li ljch:

跟踪发现,在这里,tiesc_isEthercatDevice()返回为0,PRUICSS_readEfuse(),这个函数,返回的是2,请问是什么问题?

tiesc_socEvmInit();

if(!tiesc_isEthercatDevice()) { //Non-EtherCAT Device return 1; }

另外,AM2431BSDGHIALXR,目前TI官网是这个芯片,而在数据手册里,D支持“PRU_ICSSG industrial communication subsystem are enabled”,E支持“plus EtherCAT HW Accelerator and CAN-FD are enabled”,这个“EtherCAT HW Accelerator”是指D不支持EtherCAT吗?那D指的“industrial communication”,又是什么意思呢?

,

Shine:

li ljch said:另外,AM2431BSDGHIALXR,目前TI官网是这个芯片,而在数据手册里,D支持“PRU_ICSSG industrial communication subsystem are enabled”,E支持“plus EtherCAT HW Accelerator and CAN-FD are enabled”,这个“EtherCAT HW Accelerator”是指D不支持EtherCAT吗?那D指的“industrial communication”,又是什么意思呢?

EtherCAT是industrial communication的一种协议, 只有E和F版本支持EtherCAT。

,

Shine:

li ljch said:

跟踪发现,在这里,tiesc_isEthercatDevice()返回为0,PRUICSS_readEfuse(),这个函数,返回的是2,请问是什么问题?

tiesc_socEvmInit();

if(!tiesc_isEthercatDevice()) { //Non-EtherCAT Device return 1; }

已跟进!

,

li ljch:

请问AM2431,E或者F的版本,什么时候有呢

,

Shine:

您现在用的是什么版本?

,

li ljch:

AM2431BSDGHIALXR,D版,目前AM2431只能拿到D版本

,

Shine:

请看e2e工程师的回复。

,

li ljch:

好的,关键是AM2431系列,E或F版本什么时候能发布,可以购买?

,

Shine:

已经发布了,什么时候能购买可以关注官网产品页面。

,

li ljch:

好的,谢谢

,

Shine:

不客气~

请看下面工程师的回复。We won't have any EtherCAT enabled devices in the single core AM2431. If the customer is set on using AM243x then they would need to upgrade final design to either AM2432BSEFHIALXR or AM2432BSEFHIALVR. 

,

li ljch:

怎么会这样,有些意外

,

Shine:

可能是芯片设计的不同。

赞(0)
未经允许不得转载:TI中文支持网 » AM2431: EtherCAT程序,在AM2434上面正常运行,为啥在AM2431就卡死呢
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1