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/TMS320F2808:从CCSv6通过XDS100v2将程序加载到TMS320F2808中的指定闪存扇区

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/565022/ccs-tms320f2808-program-loading-into-specified-flash-sector-in-tms320f2808-via-xds100v2-from-ccsv6

部件号:TMS320F2808
线程中讨论的其他部件: TMS320F2.8335万TMS320F2809

工具/软件:Code Composer Studio

您好,

我想请您提供建议。 我有两个TMS320F2808程序。

第一个是bootloader,第二个是应用程序。 我需要

了解如何将包含bootloader的*.out文件加载到指定的闪存扇区

以及如何同时将包含应用程序的*.out文件加载到不同的中

指定的闪存扇区。 我一直在使用CCS v6和XDS100v2仿真器。

提前感谢您的任何建议。

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

    您需要更改链接程序命令文件(例如 F2.8335万.cmd)以指定内存布局。  它定义代码和变量的内存布局。 除非 #pragma set_code_section指定,否则所有代码都放置在.text段中。

    www.ti.com/.../spru514 l .pdf的6.9 部分介绍了Set_code_section和Set_data_section。 这些pragma分别用于将代码和数据(即变量)放置在闪存或RAM的特定部分中。

    斯蒂芬

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此外,您还可以执行以下操作之一:
    1.将两个代码片段(应用程序和bootloader)合并到一个项目中,使用 #pragma set_code_section /set_data_section将bootloader放置在不同的flash/RAM段中。 然后使用一个调试配置下载代码

    2.使用 #pragma set_code_section/set_data_section,将bootloader放置在不同的flash/RAM部分。 然后使用两个调试配置:一个用于应用程序,另一个用于引导加载程序。 下载的第二段代码不应擦除闪存。 请参阅调试配置中的目标->闪存设置。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Stevenh

    非常感谢您的回答。 我已跟进第二个问题

    选项。 我首先加载了bootloader

    写入闪存。 然后我想测试目标的实际状态

    通过在主机PC上运行的显示器和服务应用程序

    (我应该会看到目标正在处理卷装加载机)。 但是

    结果是,在服务应用程序中,我看不到bootloader

    已处理(我可以信赖服务应用程序没有问题)。

    服务应用程序通过CAN与目标通信。

    可能会干扰我同时从连接到目标

    通过CAN和通过JTAG的CCS提供服务应用? 是否存在

    如何让目标 在 CCS和JTAG上独立运行?

    谢谢。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    CAN不应干扰JTAG,反之亦然。 您的引导加载程序如何工作?

    TMS320F2809具有自己的内置引导加载程序。 您没有使用它的原因是什么? 启动时,该bootloader应跳转到您的bootloader。

    请参阅 www.ti.com/.../tms320f2808.pdf第35页上的引导至闪存/ROM。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    280x设备的引导加载程序代码位于 www.ti.com/.../spru722
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Stevenh
    感谢您的反应。 我一直在使用的bootloader不是
    由我开发。 它是由程序员开发的,程序员创建了
    我的控制板软件,所以我对它的功能只有模糊的想法。
    当我开始使用准备好的控制板时,启动加载程序
    已加载到TMS320F2808的闪存A扇区,我犯了这个错误
    我通过XDS100v2仿真器连接到目标,之前没有
    禁用清除CCS中闪存A扇区的功能。 当我思考如何操作时
    用擦除的引导加载程序解决问题我认为它应该足够了
    通过仿真器将引导加载程序加载到Flash中的适当位置
    并且应该可以从准备好的服务加载应用程序
    通过准备好的引导加载程序在主机PC上运行的程序。
    使用bootloader是因为仿真器没有JTAG连接
    在最终控制板中。 只能通过CAN接口加载程序。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果您现在可以控制软件,我认为最好使用UC的引导加载程序。

    使用UC引导加载程序的好处:
    1.生产线不必下载引导加载程序,
    2.生产线不必将XDS100v2物理连接到主板上。

    换言之,生产将节省时间和金钱。