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.

TMDSCNCD28388D: C2000 移植

Part Number: TMDSCNCD28388D
Other Parts Discussed in Thread: C2000WARE

下面操作过程中:

将28377D程序移植到28388D中

遇到的问题:

编译后报错:

#258 invalid redeclaration of type name "int8_t" (declared at line 37 of "D:/CCS10installation/ccs/tools/compiler/ti-cgt-arm_20.2.1.LTS/include/sys/_stdint.h")

我查了一下,建议修改用户的MDK固件库配置路径。

 

目的是想问一下,是否是用户的MDK固件库配置路径问题呢?

该如何解决这个报错呢?谢谢

特来请教

感谢

  • 这个问题没有遇到过,我找到一个类似的帖子已经解决的,你看看是否跟你的问题相同。

    如果没办法解决的话我帮你转E2E问一下。

  • https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/784446/ccs-tms320f28335-invalid-redeclaration-of-type-name-after-ccs6---ccs8-migration/2920712#2920712 

  • 很高兴收到您的回复,我研究研究帖子去

  • 研究了帖子,没能解决问题,还请帮忙转过去问一下英文论坛。
    我之前在英文论坛发过别的问题,描述的,他们不能理解。
    谢谢

  • 我看了你在英文E2E的帖子,他们倒也不是不理解,对方的意思应该是目前没有这方面的指导文档。建议你基于F28388D的SPI例程进行修改,然后读写SD card的地方参考F28377D的SD卡例程。

    另外,读写SD卡例程的使用频率并不高,所以他猜测不会很快在C2000WARE中更新。

  • https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1018123/tms320f28388d-c2000-transplant/3764899#3764899

    您好,英文论坛回复我了。他回复的有点没明白。

    还请帮忙看一下,谢谢。

  • 分析了他的解释,我在#include "driverlib.h"之前加了#include "f28x_project.h",然后编译后,错误只剩下两个和20多个警告。这个地方没找到解决的办法。

    错误和警告.txt
    **** Build of configuration CPU1_FLASH for project spi_ex6_eeprom ****
    
    "D:\\CCS10installation\\ccs\\utils\\bin\\gmake" -k -j 12 all -O 
     
    Building file: "../spi_ex6_eeprom.c"
    Invoking: C2000 Compiler
    "D:/CCS10installation/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu64 --idiv_support=idiv0 --tmu_support=tmu0 -Ooff --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/utilities/third_party/f2838x/fatfs/src" --include_path="F:/CCS10workplace/spi_ex6_eeprom/ff" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2838x/common/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2838x/headers/include" --include_path="F:/CCS10workplace/spi_ex6_eeprom" --include_path="F:/CCS10workplace/spi_ex6_eeprom/device" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/driverlib/f2838x/driverlib" --include_path="D:/CCS10installation/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/include" --define=_FLASH --define=DEBUG --define=CPU1 --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="spi_ex6_eeprom.d_raw" --include_path="F:/CCS10workplace/spi_ex6_eeprom/CPU1_FLASH/syscfg"  "../spi_ex6_eeprom.c"
     
    >> Compilation failure
    subdir_rules.mk:9: recipe for target 'spi_ex6_eeprom.obj' failed
    "C:/ti/c2000/C2000Ware_3_04_00_00/driverlib/f2838x/driverlib/adc.h", line 177: error #41: expected an identifier
    "C:/ti/c2000/C2000Ware_3_04_00_00/driverlib/f2838x/driverlib/adc.h", line 178: error #41: expected an identifier
    "C:\ti\c2000\C2000Ware_3_04_00_00\driverlib\f2838x\driverlib\inc/hw_can.h", line 98: warning #48-D: incompatible redefinition of macro "CAN_CTL_INIT" (declared at line 76 of "C:\ti\c2000\C2000Ware_3_04_00_00\device_support\f2838x\common\include\f2838x_can_defines.h")
    "C:\ti\c2000\C2000Ware_3_04_00_00\driverlib\f2838x\driverlib\inc/hw_can.h", line 99: warning #48-D: incompatible redefinition of macro "CAN_CTL_IE0" (declared at line 77 of "C:\ti\c2000\C2000Ware_3_04_00_00\device_support\f2838x\common\include\f2838x_can_defines.h")
    "C:\ti\c2000\C2000Ware_3_04_00_00\driverlib\f2838x\driverlib\inc/hw_can.h", line 100: warning #48-D: incompatible redefinition of macro "CAN_CTL_SIE" (declared at line 78 of "C:\ti\c2000\C2000Ware_3_04_00_00\device_support\f2838x\common\include\f2838x_can_defines.h")
    "C:\ti\c2000\C2000Ware_3_04_00_00\driverlib\f2838x\driverlib\inc/hw_can.h", line 101: warning #48-D: incompatible redefinition of macro "CAN_CTL_EIE" (declared at line 79 of "C:\ti\c2000\C2000Ware_3_04_00_00\device_support\f2838x\common\include\f2838x_can_defines.h")
    "C:\ti\c2000\C2000Ware_3_04_00_00\driverlib\f2838x\driverlib\inc/hw_can.h", line 102: warning #48-D: incompatible redefinition of macro "CAN_CTL_DAR" (declared at line 80 of "C:\ti\c2000\C2000Ware_3_04_00_00\device_support\f2838x\common\include\f2838x_can_defines.h")
    "C:\ti\c2000\C2000Ware_3_04_00_00\driverlib\f2838x\driverlib\inc/hw_can.h", line 103: warning #48-D: incompatible redefinition of macro "CAN_CTL_CCE" (declared at line 81 of "C:\ti\c2000\C2000Ware_3_04_00_00\device_support\f2838x\common\include\f2838x_can_defines.h")
    "C:\ti\c2000\C2000Ware_3_04_00_00\driverlib\f2838x\driverlib\inc/hw_can.h", line 104: warning #48-D: incompatible redefinition of macro "CAN_CTL_TEST" (declared at line 82 of "C:\ti\c2000\C2000Ware_3_04_00_00\device_support\f2838x\common\include\f2838x_can_defines.h")
    "C:\ti\c2000\C2000Ware_3_04_00_00\driverlib\f2838x\driverlib\inc/hw_can.h", line 105: warning #48-D: incompatible redefinition of macro "CAN_CTL_IDS" (declared at line 83 of "C:\ti\c2000\C2000Ware_3_04_00_00\device_support\f2838x\common\include\f2838x_can_defines.h")
    "C:\ti\c2000\C2000Ware_3_04_00_00\driverlib\f2838x\driverlib\inc/hw_can.h", line 106: warning #48-D: incompatible redefinition of macro "CAN_CTL_ABO" (declared at line 84 of "C:\ti\c2000\C2000Ware_3_04_00_00\device_support\f2838x\common\include\f2838x_can_defines.h")
    "C:\ti\c2000\C2000Ware_3_04_00_00\driverlib\f2838x\driverlib\inc/hw_can.h", line 107: warning #48-D: incompatible redefinition of macro "CAN_CTL_PMD_S" (declared at line 85 of "C:\ti\c2000\C2000Ware_3_04_00_00\device_support\f2838x\common\include\f2838x_can_defines.h")
    "C:\ti\c2000\C2000Ware_3_04_00_00\driverlib\f2838x\driverlib\inc/hw_can.h", line 108: warning #48-D: incompatible redefinition of macro "CAN_CTL_PMD_M" (declared at line 86 of "C:\ti\c2000\C2000Ware_3_04_00_00\device_support\f2838x\common\include\f2838x_can_defines.h")
    "C:\ti\c2000\C2000Ware_3_04_00_00\driverlib\f2838x\driverlib\inc/hw_can.h", line 109: warning #48-D: incompatible redefinition of macro "CAN_CTL_SWR" (declared at line 87 of "C:\ti\c2000\C2000Ware_3_04_00_00\device_support\f2838x\common\include\f2838x_can_defines.h")
    "C:\ti\c2000\C2000Ware_3_04_00_00\driverlib\f2838x\driverlib\inc/hw_can.h", line 110: warning #48-D: incompatible redefinition of macro "CAN_CTL_INITDBG" (declared at line 88 of "C:\ti\c2000\C2000Ware_3_04_00_00\device_support\f2838x\common\include\f2838x_can_defines.h")
    "C:\ti\c2000\C2000Ware_3_04_00_00\driverlib\f2838x\driverlib\inc/hw_can.h", line 111: warning #48-D: incompatible redefinition of macro "CAN_CTL_IE1" (declared at line 89 of "C:\ti\c2000\C2000Ware_3_04_00_00\device_support\f2838x\common\include\f2838x_can_defines.h")
    "C:\ti\c2000\C2000Ware_3_04_00_00\driverlib\f2838x\driverlib\inc/hw_can.h", line 112: warning #48-D: incompatible redefinition of macro "CAN_CTL_DE1" (declared at line 90 of "C:\ti\c2000\C2000Ware_3_04_00_00\device_support\f2838x\common\include\f2838x_can_defines.h")
    "C:\ti\c2000\C2000Ware_3_04_00_00\driverlib\f2838x\driverlib\inc/hw_can.h", line 113: warning #48-D: incompatible redefinition of macro "CAN_CTL_DE2" (declared at line 91 of "C:\ti\c2000\C2000Ware_3_04_00_00\device_support\f2838x\common\include\f2838x_can_defines.h")
    "C:\ti\c2000\C2000Ware_3_04_00_00\driverlib\f2838x\driverlib\inc/hw_can.h", line 114: warning #48-D: incompatible redefinition of macro "CAN_CTL_DE3" (declared at line 92 of "C:\ti\c2000\C2000Ware_3_04_00_00\device_support\f2838x\common\include\f2838x_can_defines.h")
    "C:\ti\c2000\C2000Ware_3_04_00_00\driverlib\f2838x\driverlib\inc/hw_can.h", line 273: warning #48-D: incompatible redefinition of macro "CAN_IF1CMD_DMAACTIVE" (declared at line 99 of "C:\ti\c2000\C2000Ware_3_04_00_00\device_support\f2838x\common\include\f2838x_can_defines.h")
    "C:\ti\c2000\C2000Ware_3_04_00_00\driverlib\f2838x\driverlib\inc/hw_can.h", line 357: warning #48-D: incompatible redefinition of macro "CAN_IF2CMD_DMAACTIVE" (declared at line 115 of "C:\ti\c2000\C2000Ware_3_04_00_00\device_support\f2838x\common\include\f2838x_can_defines.h")
    "../spi_ex6_eeprom.c", line 75: warning #169-D: argument of type "uint8_t *" is incompatible with parameter of type "WORD *"
    "../spi_ex6_eeprom.c", line 51: warning #179-D: variable "error" was declared but never referenced
    "../spi_ex6_eeprom.c", line 52: warning #179-D: variable "i" was declared but never referenced
    2 errors detected in the compilation of "../spi_ex6_eeprom.c".
    gmake: *** [spi_ex6_eeprom.obj] Error 1
    Building file: "../device/device.c"
    Invoking: C2000 Compiler
    "D:/CCS10installation/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu64 --idiv_support=idiv0 --tmu_support=tmu0 -Ooff --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/utilities/third_party/f2838x/fatfs/src" --include_path="F:/CCS10workplace/spi_ex6_eeprom/ff" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2838x/common/include" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/device_support/f2838x/headers/include" --include_path="F:/CCS10workplace/spi_ex6_eeprom" --include_path="F:/CCS10workplace/spi_ex6_eeprom/device" --include_path="C:/ti/c2000/C2000Ware_3_04_00_00/driverlib/f2838x/driverlib" --include_path="D:/CCS10installation/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/include" --define=_FLASH --define=DEBUG --define=CPU1 --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="device/device.d_raw" --include_path="F:/CCS10workplace/spi_ex6_eeprom/CPU1_FLASH/syscfg" --obj_directory="device"  "../device/device.c"
    Finished building: "../device/device.c"
     
    gmake: Target 'all' not remade because of errors.
    
    **** Build Finished ****
    

    是重复定义的情况。但是用了search text,没能找到重复定义的地方。

    下面这个,是我一直和修改后的例程。使用的是28388D和ccs10.1

    7848.spi_ex6_eeprom.rar

    期待您的回复

    谢谢

  • 我发现之前,我在移植的时候,为了使用InitPieVectTable();

    添加了f2838x_pievect.c文件到工程里面。

    然后造成了一系列的问题,后来发现,如果真的用InitPieVectTable();,也可以不用添加f2838x_pievect.c文件。然后,我这边就删掉f2838x_pievect.c文件。

    工程如下:

    0447.spi_ex6_eeprom.rar

    出现了一些新的问题,特来请教,谢谢。

    期待您的回复

    谢谢

  • 你好,你的程序移植现在有什么进展了吗?

  • 我是将网上找到28377D的SD卡读写代码移植到spi_ex6_eeprom工程中,

    移植完的代码如下:(虽然只剩下几个警告,但是运行的过程中卡在SD_spi_Transmission.c文件中的spi_xmit_byte()中的while循环)

    4848.spi_ex6_eeprom.rar

    而且,我的移植,目前只是单纯的将缺失的.c和.h文件复制到工程下。

    一些寄存器和引脚的配置还没有修改。

    一方面,想请教一下这些警告该如何处理呢?(我查了资料,说是在CMD文件中未定义程序存放的位置。

    另一方面,还想请教一下,这样的移植,寄存器和引脚的配置修改,该怎么修改呢?(原理图设计如下:)

    测试的平台是从ti官网购买的28388D评估板:

    TMDSCNCD28388D

    软件用的是:ccs10.1

    期待您的回复

    谢谢