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/TMS320F28035:LIN_REGS 寄存器在 CCS 中具有错误的 addr 偏移

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/967085/ccs-tms320f28035-lin_regs-registers-have-wrong-addr-offset-in-ccs

器件型号:TMS320F28035
主题中讨论的其他器件:C2000WARE

工具/软件:Code Composer Studio

您好!

在参考手册 SPRUI10中、SCIGCR1 寄存  器有一个偏移2h、但是这个寄存器在 CCS v9中有一个偏移4h、显然,偏移4h 是错误的、。为寄存器 SCIGCR1分配值将实际改变之前的寄存器 SCIGCR0。 这是怎么发生的?(LIN init 函数复制到正式例程中)、我应该怎么做来解决这个问题?

 我们 将提前感谢您的帮助。




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

    亲爱的士兵76:  

    为了更好地帮助您、请告知我们以下详细信息:

    -您使用的 CCSv9的确切版本是什么?  您可以使用帮助->关于 Code Composer Studio 找到它。  

    -您使用的是 C2000Ware 的哪个版本?

    谢谢!

    Krishna  

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

    您好、 Krishna

    感谢你的帮助。

    要测试此问题  ,我已重新安装最新版本的 CCS 版本:10.1.1.00004和最新的 C2000Ware 版本:3.03.00.00。

    然后,导入项目示例  从28035文件夹。

    ,将编译器版本更改为 TI v20.2.1.LTS、然后、chean 工程-重新编译工程-然后进行调试。

    从下图中可以看到,在执行“LinaRegs.SCIGCR1.bit.LINMODE = 1;”,寄存器 SCIGCR1没有任何变化,而 SCIGCR0改变了。事实上,SCIGCR1应该有一个 addr 0x00006C02,而不是0x00006C04,  

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

    查看具有 C2000器件支持6.1.0.0 的 CCS 10.1.1.00004安装、它是 CCS/CCS_base/common/targetdb/Modules/C2000/f28004x_lin_regs.xml 文件、为 CCS 调试器定义 TMS320F28035 LIN 寄存器。

     除了  SCIGCR0 之外、f28004x_lin_regs.xml 文件的所有寄存器的偏移似乎都是错误的、因为其他寄存器的偏移量是 SPRUI10中指定的两倍。 例如:

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    即、CCS C2000器件支持文件中似乎存在一个错误。

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

    切斯特、您好!

    感谢您提供这种额外的反馈。  这似乎是一个文档问题。  我们将在域专家休假回来后确认这一点。  

    此致、

    Krishna

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

    您好、Krishna

      此路径中的 f28004x_lin_regs.xml 文件<\ti\ccs1011\ccs\ccs_base\common\targetdb\Modules\c2000\f28004x_lin_regs.xml>具有正确的 addr 偏移、  

    但事实上,这份文件并未涉及。

    如果我在继续工作之前等待反馈?

    谢谢。

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

    [引用 user="soldier 76">This  path <\ti\ccs1011\ccs\ccs_base\common\targetdb\Modules\c2000\f28004x_lin_regs.xml>中的 f28004x_lin_regs.xml 文件似乎具有正确的地址偏移量、抱歉、我在帖子中给出了错误的 XML 文件名。

     TMS320F28035器件的 ccs1011/ccs/ccs_base/common/targetdb/devices/f28035.xml 文件引用 了 LIN 模块寄存器的 C2000_LIN_Type0_Registers.xml:

    [引述]    [/报价]

    它是 ccs1011/ccs/ccs_base/common/targetdb/Modules/c2000/C2000_LIN_Type0_Registers.xml、其寄存器偏移不正确。

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

    切斯特、您好!

    感谢您的及时帮助。

    我想知道 CCS 使用的 XML 文件是什么、接下来我应该如何处理这个不正确的寄存器偏移?  你有什么好主意吗?

    谢谢。

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

    [引用 user="soldier 76"]我想知道 CCS 使用哪个 XML 文件虽然它是针对较旧的 CCS 版本编写的、但我认为 TargetDB XML 规范 仍然与 CCS 使用的 XML 文件概述相关。

    在这种情况 下、是 ccs1011/ccs/ccs_base/common/targetdb/Modules/c2000/C2000_LIN_Type0_Registers.xml 文件、该文件似乎具有 LIN 模块的错误寄存器偏移、这会导致 CCS 调试器错误地显示 LIN 模块寄存器。

    [引用 user="soldier 76"]、接下来我应该如何处理该错误的寄存器偏移?如果 TI 确认问题在 XML 文件中、希望 TI 在 CCS 中发布 C2000器件支持文件的更新。

    在 TI 进行任何更新之前、您可以尝试在 CCS 安装中编辑 C2000_LIN_Type0_Registers.xml 以更正寄存器偏移、以匹配 SPRUI10 TRM。 注:

    1.  最好先备份原始 C2000_LIN_Type0_Registers.xml 文件
    2. CCS 在读取 XML 文件时创建二进制高速缓存。 如果编辑 XML、请在 CCS 未运行时执行此操作、然后 删除目标缓存文件 、以便 CCS 接收您的更改。

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

    大家好、切斯特

    谢谢、您的快速回答对我非常有帮助。 我编辑 xml 文件、它工作正常。  

    我认为 TI 有两件事要做。

    1.更新 xml 文件

    在 LIN_REGS 寄存器摘要表(SPRUI10中的15.7.2 LIN_REGS 寄存    器)页上、前几章(15.2.3 SCI 配置),未列出的寄存器 SCIPIO0详见下图。

    第二个问题似乎与我的问题无关,但我认为,自从我发现这个问题以来,我提出了这个问题。

    谢谢

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

    [引用用户="soldier 76"[]   之前章节(15.2.3 SCI 配置)中提到了未列出的寄存器 SCIPIO0 [/引用]我同意 SCIPIO0寄存器未在 SPRUI10中定义、也未在 C2000Ware_3_03_00_00_Software/device_support/F2803x/headers/include/DSP2803x_Lin.h "SP2803x 寄存器器器件定义"文件中定义。

    由于   TMS320F2803x 器件中不存在 SCIPIO0寄存器、我怀疑应从 SPRUI10第15.2.3节 SCI 配置中删除以下内容:

    [引用]将 SCIPIO0中的 RX FUNC 和 TX FUNC 位都设置为1、以配置 LINRX 和 LINTX 引脚以实现 SCI 功能。[/引用]

     SCIPIO0寄存器确实出现在其他 C2000器件中、例如 《TMS320F28004x 实时微控制器技术参考手册》(修订版 D)中对其进行了说明

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

    大家好、切斯特

    仔细看一下您的答案、我认为您是对的

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

    你(们)好  

    请告知我们是否可以解决此问题。  

    谢谢!

    Krishna

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

    您好、Krishna

    切斯特的回答已经解决了我的问题、但 我想知道您的官方库文件何时会被更新、 或者我只需关闭问题、不管是否有官方更新

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

    您好、Soldier 76、 我们尚未看到您对此主题的反馈。  如果您对所提供的答案满意、请继续操作并关闭。  

    谢谢、
    Krishna