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.

[参考译文] TMS570LC4357:无法编译基本 DCAN-TX 代码。

Guru**** 1791080 points
Other Parts Discussed in Thread: TMS570LC4357
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/568643/tms570lc4357-unble-to-compile-basic-dcan_tx-code

器件型号:TMS570LC4357

我制作了一个简单的 CAN_TX 代码、在该代码中、我通过 CAN4通过消息框1发送"Hercules "、但我无法编译代码、并出现以下错误:

说明   资源   路径   位置   类型
gmake:目标"全部"不会由于错误而重新生成。    DCAN TX          C/C++问题
gmake:***[SOURCE /HL_SYSTEM.obj]错误1   DCAN TX          C/C++问题
gmake:***[SOURCE /HL_SYS_vim.obj]错误1   DCAN TX          C/C++问题
gmake:***[SOURCE /HL_SYS_STARTUP.obj]错误1   DCAN TX          C/C++问题
gmake:***[SOURCE /HL_SYS_PMM.obj]错误1   DCAN TX          C/C++问题
gmake:***[SOURCE /HL_SYS_MOVAN.obj]错误1   DCAN-TX          C/C++问题
gmake:***[SOURCE /HL_SYS_PCR.obj]错误1   DCAN TX          C/C++问题
gmake:***[SOURCE /HL_SYS_MAIN.obj]错误1   DCAN TX          C/C++问题
gmake:***[SOURCE /HL_SYS_DMA.obj]错误1   DCAN TX          C/C++问题
gmake:***[SOURCE /HL_pinmux.obj]错误1   DCAN TX          C/C++问题
gmake:***[SOURCE /HL_notification.obj]错误1   DCAN TX          C/C++问题
gmake:***[SOURCE /HL_nmpu.obj]错误1   DCAN TX          C/C++问题
Gmake:***[SOURCE /HL_ESM.obj]错误1   DCAN TX          C/C++问题
gmake:***[SOURCE /HL_errata.obj]错误1   DCAN TX          C/C++问题
Gmake:***[SOURCE /HL_EPC.obj]错误1   DCAN TX          C/C++问题
gmake:***[SOURCE /HL_CAN.obj]错误1   DCAN TX          C/C++问题
#66预计会出现";"   .ccsproject   /DCA_TX   line 49、外部位置:C:\ti\ccsv6\tools\compiler\arp32_1.0.8\include\_lock.h   C/C++ problem
#66预计会出现";"   .ccsproject   /DCA_TX   line 50、外部位置:C:\ti\ccsv6\tools\compiler\arp32_1.0.8\include\_lock.h   C/C++ problem
缺少#262-D 显式类型(假定为"int")   .ccsproject   /DCAN TX   line 49、外部位置:C:\ti\ccsv6\tools\compiler\arp32_1.0.8\include\_lock.h   C/C++ problem
缺少#262-D 显式类型(假定为"int")   .ccsproject   /DCAN TX   line 50、外部位置:C:\ti\ccsv6\tools\compiler\arp32_1.0.8\include\_lock.h   C/C++ problem
#112-D 语句无法访问   hL_sys_main.c   /DCAN TX/源   代码行81   C/C++问题


以下是我的主代码:

/*用户代码开始(0)*/
/*用户代码结束*

/*包含文件*/

#include "hL_sys_common.h"

/*用户代码开始(1)*/
#include "hL_ca.h"
//*用户代码结束*

//@fn void main (void)
*@简要应用主函数
*@注意默认情况下此函数为空。
*
*此函数在启动后调用。
*用户可以使用此函数来实现应用程序。
*/

*用户代码开始(2)*/
#define D_size 9

uint8_t TX_DATA[D_SIZE]={'H'、'E'、'R'、'C'、'U'、'L'、'E'、'S'、'0'};

uint32_t Packets (uint8_t
)






、* t_t_transmit (uint8、't_t_t_t)、* intract/* t_t_cant/e/ t_t_t_t_t_t (* intract_t_t_t_transit、* intract/e/ t_t_t_t_t_t_t_t_t_transit (* intract/uint1)
/*用户代码结束*/

返回0;
}


//用户代码开始(4)*/
uint32_t checkPackets (uint8_t *src_packet、uint8_t *dst_packet、uint32_t psize){
uint32_t err=0;
uint32_t cnt=psize;
while (cnt--){
if (uint32_t










void)}(uint32_t notification)

+(uint32+)+)*t_t notification (uint_t void notification (uint32)+)+!(uint_t notification (uint_t)+)+!(uintnotification (uint_t)+ t void (uint32)+ t notification (uint_t+)返回通知!(uint32


void esmGroup1Notification (unsigned channel)
{
return;
}

void esmGroup2Notification (unsigned channel)
{
return;
}/*
用户代码 end */

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    此外、如果需要、我还附加了我的项目文件:e2e.ti.com/.../0830.DCAN_5F00_TX.7z

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Yash、

    该错误消息表示存在语法错误。 实际的"地震"可能位于报告缺失";"的"地震"之前的行中。

    在查看您粘贴的代码时、我不会"看到"错误。 我想找一个缺失的';',但也有一个错误,在不匹配的{}或()或“,”中,一个额外的标记在某些语句中。 这种问题。

    您可以使用 IDE 中的帮助找到这种最快的方法... 请注意语法突出显示。

    您还可以尝试注释掉代码行并重新编译、直到错误消失。 然后开始取消注释、直到它返回。 有时、如果您"拖尾"而不能以任何其他方式"发现"错误、这会有所帮助、您可以通过这样的方式进行二进制搜索、即对较小的代码段进行注释/取消注释、直到您回到坏行。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Anthony、

    我注释了整个代码、基本上使代码等效于

    int main (void){
    
    } 

    仍然存在上述相同的错误>

    注意:错误会将我定向到_lock.h 文件、该文件是一个系统库、位于目录:C:\ti\ccsv6\tools\compiler\arp32_1.0.8\include 中

    首先、我在编译器的 include 选项中包含了该目录、因为如果不包含该目录、编译器会显示一个错误、说明它无法找到 stdint.h

    我尝试对_lock.h 进行一些更改、但无法解决任何问题。 我认为库的语法不是问题、而是编译的方式。

    我请求您尝试编译我上面包含的工程(注意:请在编译器包含选项中包含 stdint.h 和 stdbool.h 的相应目录)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    错误消息来自 C:\ti\ccsv6\tools\compiler\arp32_1.0.8\include\_lock.h 文件、该文件是用于 EVE (嵌入式视觉引擎)器 件的 arp32编译器的运行时库的一部分、而对于 TMS570LC4357器件、应使用 ARM 编译器的包含文件。

    通过查看 DCAN 项目的项目属性、可以看到在包含路径 中指定了"C:\ti\ccsv6\tools\compiler\arp32_1.0.8\include"。 不确定这是如何发生的、但尝试用标准"${CG_TOOL_ROOT}/include"包含路径替换、以便使用 ARM 编译器包含目录。

    通过该更改、我能够编译项目。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢、Chester、
    解决了我的问题。