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.

[参考译文] CCS/TMS320C5515:CSL 3.07安装问题(CCSv6.1

Guru**** 2595770 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/585355/ccs-tms320c5515-csl-3-07-installation-problems-ccsv6-1

器件型号:TMS320C5515

工具/软件:Code Composer Studio

大家好、

我正在尝试在 CCSv6.1上安装 CSL3.07、我以前从未这样做过、现在很困难。 我发布到 CCS 论坛时、被告知在这里提出我的问题。 我之前发布的显示我所采取的步骤的文章是 :https://e2e.ti.com/support/development_tools/code_composer_studio/f/81/p/583301/2144003。  

我仍有一些问题。 请查看下面的图片。 我认为所有与"nand"相关的错误都是因为、错误选项卡中显示的函数在 CSL_nand.c 和 CSL_EMIF.c 中定义、并在 csl_nand.h 和 csl_emif.h 中声明(函数的名称相同、只有参数的类型不同)。 当我尝试转到函数的声明之一时、我会获得2个选项、如图所示、当 CCS 找到2个声明(以及2个定义)时、转到。 如果我移除、比如说 CSL_EMIF.c、则错误消失。 我不会使用 EMIF 或 NAND。 如果您说这是一个可行的解决方案、我可以删除这些文件、但仍然想知道为什么以这种方式创建文件、以及正确使用它们的方法。  

另一个问题是链接器文件。 我在论坛上找到了一个支持 printf 使用的合适链接器文件,我正在使用该文件(在 https://e2e.ti.com/support/development_tools/code_composer_studio/f/81/p/215845/761954中提供 )。 我似乎需要根据自己的需求自定义链接器。 我已经按照   其中一个帖子的建议在 www.ti.com/.../spru280i.pdf 上阅读了9.6.4。 如果有建议的解决方案、我希望听到这些解决方案(尤其是在您认为这不是安装过程的一部分时)。 我的日志控制台显示在图片下方。  

我想知道的两个问题是、在安装 CSL 时、您是否也遇到类似的问题、或者只是我犯了一些根本错误。 这是我第一次安装 CSL。

我的主要内容就是:

#include

#include "cSL_sysctrl.h"

/*
* main.c
*
int main (空)


SYS_setEBSR (CSL_EBSR_FIELD_PPMODE、CSL_EBSR_PPMODE_0);

返回0;


****为项目 DSP5515构建配置调试****

"e:\\Texas \\ccsv6\\utils\\bin\\gmake"-k all
'生成文件:./src/csl_emif.c '
'调用:C5500编译器'
"e:/Texas/ccsv6/tools/compiler/C5500代码生成工具4.4.1/bin/cl55"-v5515 --memory_model=large -g --include_path="E:/Texas/bios_5_42_02_10/packages/ti/bios/include /Texas/ccsv6/tools/compiler/C5500 --include_path="E:/Texas/c55_csl_3.07/inc /Texas/bios_5_42_02_10/packages --include_path="E:/Texas/bios_5_42_02_10/packages/ti/rtdx/include/c5500 --include_path="E:/src/csl_emif.c --include_path="E:src 4.1.1/include"--include_remote_display_traine.src ----proc-refs.org/traine_remote_display_src -trus_traination="-trus_guidep-ine.p_guide-ine.p_guidep-trine_guidep-trine_guidep-e.p_guidep---ine_guidep-ine_guidep-ine_guidep-trade.p_emine_guidep-ine_ine_guidep-ine_ine_guidep---
'完成的建筑:./src/csl_emif.c
'
'构建目标:DSP5515.OUT"
'调用:C5500链接器'
"e:/Texas/ccsv6/tools/compiler/C5500代码生成工具4.4.1/bin/cl55"-v5515 --memory_model=large -g --define=C5515 --display_error_number --diag_warning=225 --ptrdiff_size=16 --algebraic --asm_source=algeereic -z -m"dsp55_error=225 --ptrdiff_size=16 ---xml-display_linebrms-ram_model=-ram_ines=4.4?-link-inese-ram_model_inese-inese-ram_modulese-ram_modules=1.ment-display-ese-ram_line_display-ese-inese-ram_line_display-ese-inese-inese-ram_modulese-ram_modules=1.ment-info-model_inese-ment-display-ment-display-ines=/Texas/ccsv6/tools/compiler/C5500 /Texas/ccsv6/tools/compiler/C5500 sys_stacksize=0x200 -o "DSP5515.out""./main.obj ""./src/csl_audioClass.obj ""./src/csl_cdc.obj ""./src/csl_dma.obj ""./src/csl_emif.obj ""./src/csl_gpio.obj ""./src/csl_gpt.obj ""./src/csl_i2c_ioExpander.obj /src/csl_irqplug.obj /src/csl_mcspi.obj /src/csl_mmcsd_ataIf.obj /src/csl_pll.obj /src/csl_sdio.obj /src/csl_uart.obj /src/csl_wdt.obj /src/evm5515_i2c.obj "./src/csl_hid.obj "./src/csl_i2s.obj "./src/csl_lcdc.obj "./src/csl_i2c.obj ".c./src/csl_mem.obj "./src/csl_intc.obj "./src/csl_msc.obj "./src/csl_rtc.obj "./src/csl_spi.obj /src/csl_uhpi.obj /src/evm5515.obj /src/vectors.obj "./src/csl_dat.obj /src/csl_mcbsp.obj /src/csl_mmcsd.obj /src/csl_nand.obj /src/csl_sar.obj /src/csl_sysctrl.obj /src/csl_usb.obj /src/evm5515_gpio.obj

错误#10056:重新定义了符号"_NAND_enableHwECC":首先在中定义
"./src/csl_emif.obj;在"./src/csl_nand.obj 中重新定义
错误#10056:重新定义了符号"_NAND_setup":首先在中定义
"./src/csl_emif.obj;在"./src/csl_nand.obj 中重新定义

>>编译失败
错误#10056:重新定义符号"_NAND_readNBytes":首先在中定义
"./src/csl_emif.obj;在"./src/csl_nand.obj 中重新定义
错误#10056:重新定义符号"_NAND_HAS高速 缓存程序":首先在中定义
"./src/csl_emif.obj;在"./src/csl_nand.obj 中重新定义
错误#10056:重新定义符号"_NAND_HASCopyBack":首先在中定义
"./src/csl_emif.obj;在"./src/csl_nand.obj 中重新定义
错误#10056:重新定义了符号"_NAND_RandomWrite":首先在中定义
"./src/csl_emif.obj;在"./src/csl_nand.obj 中重新定义
错误#10056:重新定义了符号"_NAND_setAddress":首先在中定义
"./src/csl_emif.obj;在"./src/csl_nand.obj 中重新定义
错误#10056:重新定义符号"_NAND_setLatchEnableOffset":首先在中定义
"./src/csl_emif.obj;在"./src/csl_nand.obj 中重新定义
错误#10056:重新定义符号"_NAND_sendCommand":首先在中定义
"./src/csl_emif.obj;在"./src/csl_nand.obj 中重新定义
错误#10056:重新定义符号"_NAND_isStatusWriteProtected":首先在中定义
"./src/csl_emif.obj;在"./src/csl_nand.obj 中重新定义
错误#10056:重新定义了符号"_NAND_readECC":首先在中定义
"./src/csl_emif.obj;在"./src/csl_nand.obj 中重新定义
错误#10056:重新定义符号"_NAND_writeNBytes":首先在中定义
"./src/csl_emif.obj;在"./src/csl_nand.obj 中重新定义
错误#10056:重新定义符号"_NAND_getBankInfo":首先在中定义
"./src/csl_emif.obj;在"./src/csl_nand.obj 中重新定义
错误#10056:重新定义符号"_NAND_disableHwECC":首先在中定义
"./src/csl_emif.obj;在"./src/csl_nand.obj 中重新定义
错误#10056:重新定义符号"_NAND_RandomRead":首先在中定义
"./src/csl_emif.obj;在"./src/csl_nand.obj 中重新定义
错误#10056:重新定义了符号"_NAND_checkCommandStatus":首先在中定义
"./src/csl_emif.obj;在"./src/csl_nand.obj 中重新定义
警告#10247-D:创建不带段的输出段".switch"
规格
"./C5515.cmd"、第74行:错误#10099-D:程序将不可用
存储器。 对齐/分块放置在".text"大小的段中失败
0x20835第0页。 可用存储器范围:
DARAM1大小:0x2000未使用:0x2000最大空洞:0x2000
"./C5515.cmd"、第80行:错误#10099-D:程序将不可用
存储器。 段".bss"大小的运行定位/分块失败
0x29ec 第0页。 可用存储器范围:
DARAM5大小:0x2000未使用:0x2000最大孔:0x2000
"./C5515.cmd"、第72行:错误#10099-D:程序将不可用
存储器。 对于段"向量"大小、对齐/分块放置失败
0x200第0页。 可用存储器范围:
VECS 大小:0x100未使用:0x100最大孔:0x100
错误#10010:链接期间遇到错误;未构建"DSP5515.OUT"
gmake:***[DSP5515.OUT]错误1
gmake:目标`全部'不会由于错误而重制。

****构建完成****

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

    我已将此内容转发给软件专家。 他们的反馈应发布在此处。

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

    您好!

    同时、我一直在深入探讨如何解决这些问题。 对于存储器错误、我从其中一个示例工程中找到了另一个链接器文件、并更改了 SARAM 原点和长度;现在似乎可以正常工作。 我希望这些更改不会在将来导致与链接器相关的错误。 链接器内容如下所示、欢迎提供任何注释。

    多函数定义/声明问题的更多信息。 这是因为函数过载。 必须在‘extern“C”{}‘块中定义具有相同名称(和不同参数)的函数。 但是、为此、必须定义__cplusplus。 在我的情况下、它不是、条件是灰色的。 请查看图片。 很显然、我有一些错误设置或其他问题。 我现在正在处理这个问题。 如果您能向我推荐一些解决方案、我将非常高兴。

    谢谢

    -stack 0x1000 /*主堆栈大小*/
    -sysstack 0x1000 /*次要堆栈大小*/
    heap 0x3F80 /*堆区域大小*/

    存储器

    MMR (RW):origin = 0000000h length = 0000C0h /* MMRs */
    VEC (RX):origin = 00000C0h length = 000300h //片上 ROM 向量*/
    DARAM (RW):origin = 0000400h length = 007A00h //片上 DARAM */
    Saram (RW):origin = 0008000h length = 01FE80h //片上 SARAM */


    部分

    VECTORS:>VEC ALIGN = 256
    .text:>SARAM align = 4.
    .stack:>SARAM align = 4.
    .sysstack:>SARAM align = 4.
    .data :> SARAM
    .bss:> SARAM,fill = 0
    .cinit:> SARAM
    .const:> SARAM

    .sysmem:> DARAM
    .cio:> DARAM
    buffer1:> DARAM
    buffer2:> DARAM

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Denn、
    您可以在此处附上 CCS 项目以供查看吗?
    此外、在 C55XXCSL_LP 中的 csl_general.h 文件中、您是否为 C5515定义了正确的 Marco? 请也在此处发布该文件。

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

    你好、Lali、

    我相信我已经定义了正确的宏、除 C5515_EVM 之外的所有平台都是灰色的。 请看一下。 感谢您的提前帮助。

    e2e.ti.com/.../Denn-project-c55_5F00_csl_5F00_3.07.rar

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

    Denn、

    在进行一些更改后、我成功构建了项目。 请找到所附的工作项目。 下面是我的 CCS 工作区的外观、其中.out 位于 Debug 文件夹中。 请忽略模糊区域、因为它们与您的项目无关。 我从您的项目中删除了 src 文件夹、因为它会导致您看到的重新定义错误。 最好从 C55XXCSL_LP.lib 中选择这些定义、而可以从 C:\ti\C55_LP\C55_CSL_3.07\ccs_v6.x_examples\C55XXCSL_LP 导入到工作区中。 您还将需要 atafs_BIOS_drv_lib 来生成。 看看我如何在项目属性的链接器部分中添加.lib。

    您的 csl_general.h 看起来不错。

    CCS 中的默认链接器命令(.cmd)文件存在问题、我们正在未来 CCS 版本中修复这些问题。 对此表示歉意。

    希望这对您有所帮助。

    Lali

    /cfs-file/__key/communityserver-discussions-components-files/791/4162.test_5F00_C5515.zip

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

    你好、Lali、

    它确实帮助很大。 非常感谢您的帮助。 我已相应地更改了路径、现在似乎调试并运行了。

    但是、我想问最后一件事。 我看到您向我发送了一个新的链接器命令文件。 有时我会收到以下警告(有趣的是、并非总是)。 这是因为您提到的链接器命令文件中存在问题、或者我再次缺少 它所抱怨的 C55XXCSL_LP.lib 相关内容。 这是行(  .vectors_CSL{C55XXCSL_LP.lib) (向量)}> SARAM )

    这将是一个长时间运行的项目、我不想发出这样的警告来让我陷入项目的后续阶段。 您在构建项目时是否获得了该信息? 请您对此警告发表评论吗?

    谢谢

    ****为项目 DSP5515构建配置调试****

    "e:\\Texas \\ccsv6\\utils\\bin\\gmake"-k all
    '构建目标:DSP5515.OUT"
    '调用:C5500链接器'
    "e:/Texas/ccsv6/tools/compiler/C5500 /Texas/ccsv6/tools/compiler/C5500 /Texas/c55_csl_3.07/C55XXCSL_LP/Debug 代码生成工具4.4.1/bin/cl55"-v5515 --memory_model=large -g --define=C5515 --display_error_number --diag_warning=225 --ptrdiff_size=16 --algebraic --asm_debraic-z -m"dsp5515_ms-exclus-ment-files"-sp5515_model_ex-ment-display.iptex-spl.cm1.cmp-es"/content_line-infote_display-ese-ment-display_linep.ips.mp.ips.ment-display-ese-ine.cmp.ips.org/es"/content-r.iptex-r.ips.r.ips.r.ine.pr-es=/cn"-r.iptex-r.ine.cmp.ips.r.ips.r.ine.cmp.ips.pr-r.ips.r.pr-r.pr-r.ips.r.ips.r.pr-r.ine_display-r.pr-r.ine-in /Texas/ccsv6/tools/compiler/C5500

    "./C5515.cmd"、第59行:警告#10068-D:无匹配段
    '完成的构建目标:DSP5515.OUT"
    '

    ****构建完成****

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

    很棒! 很高兴您被解除阻止并获得良好的构建。
    是的、我看到同样的警告。 您可以从.cmd 文件中删除该行。 我认为这是我正在处理的另一个项目中的一个工件、在共享文件之前忘记删除该行。 您可能还会收到班次计数过大的警告、但我认为这不是问题。
    当 MSB=15和 lsb=0时、移位为16位。 编译器会认为它很奇怪。

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