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/TMS320F28335:如何闪存两个 CCS 项目

Guru**** 2538930 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/601032/ccs-tms320f28335-how-flash-two-ccs-project

器件型号:TMS320F28335

工具/软件:Code Composer Studio

我有一个用于控制电机启动的项目(用于初始化硬件...) 和操作(我还引导硬件和其他用于控制电机的功能)。 因此、我想闪存引导和操作后、如果不擦除引导、我就无法执行第二个任务...

我正在使用 CCS6

可以有人帮助我吗

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

    您好、易卜拉希马。

    这似乎是一个奇怪的想法。

    因为当你构建一个项目时,它将有更多的东西,然后只是你的"main()"函数。 它将具有来自 RTC 的特殊初始化、以及来自标准 TI 文件的函数。 因此在两个项目中、您将具有相同的代码-至少是函数_c_int00 ()。 您还必须以这种方式更改项目中的链接器脚本、以便项目将不同的内存部分用于其代码和变量。

    因此、使用两个项目进行外设初始化和运行电机是一个坏主意。 因此、我建议使用另外两种解决方案:

    1)在一个项目初始文件和操作文件中组合(您称之为)。 构建并刷写项目。 这是最简单的方法。 这是一种正确的方法。

    2) 2)将其中一个工程编译为库、并将该库添加到其他工程中。 这是一种更困难的方法、但出于某种原因、您确实希望在不同的项目中保留程序的初始化和运行部分、这可能起作用。 但实际上、大多数项目通常需要不同的初始化。

    3) 3)我认为、一次刷写两个项目不仅是一个奇怪的想法、而且根本不可能。 如何防止闪存擦除。 为此、您必须打开 Debug Configuration Settings (右键单击工程、Debug As -> Debug Configurations...)、然后在工程的配置中打开"Target"选项卡、选择该选项卡左侧部分中的"Flash memory options" 、然后选中"Needed"框。 不过、我还是建议您选择解决问题的第一种方法。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢 Disona 的回应
    我将在最坏的情况下制作两个解决方案中的一个、主要是第二个解决方案、因为我在引导和操作中不进行相同的初始化...
    对于您的最后一点、我将 Erasing 扇区定义如下:boot (扇区 A)和 operationnel (扇区 B 到 H)...我认为这是解决方案、但没有

    易卜拉希马
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、可以通过继续第3点中的"说明"和我在回答中的"说明"来实现。 我只需通过正确分配擦除扇区来刷写引导和操作后。

    感谢您的帮助。

    易卜拉希马