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.

[参考译文] TMS470MF06607:用于 TMS470的 SCI 引导加载程序

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/579349/tms470mf06607-sci-bootloader-for-tms470

器件型号:TMS470MF06607
主题中讨论的其他器件: UNIFLASHHALCOGEN

您好!

我使用的是 TMS470MF06607微控制器。

我想为该微控制器开发 SCI 引导加载程序。 但在  我之前的邮件中、我收到了来自 e2e 论坛的回复、您只能为此微控制器引导加载程序。

在我之前的邮件中、我有一些可以引导加载程序的链接。 从该链接中、我获取的文件是什么、我也在 此处附加了该文件。 您能验证一下吗?

我对 CAN 和 SCI 引导加载程序没有什么疑问。

1) 1)我获得了 XDS100V2仿真器。 通过该 ARM JTAG 仿真器、我还可以将引导加载程序刷写到微控制器中??

2) 2)从 CAN 引导加载程序中、是否可以将其转换为 SCI 引导加载程序。??? 如果可能、如何实现?

3) 3)我认为代替 CAN TX 和 RX 功能的含义、如果我替换 SCI TX 和 RX 功能、则意味着 CAN 引导加载程序将转换为 SCI 引导加载程序。 它是正确还是不正确??

4)在 CAN 引导加载程序 zip 文件中,我还获得了一个有关 CAN 引导加载程序的 PDF。 在该 PDF 中,他们提到 b1_config.h 文件。  我要从哪个文件夹获取该头文件。

5) 5)如果我想将 CAN 引导加载程序更改为 SCI 引导加载程序,则可以从我要启动的位置引导加载程序文件。 您能简单地建议一下。

此致

Arun Kumar.Ne2e.ti.com/.../4212.TMS470_5F00_BOOT.rar

 

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

    我正在研究您的问题、在我有时间对此主题进行一些调查后、我明天会再次向您提出问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Arun、

    您以前曾问过同样的问题、我们在这篇文章 e2e.ti.com/.../2071744中提供了明确的答案

    当然、如果您有机会查看实现并有具体问题、我们可以提供帮助、但这需要您投入一些时间来了解 CAN 实现以及 SCI 驱动程序的工作方式、以便将它们集成以替换引导加载程序的 CAN 部分。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、先生、

    实际上、我可以从您提供给我的链接下载该加载程序。 我尝试使用该 PDF 了解引导加载程序的顺序。 但它对我来说有点复杂。 您拥有的任何其他文档都可以引导加载程序、这对我来说非常有用、因为它可以在可以引导加载程序的支架下运行。

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

    对于 TMS470 CAN 引导加载程序、我从您提供给我的链接下载该 zip 文件。
    但在该文件中、文件也具有仅适用于 TMS570的引导加载程序。
    我附加了我从该链接获取的 zip 文件。 它是否仅适用于 TMS470 CAN 引导加载程序的正确文件?
    如果不发送、则 TMS470 CAN 引导加载程序链接。


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

    考虑到文档直接与软件一起提供、我们实际上没有任何其他 CAN 引导加载程序文档。 我想问题之前已经提出过、但您能否再次解释一下您的应用中为什么需要引导加载程序? 是否要进行现场更新?

    如果这用于生产编程操作、是否有原因无法在命令行模式下使用 UNIFLASH?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、先生、

    感谢您的回答。
    实际上、我设计了一个定制板。 我的定制板希望与另一个 CAN 器件通信。
    无论我从该 CAN 模块获得什么数据,我都只通过微型 USB 将该数据发送到另一端。
    现在、我只通过 ARM JTAG (20引脚)刷写代码。 但我也希望仅通过 USB 闪存我的代码。
    这就是我需要 SCI 引导加载程序的原因。


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

    您好 Arun、

    我也尝试关注之前帖子中的链接、并发现 Wiki 链接和产品主页上提供的应用手册中都存在令人困惑的结果。 我联系了最初编写引导加载程序代码的工程师、他直接向我提供了源代码。 我已上传到此帖子、以便您更轻松地访问。

    e2e.ti.com/.../8231.TMS470M-CAN-Bootloader.zip

    这将有助于澄清一点。 尽管似乎有570 CAN 引导加载程序和 TMS470M 引导加载程序代码的混合引用、但我认为 TMS470MF06607主页上的应用手册应能很好地概述引导加载程序的特性和功能。

    从概念角度来看、您应该能够将应用程序分为多个部分、如下面的简化图所示:

    要将 CAN 引导加载程序迁移到 SCI 引导加载程序、您需要实现 SCI 驱动程序、并用类似的 SCI 调用替换对接收数据/命令的 CAN 驱动程序的调用、如果 CAN 的当前实现使用中断(我不认为是这样)、 您必须对 SCI 执行相同的操作、或考虑将其替换为轮询函数。

    希望这对您有所帮助。

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

    很抱歉耽误你的回答。
    我看到了您的邮件、对我非常有帮助。 我将验证引导加载程序、如果有任何问题、我将告诉您。
    感谢您的指导。

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

    我看到可以引导加载程序文件。 在该 b1_dcAN.c 文件中、我看到了一些函数。 但它在我的 CAN.c 文件中不可用。

    例如:
    静态空 CANMessageSetRx (canBASE-t *节点);
    静态 uint32 CANMessageGetRx (canBASE-t *节点、uint8 * pucData、uint32 * pulMsgID)

    这些函数名称在我的 CAN.c 文件(由 halcogen 代码 gnerator 生成的文件)中不可用。

    因此、我对该引导加载程序有一些疑问。

    1) 1)如何检查此引导加载程序是否适用于微控制器?
    2)如果正确的方法是如何使用仿真器进行闪存? (我需要该引导加载程序的正确刷写步骤)。

    我还有一个查询。 请告诉我为我的程序生成十六进制文件的步骤。 以及如何将该十六进制文件刷写到电路板中。 (请告诉我正确的步骤)。


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

    你好 Arun。

    文件名和架构的区别在于。 最可能的原因是在 Halcogen 之外开发了启动加载程序、或者用于创建驱动程序的 Halcogen 版本存在差异。 通常、引导加载程序代码作为示例提供、您可以选择是否使用它。

    [引用 USER="Arun kumar93]1)如何检查此引导加载程序是否是我的微控制器的正确引导加载程序?

    您可以加载并执行它吗? 您可以使用代码检查吗? 您可以查看项目配置文件吗? 我不能确定您在这里要查找的内容、而是说我收到了代码作者提供的最新代码。

    [引用 user="arun kumar93"]2)如果正确,则说明如何使用仿真器进行刷写?? (我需要该引导加载程序的正确刷写步骤)[/quot]

    引导加载程序以与任何其他代码编程到器件中相同的方式编程到器件中。 即、使用 TI 的 Uniflash 或 CCS 编程实用程序或 IAR 等第三方编程工具/IDE。

    要生成十六进制文件、您需要将工程导入 CCS、编译、然后通过调试加载。 我们的许多培训视频展示了这些步骤。 我看到您的其他帖子、其中您的应用程序在板上运行。 该项目将与这些项目相同。

    下面是一些培训视频的链接、这些视频将展示如何使用 CCS 生成输出文件(我们使用 TI 格式、Put 文件或 MRE 通用 COFF 格式)。

    training.ti.com/.../embedded-processors-microcontrollers-mcu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、先生、
    现在、我尝试刷写我的微控制器中的 CAN 引导加载程序。
    从 CAN 引导加载程序链接中,我获得了一个 PDF,用于说明如何刷写 CAN 引导加载程序。
    我在 PDF 中执行了相同的步骤。 但我会得到一些误差。 它显示某些文件丢失。 我附加了 PDF 以及我遇到了什么错误。
    我搜索了该文件、但我没有获得这些文件。 您能告诉我从哪里可以获得这些文件吗?

    错误消息(我在 CCS 中得到的内容):

    "C:/ti/ccsv6/utils/tiobj2bin/tiobj2bin.bat "
    用法:tiobj2bin file.out file.bin [ofd][hex][mkhex]
    "os_blinky.out""os_blinky.bin"
    gmaking[1]:[编译后]错误-1073741515 (忽略)
    "C:/ti/ccsv6/tools/compiler/ti-cgt-arm_5.2.2/bin/armhex.exe "
    致命错误:未提供输入文件
    gmaking[1]:[编译后]错误1 (忽略)
    "os_blinky.bin"
    "os_blinky.bin"无法识别为内部或外部命令、
    可操作的程序或批处理文件。
    gmaking[1]:[编译后]错误1 (忽略)
    "C:/ti/ccsv6/utils/tiobj2bin/mkhex4bin.exe "
    从 stdin 读取...
    文件不存在:位于 XML_TI_OFD.pm 第877行。
    gmaking[1]:[编译后]错误255 (忽略)
    '


    CAN 引导加载程序 PDF 映像(页:14)

    要使用 TI Code Composer Studio 5.x 创建应用、请使用附带的链接器文件
    项目的应用报告。 包含的链接器文件设置了矢量表和的起始地址
    将二进制文件的存储器区域更改为0x4000。 在工程属性窗口中、在中键入以下命令
    “post-built Steps 命令”:
    "${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin.bat
    "${BuildArtiftFileName}""${BuildArtiftFileBaseName}.bin"
    "${CG_TOOL_ROOT}/bin/ofd470.exe
    "${CG_TOOL_ROOT}/bin/hex470.exe
    "${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin.exe



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

    Arun。

    您发布的 PDF 部分与将引导加载程序编程到器件无关。 它提供了如何使用 CCS 生成二进制文件的指令、然后可以使用器件中已有的引导加载程序和 PC 应用程序将数据包发送到器件中的引导加载程序将二进制文件编程到器件中。

    您是否成功地在器件上运行了任何示例程序? 如果是、您如何针对这些示例将代码编程到器件中? 您需要以相同的方式对引导加载程序进行编程。

    [引用 USER="Arun kumar93]CAN 引导加载程序 PDF 映像(第14页)

    要使用 TI Code Composer Studio 5.x 创建应用、请使用附带的链接器文件
    项目的应用报告。 包含的链接器文件设置了矢量表和的起始地址
    将二进制文件的存储器区域更改为0x4000。 在工程属性窗口中、在中键入以下命令
    “post-built Steps 命令”:
    "${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin.bat
    "${BuildArtiftFileName}""${BuildArtiftFileBaseName}.bin"
    "${CG_TOOL_ROOT}/bin/ofd470.exe
    "${CG_TOOL_ROOT}/bin/hex470.exe
    "${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin.exe "

    如前所述、使用 Uniflash 或 CCS 对使用 CCS 编译代码时创建的引导加载程序.out 文件进行编程。 引导加载程序将从地址0x00000000开始加载、并在加电时执行。 您粘贴的说明注意、您下载的应用程序将根据提供的链接器命令文件加载到0x4000地址。

    您能否提供有关您想要实现的目标的更多详细信息? 您是否正在尝试建立电路内测试编程器或通用编程站? 您是否正在开发需要引导加载程序进行编程的应用程序? 推动器件上引导加载程序需求的动力是什么?

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

    你是对的。 实际上我犯了个错误。 很抱歉。
    我在 CAN 引导加载程序文件中没有遇到任何错误。 您给我的 CAN 引导加载程序链接是什么、我在 CCS 中构建了该引导加载程序。
    它没有给我任何错误。 我可以进行闪存、以便正常地将加载程序文件引导到控制器。
    现在我将构建我的应用程序代码。对于该应用程序代码、我仅遵循 PDF 中提供的步骤。(pdf 随附在 TMS570引导加载程序 zip 文件中)。
    在该 PDF 中、我遵循了第10步。 我更改了该链接值、存储器映射值、段配置值与该 PDF 类似。
    之后,我还给出了 postbuild 步骤命令。 在进行此更改之后,如果我尝试构建项目,则意味着 CCS 给出了一些错误。
    它提供了一些输入文件、但不可用、如所示。 因此、这就是我问的原因、我可以从哪里获取这些文件。
    我附加了从 CCS 获取的错误。

    错误:

    "C:/ti/ccsv6/utils/tiobj2bin/tiobj2bin.bat "
    用法:tiobj2bin file.out file.bin [ofd][hex][mkhex]
    "os_blinky.out""os_blinky.bin"
    gmaking[1]:[编译后]错误-1073741515 (忽略)
    "C:/ti/ccsv6/tools/compiler/ti-cgt-arm_5.2.2/bin/armhex.exe "
    致命错误:未提供输入文件
    gmaking[1]:[编译后]错误1 (忽略)
    "os_blinky.bin"
    "os_blinky.bin"无法识别为内部或外部命令、
    可操作的程序或批处理文件。
    gmaking[1]:[编译后]错误1 (忽略)
    "C:/ti/ccsv6/utils/tiobj2bin/mkhex4bin.exe "
    从 stdin 读取...
    文件不存在:位于 XML_TI_OFD.pm 第877行。
    gmaking[1]:[编译后]错误255 (忽略)


    实际上开发了一个应用。 在我的应用中、我需要 SCI 引导加载程序。 但您告诉我、该微控制器没有 SCI 引导加载程序。 现在、我尝试为该微控制器开发 SCI 引导加载程序。 首先、我应该知道这种 CAN 引导加载程序是如何工作的。 这就是我尝试执行此步骤的原因。

    您能告诉我,从哪里可以获得这些文件。(缺少的文件)。

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

    它是一个缺失的项目文件。 即、它希望您的应用程序转换为名为 OS_Blinky.out 的二进制文件。 这可能是本示例使用的默认应用程序。 您需要更新后处理命令文件以指示要转换为二进制的应用程序的名称。

    这也可能是一个路径问题、系统操作系统无法识别要转换为二进制文件的目标文件的路径信息。 如果是这种情况、您可以输入.out 位置的完整路径作为目标、然后输入要存储生成的输出.bin 文件的位置的完整路径。

    一旦器件中有了引导加载程序、就像我们在上有文档的任何其他引导加载程序一样设置和使用该引导加载程序。 正如我认为 QJ 已在另一个线程上指示的那样、您将需要:

    1) 引导加载程序已编程到器件中

    2) 目标文件转换为二进制文件

    3) PC 上的应用程序、通过与器件中的引导加载程序通信将二进制文件传输到器件、然后器件中的引导加载程序将映像编程到闪存中。

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

    我认为您应该已经从 pdf 中复制并将其粘贴到 CCS Post 编译步骤中。 这些内容应按如下所示一行显示。

    "${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin.bat ""${BuildArtiftFileName}""${BuildArtiftFileBaseName}.bin""${CG_TOOL_ROOT}/bin/ofd470.exe ""${CG_TOOL_ROOT}/bin/hex470.exe ""${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin.exe