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.

[参考译文] LAUNCHXL-F28069M:从 F28069M 上的闪存运行

Guru**** 2603695 points
Other Parts Discussed in Thread: MOTORWARE, LAUNCHXL-F28069M

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/678976/launchxl-f28069m-running-from-flash-on-f28069m

器件型号:LAUNCHXL-F28069M
主题中讨论的其他器件:MOTORWARE

你(们)好

我正在尝试将在 RAM 配置中运行良好的程序移植到闪存配置

因此、我从编译中排除了  

f28069F_ram_lnk.cmd 文件并将其替换为

F28069M.cmd

我还有

F2806x_Headers_nonBIOS.cmd

 外设寄存器的位

在代码的开头、我有  

#ifdef _flash
//将时间关键代码和闪存设置代码复制到 RAM
//链接
器创建了 RamfuncsLoadStart、RamfuncsLoadEnd 和 RamfuncsRunStart //符号。 请参阅链接器文件。
Memcopy ((uint16_t *)&RamfuncsLoadStart、(uint16_t *)&RamfuncsLoadEnd、(uint16_t *)&RamfuncsRunStart);

现在、它编译并运行(使用调试器)

我是否必须替换库

IQMath_fpu32.lib

具有 2806X_IQmath_BootROMSymbols_fpu32.lib

但是如果我拔下 USB 插头,然后重新插上,它不能启动,JP 启动的配置是什么? J1 J2 J3  

是否仍可以在激活闪存的情况下使用 GUI?

阅读后的线索  

Running_from_Flash_spra958l.pdf

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请下载并安装 motorware 版本18、所有项目都可以支持在闪存和 RAM 中运行代码。 您可以打开一个实验项目并通过"Project->Build Configurations"->"Set Active->1 Flash"选择"Flash"构建配置。 "、然后项目可以支持在闪存中运行代码。
    对于您创建的新项目、步骤如下
    1.您可能只需要将 F28069F_ram_lnk.cmd 替换为 F28069F.cmd、并使用"Project->Properties->Build->C2000 Compiler->Predefine Symbols"预定义"FLASH"。
    2.不需要替换项目中的其他文件。
    3.通过设置 LaunchXL-F28069M 上的 S1来设置正确的模式、详细设置可在 LaunchXL-F28069M 的原理图中找到。
    您可以连续使用 GUI、但需要设置为仿真启动以启用板载 JTAG 仿真器。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    S1的正确模式是什么?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    作为 LaunchXL-F28069M 原理图中的引导模式表、如果您想在闪存中运行代码而不连接 JTAG 仿真器、请将 S1-3设置为 OFF、S1-1和 S1-2设置为 ON。 仅当您希望在仿真引导模式下运行代码时、才需要将 S1-3设置为 on、该模式可支持在闪存和 RAM 中运行代码。 有关引导模式的更多详细说明、请参阅 F2806x 的参考手册。

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

    谢谢、但我找到 了 LAUNCHXL-F28069M 概述 sprui11.pdf 的文档

     完全不清楚:

    5.3引导模式选择
    LaunchPad 的 F28069M 器件包含一个执行一些基本启动检查的引导 ROM、以及
    允许器件以多种不同的方式引导。 大多数用户都希望执行仿真
    引导或引导至闪存(如果它们独立运行应用程序)。 提供 S1以允许
    用户可以轻松配置 bootROM 检查的引脚以做出此决策。 打开 S1
    对应于:
    开关功能
    1 GPIO34
    2 GPIO37
    3 TRSTn
    请记住、如果器件未处于仿真引导模式(TRST)、调试器不会连接
    开关处于向上位置)。 有关引导模式选择的更多信息、请参阅引导 ROM
    部分)中找到。

    --------------------

    这篇文章解释得更好

    https://e2e.ti.com/support/microcontrollers/c2000/f/171/p/489498/1768299#1768299

    但是

    我运行 Example_2806xFlash

    无需更改 S1、我就可以开始调试或启动程序。 (wthout 调试)、只需连接电源 USB 即可

    而我的程序在连接电源时不会单独启动。 我只能使用 CCS 运行它。 尽管我看到他正在闪存中(闪存模式)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    正如我在上一篇帖子中回复的那样、如果您通过将 TRST 设置为高电平来连接 JTAG 仿真器、那么代码可以从闪存和 RAM 运行、这意味着调试器模式无需设置 GPIO37/G34。

    您需要在 launchXL-F28069上将 TRST 设置为 OFF 以断开 JTAG 仿真器、并将 GPIO37和 GPIO34设置为高电平以将引导模式设置为 GetMode、OTP 未编程器件上的 GetMode 选项的默认行为是引导至闪存。

    F2806x 的数据表参考手册应具有与引导加载程序模式相同的说明、您可以参阅这两个文档中的引导模式选择以在 launchXL-F28069上设置 S1、这与 launchXL-F28069原理图中的表相同。

    BTW、如果要通过 USB 连接板载 JTAG 仿真器、则必须将 TRST 设置为 ON。