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.

[参考译文] TMS570LS20216:TMS570的 pil 设置

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/596166/tms570ls20216-pil-setup-for-tms570

器件型号:TMS570LS20216
主题中讨论的其他器件:HALCOGEN

您好!

我尝试 使用 TMS570 MCU 开发套件在 Matlab Simulink ( Matlab 2017a)中运行 PIL 仿真。但是 ,在遵循 TMS570所需的 PIL 设置的所有说明后  ,我收到 一 条错误消息(超时问题) 在 Matlab Command 窗口中 ,如 下面所述,我已经尝试  对 rtIOStream Close 函数中的 SCIInit()函数进行注释-但我有相同的错误。  

请提供支持

 

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

"###正在创建独立可执行文件"ex1_fif_mdl.out"..."
c:/ti/ccsv5/tools/compiler/arm_5.1.1/bin/armcl -z -m"TI_HerculesPilSerial.map"-i"C:/ti/ccsv5/tools/compiler/arm_5.1.1/lib -i"C:/ti/ccsv5/tools/compiler/arm_5.1.1/include --reread_libs -warn_sections -display_error_number -diag_wrap=off -rom_modules --stack=0 -be32 "C:/TI_hercules_filter.iptexobj pruestions.com/files/tifestines_ips.obj rgors.com/tifors.obj rfiles/tifestines_iptics.obj /ti/ccsv5/tools/compiler/arm_5.1.1/lib /Users/Al/Desktop/TI_Hercules_PIL_Target_for_RM48/code/examples/slprj/ert/ex1_fir_mdl/pil/../instrumented/ex1_fir_mdl_rtwlib.lib

"###已创建:Ex1_fif_mdl.out"
"###成功生成了所有二进制输出。"
gmake:离开目录`C:/Users/Al/Desktop/TI_Hercules_PIL_Target_for_RM48/code/examples/slprj/ert/ex1_fir_mdl/pil

C:\Users\AL\Desktop\TI_Hercules PIL_Target_for_RM48\codes\examples\slprj\ERT\ex1_fif_mdl\pil>exit /B 0
###启动应用程序:'slprj\ERT\ex1_fir MDL\pil\ex1_fir MDL.out'
开始与 RM48通信
启动 loadti 以下载 C:\Users\Al\Desktop\TI_Hercules PIL_Target_for_RM48\codes\examples\slprj\ERT\ex1_fir MDL\pil\ex1_fir MDL.out
起动器命令字符串:C:\Users\AL\Desktop\TI_Hercules PIL_Target_for_RM48\codes\utils\loadti
命令参数:c:\ti\ccsv5\ccs_base\DebugServer C:\Users\Al\Desktop\TI_Hercules _PIL_Target_for_RM48\codes\utils\loader -r -a -c "C:\Users\Al\Desktop\TI_Hercules _PIL_Target_for_RM48\TI_my_my_my_profiles\t24\t242mspr1\cm64_msprg1\cmsprg1\cmc\prine_mbl_m64_msprg1\cmsprg1\cmc\t24_mbl_msprg1\cmsprg1\cm1\cm1\cm64_em_msprg1\cm1\cm1\cm1\cm1\cm1\cmcines\cm64_pre\mc\mcum_m64_mc\tine.ti_m64_m64_msprg1\cmc\tex_
***** DSS 通用加载程序*****

开始时间:12:40:59 GMT+0200 (MESZ)

正在为指定目标配置调试服务器...
完成
目标:德州仪器 XDS100v2 USB 仿真器
正在连接到目标...
CortexR4:GEL 输出:闪存@地址0x0的存储器映射设置
正在重置目标...
testEnv.outFiles:C:\Users\AL\Desktop\TI_Hercules PIL_Target_for_RM48\codes\examples\slprj\ERT\ex1_fir MDL\pil\ex1_fir MDL.out
正在加载 C:\Users\AL\Desktop\TI_Hercules PIL_Target_for_RM48\codes\examples\slprj\ERT\ex1_fir MDL\pil\ex1_fir MDL.out
完成
目标正在运行...
结束时间:12:41:15 GMT+0200 (MESZ)
暂停3秒
使用 ex1_fir 滤波器时出错(第199行)
多种原因导致的误差。
原因:
使用 ex1_fir 滤波器时出错(第199行)
已超过从 rtiostream 接口接收数据的60秒超时时间。 此故障可能有多种原因。
您应该:

(a)检查目标硬件配置是否正确、例如、检查字节顺序是否正确。
(b)确认目标正在运行。
(c)考虑应用程序运行时故障的可能性(例如、除以零例外、错误的自定义代码集成等)。

注(c):要确定运行时故障的可能原因、请考虑使用支持信号处理和调试的 SIL。

如果找不到解决方案、请考虑使用方法 rtw.connectivity.rtIOStreamHostCommunicator 的 setTimeoutRecvSecs 来增加超时值。 使用时出错
Ex1_fir 滤波器(第199行)
在调用"coder.profile.ExecutionTime/get.Sections"时未分配输出参数"lSecions"(以及其他参数)。


提前感谢。
此致、

侯赛因

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

    我已将您的问题转交给我们的 Matlab 专家之一。 他们应尽快作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Chuck Davenport、您好!

    我 尚未收到任何回复、 请您提供支持。

    此致

    侯赛因

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

    我对拖延表示歉意。 我将再次向 Matlab 专家发出邀请。

    同时、您是否了解过类似主题的其他主题?

    e2e.ti.com/.../355390
    e2e.ti.com/.../428846
    e2e.ti.com/.../587385
    e2e.ti.com/.../471051
    e2e.ti.com/.../528738

    您还可以通过使用搜索栏并在 Hercules E2E 中搜索 PIL 来查找有关类似主题的许多其他文章。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Chuck Davenport、您好!
    感谢您的回复、我已经看到了所有有关 PIL 设置的帖子。
    不幸的是、我无法解决问题。
    此致
    侯赛因
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Hussein、

    PIL 示例在 Matlab 和 Simulink 中进行了测试。 您是否尝试使用 MATLAB/Simulink 而非 CCS5.x 编译项目并将其加载到 MCU 闪存中?

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

    您好、Wang、
    是的、使用 MATLAB/Simulink 加载项目并将其编译到 MCU 闪存中、错误按摩 如上所示(我的第一篇文章)。


    此致
    侯赛因

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 TI 支持团队:
    我正在认真执行 PIL 软件包以在 TMS 570中成功、请快速支持以解决此问题。
    此致
    侯赛因
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Hussein、

    我需要为我找到 MATLAB/Simulink/Coder 许可证、以便从 Simulink 模型和相关*。m 文件生成 c/c++代码、并执行测试。

    很抱歉耽误你的时间。

    此致、
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Wang、
    您是否找到了 MATLAB 许可证?
    此致
    侯赛因
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 TI 支持团队:
    这是一个月前的事,到目前为止,问题仍未解决。
    此致
    侯赛因
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 TI 支持团队:
    我 正在等待  您的反馈。
    此致
    侯赛因

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

    我们的嵌入式编码器和 Simulink 编码器许可证已过期、尚未更新。 我很抱歉。 您的问题出现在一个 Simulink 函数中:simOut = sim (model、ParameterStructt)。 FIR 滤波器的模型由许多用户和 Seely 先生进行了测试、因此它应该运行良好。 您是否能够在 PC 上运行 Simulink 示例?

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

    您好、Wang、

    Simulink 示例在 PC 上工作、但当我尝试 使用 TMS570 MCU 开发套件在 Matlab Simulink 中运行 PIL 仿真时、我收到一条错误消息(超时问题)、 我认为   在运行代码时 rtIOStreamRecv 中存在问题、该问题在 TI_RM48HDKSerialRtiostream-Rtiostream.c 中定义  (CCS 项目)、它进入无限循环。  

    您能否查看 并检查附件(CCS 项目)?

    此致

    Husseine2e.ti.com/.../2781.MySCI.zip

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

    尊敬的 TI 支持团队:

    您能否查看 并检查上一帖子中的附件(CCS 项目)?

    此致
    侯赛因

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

    有一个支持 PIL 所需的 Rtiostream 函数测试程序。

    这是 TI_HERUCLES_RM48/src/TI_Hercules_RM48PilSerial/TI_RM48HDKSerialRtiostreamTest.c 中的文件

    因此、要使用它、暂时不要使用 MATLAB。

    只需使用 TI_RM48HDKSerialRtiostream 文件夹中的 RTIO 流函数为您的电路板构建一个简单的演示程序、并使用 TI_RM48HDKSerialRtiostreamTest.c 作为顶级程序即可。 当然、您需要为20216重新生成 HalCoGen 文件夹、并且您可能需要更改 TI_RM48HDKSerialRtiostream 文件中的串行端口#。

    构建这种独立的、然后在电路板上运行、查看它是否实现了回路(例如打开电路板虚拟 COM 端口上的 PuTTy 等终端、您在终端中键入的任何内容都应回显)。

    在这一过程开始后、这些相同的变化只需保持在 PIL 的适当位置即可。 PIL 编译将使用 halcogen 子目录和 TI_RM58HDKSerialRtiostream 子目录、但它不会包含 TI_RM48HDKSerialRtiostreamTest.c ... 相反、用于线束 DUT 模型的 Mathworks XIL 层将通过 Rtiostream 层与 Simulink 进行通信。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、 Anthony、

    我已经完成了您提到的所有步骤(请参阅随附的文件 e2e.ti.com/.../5556.MySCI.zip ),但当我运行代码时,它会进入无限循环。

    此致

    侯赛因

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    测试程序应该是一个无限循环。

    您是否尝试将 Putty 等终端程序附加到要用于 Rtiostream 的板上 COM 端口、并查看'echo '是否正常工作?

    如果它可以正常工作-您应该准备好至少为此代码的这一部分转到 PIL。 (您的 loadti 和仿真配置可能仍需要更新、并且可能存在其他问题... 但工作的串行端口部分将完成...)

    如果它不能用作"回波"、则只需将其视为在 UART 上调试简单的"回波"程序。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    问题是、当我  在调试模式下运行测试程序并保持软启动后、我意识到我被锁定在 TI_RM48HDKSerialRtiostiostream-Rtiostream.c 文件中的 TI_RM48HDKSerialRtiostream.c 文件中、并且软件被阻止在   TI_RM48HDKSerialRtiostiostream.c 文件的'if (hbCount++>HEARTBEATDLY)'行中。   如下图所示:

    此致

    侯赛因

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

    好的、虽然您可能应该将心跳定义为0、除非您想修复映射到 LED 的引脚以使其闪烁、但心跳不是问题。

    因此、您似乎正在尝试使用 SCI1 -确保您所使用的电路板具有正确的串行端口。

    并确保以115200波特的正确设置打开终端... (必须与 HalCoGen 设置相匹配)。


    您将*期望*处于循环中

          while ((sci->FLR &(uint32) SCI_RX_INT)=0)
          {
             /*等待*/
    #if 心跳
             IF (hbCount++> HEARTBEATDLY)
             {
                hbCount = 0;
                gioToggleBit (hetPORT、0x1F);
                gioToggleBit (hetPORT、0x01);
             };
    #endif
          };

    大多数情况下、您会中断处理器、因为这只是轮询 SCI。

    但是、您应该能够在这个断点之后的行上设置一个断点:

    sciStat = sciRxError (sci);

    并在您在终端中按键后按该断点。


    如果不是这样,就会出现问题,你可以像平常一样开始调试--检查 SCI1/LIN1控制寄存器是否配置正确,
    在终端程序中按键时检查器件上的 SCI RX 引脚、以确保字符到达器件、 检查状态位以查看是否接收到字符等。


    相反、如果您遇到断点、但问题是您没有看到您键入的字符回传给您、则您正在寻找阻止 SCI 传输的内容。
    同样的事情,但看看传输端,尝试手动将字符输入传输缓冲区,看看是否有字符从引脚传出,如果是,则检查连接的 PC 端...

    注释: 我建议固定引脚、以便在接收时 LED 闪烁。 但是、您可能希望在 SCI 运行后稍后执行此操作。。  当您启动 Simulink 以查看正确下载的程序并准备好与 Simulink 进行通信(具体情况由特定电路板上的闪烁心跳 LED 指示灯证明)时、该功能非常有用。

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


    大家好、现在这只是一个'CI 回送'测试-除了 Matlab 使用我们放置在发送和接收端的包装文件来匹配 MATLAB API 之外、与 Matlab 没有任何关系。 希望您能帮助他调试 SCI 问题-但我不确定哪个电路板...
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    SCI 测试程序工作正常、 但 在 Matlab Simulink 中 的 PIL 仿真中、我收到此错误消息、

     我认为 rtIOStream Close 函数中存在问题。

    请告诉我您的建议。

    此致

    侯赛因

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

    侯赛因

    rtioStream close()出现问题-我在原始封装中进行了调用。 若要调用 sciInit()来重置 sci,但这不起作用(HalCoGen,只能调用 sciInit()一次)和

    我构建的 Simulink 版本没有调用 close()。 他们改变了这个,然后仿真将运行,但*在*仿真运行之后*,由于调用 sciInit(),您会得到这个错误。

    但我认为你的 sciInit()在最后评论了... 您的仿真是否运行过、但仿真完成时才出现此错误?   或者您的仿真是否未运行?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Anthony、
    我已经设置了断点来暂停 MATLAB 文件(Launcher.m)的执行、然后逐步执行 MATLAB 代码。之后、我一直在运行仿真、没有任何问题!!!
    还有一个问题:是否可以将此 PIL 工具与 MATLAB CoderTm或仅与 MATLAB Simulink 结合使用?

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

    超级棒!

    抱歉、我没有尝试使用 Matlab Coder -我认为它应该起作用、但 Matlab Coder -> Embedded Coder -> Target 的整个流程与 Simulink Coder 略有不同、我没有尝试、因此无法确认、但我认为它使用相同的基础 用于 PIL 的对象。