Thread 中讨论的其他器件:SYSBIOS
工具/软件:TI-RTOS
尊敬的 David:
这是一篇新文章,但它涉及我之前的文章 RTOS/AM3359- EtherCAT 问题:我认为它已经解决,但有一个新问题。
在更新 Try PRU-ICSS-EtherCAT-SLAVE 01_00_05_00时、我遇到了一个小问题!!!
在此之前、我还更新了 PDK pdk_am335x_1_0_9、并重新构建了所有组件的库。
然后、我从 PRU 生成了两个项目:EtherCAT_SLAVE_FULL_AM335x_ARM (使用 Beckoff 栈5.12进行补丁)和 EtherCAT_SLAVE_DEMO_AM335x_ARM。
我想编译这两个项目并且:不可能!!!
编译时出现相同的错误:osal 库中存在未定义类型的问题(在我之前的文章中、我包含了日志的图片、但我列出了它、抱歉...)
我尝试调查并找到错误。
在文件 am335x_app_pa8fg.c 中,在文件夹 am335x_release\ConfigPkg\cfg 中 ,我可以找到 indirection:
/* Module_startupDoneFxn_C */
_far__ const CT_ti_osal_Settings_Module_startupDoneFxn ti_osal_Settings_startupDoneFxn_C =((ct_ti_osal_Settings_Module_startupDoneFxn) 0);
但是、如果我搜索类型 CT__ti_osal_Settings_Module_startupDoneFxn、则此类型没有定义。
例如,在上一个命令中:
/* Module__loggerFxn8__C */
__far__ const CT_ti_osal_Settings_Module_loggerFxn8 ti_osal_Settings_Module_loggerFxn8_C =((ct_ti_osal_Settings_Module_loggerFxn8) 0);
如果我搜索类型 CT_ti_osal_Settings_Module_loggerFxn8、我可以找到其定义文件 C:\ti\pdk_am335x_1_0_9\packages/ti\osal\Settings.h:
/* Module_loggerFxn8 */
typedef xdc_runtime_Types_LoggerFxn8 ct_ti_osal_Settings_Module_logerFxn8;
_extern __far__ const CT_ti_osal_Settings_Module_loggerFxn8 ti_osal_Settings_Module_loggerFxn8__C;
#ifdef ti_osal_Settings_Module_loggerFxn8__CR
#define ti_osal_Settings_Module_loggerFxn8_C (*((ct_ti_osal_Settings_Module_loggerFxn8*)(xdcRomConstPtr + ti_osal_Settings_Module_loggerFxn8_C_offset))))
其他
#define ti_osal_Settings_Module_loggerFxn8 (ti_osal_Settings_Module_loggerFxn8__C)
#结束
定义的所有类型的 TI 都是相同的!!!!
Module_startupDoneFxn_C 上只有一个错误
当然、我尝试在文件 Settings.h 中添加相同的定义:
/* Module_startupDoneFxn_C */
typedef xdc_runtime_types_startupDoneFxn ct__ti_osal_Settings_Module_startupDoneFxn;
_extern __far__ const CT_ti_osal_Settings_Module_starpDoneFxn ti_osal_Settings_Module_starpDoneFxn_C;
#ifdef ti_osal_Settings_Module_startup DoneFxn__CR
#define ti_osal_Settings_Module_startupDoneFxn_C (*(((ct_ti_osal_Settings_Module_startupDoneFxn*)(xdcRomConstPtr + ti_osal_Settings_Module_startupDoneFxn_C_offset)))
其他
#define ti_osal_Settings_Module_startupDoneFxn (ti_osal_Settings_Module_startupDoneFxn_C)
#endif
但它当然不起作用、我在编译 osal 库时出错:
在/ti/PDK_AM~2/packages/ti/binary/pruss_app_sorte_slave/obj/icev2AM335x/a8host/release/pruss_app_sorte_slave_configuro/packages/cfg/sorte_icev2am335x_app_pa8fg.c:43:0中包含的文件中:
/ti/PDK_AM~2/packages/ti/osal/Settings.h:191:9:错误:未知类型名称"XDC_RUNITY_TYS_STARTupDoneFxn"
typedef xdc_runtime_types_startupDoneFxn ct__ti_osal_Settings_Module_startupDoneFxn;
您是否曾为这些项目进行过编译?
成功了吗?
您能告诉我它为什么不起作用,并帮助我解决问题吗?
非常感谢您的帮助。
Laurence