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.

[参考译文] TMS320F28388D:未进入该功能

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1605387/tms320f28388d-function-not-being-entered

器件型号: TMS320F28388D

您好、
我尝试借助裸机调度器同时使用 I2CA 和 I2CB 以 1ms 的速率进行发送和接收。 在自由运行中、我可以看到设置了所需的 SAR 值。 但是、当我在函数的开头设置一个断点(如视频中所示)时、该值不会更新。 我尝试在启用持续刷新的情况下在表达式窗口中检查相同的设置、但该值没有更新。 在函数开始、中间和结束时插入 3 个全局变量并监视这些值时、似乎根本没有输入该函数。 在断点处、当我执行汇编单步操作时、正在设置所需的值。 出现此行为的可能原因是什么?
此致、

Ganesh

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

    尊敬的 Ganesh:

    就 I2C 硬件/软件而言、我看不到它会影响断点行为的任何原因。 我唯一能想到的是、在写入该寄存器之前/期间设置了断点。 如果在下一行中设置断点、您是否看到设置的寄存器值?  

    您是否正在利用任何优化? 编译器优化会影响断点的 存储器地址映射方式。

    此致、

    Aishwarya

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

    尊敬的 Aishwarya:

    很抱歉、延迟的回复。

    如果我将断点设置为以下石灰、是的、寄存器被设置。 我认为没有任何其他优化、makefile 的标志部分如下所示:

    ------------------------------------------------
    #“更快的构建“构建配置
    ------------------------------------------------

    ARFLAGS        =-r
    ASFLAGS        =-abi=coffabi \
                -s \
                -v28 \
                -ml \
                $(ASFLAGS_additional)
    CFLAG        =-abi=coffabi \
                -compile_only \
                -- preproc_dependency=“$(@:%.obj=%.dep)“--preproc_with_compile  \
                -i“$(TI_include)\
                -- large_memory_model \
                --silicon_version=28 \
                --define=“large_model"</s>“
    CPPFLAGS       =
    CPP_LDFLAGS      =
    cpp_sharedlib_ldFLAGS =
    OBJCOPYFLAGS_DWO  =“$<"</s>“  
    download_flags   =$(target_load_CMD_args)$(product)
    EXECURE_FLAGS    =
    OBJCOPYFLAGS_HEX  = -i “$"-o“-o “$@“-order MS -romwidth 16 -q
    LDFLAGS        =-abi=coffabi \
                -z -i$(TI_LIB)\
                --stack_size=$(stack_size)--warn_sections \
                -- heap_size=$(heap_size)\
                -- reread_libs -- rom_model \
                --优先级\
                -m“$(product_name).map“
    MEx_CPPFLAGS     =
    MEx_CPPLDFLAGS   =
    MEX_CFLAGS      =
    MEx_LDFLAGS      =
    make_flags      =-f $(Makefile)
    sharedlib_LDFLAGS  =
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Ganesh

    您还可以在汇编中使用硬件断点将 其放置在更精确的位置。 让我和编译器专家一起发表进一步评论。  

    此致、

    Aishwarya

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

    您指的是哪个视频?

    使用的是哪个 CCS 版本?

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

    尊敬的 Ki:

    抱歉错过添加视频。 我将其附上如下:
    e2e.ti.com/.../0624.SARIssueCCS.mp4

    在 CCS 12.7 和 CCS 20.3.1 上都观察到了此行为。

    此致、

    Ganesh

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

    会提供该项目、还是至少提供一些可在通用 F28388D 上运行的可重现测试用例?

    您可以通过私人 E2E 消息发送它。

    谢谢

    Ki