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.

[参考译文] TMS320F280025C:在 TMS320F280025C 中将安全功能从闪存复制到 RAM

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1179106/tms320f280025c-copy-secure-functions-from-flash-to-ram-in-tms320f280025c

器件型号:TMS320F280025C
主题中讨论的其他器件:C2000WARE

你(们)好  

我正在检查 DCSM 工具、并希望将函数(也是中断)从安全闪存扇区复制到 RAM。 我 尝试  复制

但 程序会导致我执行非法操作。 我在数据表中看到了以下内容:

有一些函数可处理从 falsh 到 ram 的安全数据复制:

Fullscreen
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

我找不到他们的问题。

您能不能告诉我这些功能的位置、或者我需要做什么来包含这些功能。 或者、您也可以通过另一种方法将安全数据从闪存复制到 RAM。

谢谢

Yoav

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

    您好!

    为了使用安全 ROM 函数 API、您需要在项目中包含器件特定的 SafeZone 代码库。 特定器件的安全 ROM 函数 API 库是 C2000Ware 的一部分。
    请导航至 \libraries\boot_rom\f28002x\rev0\rom_symbol_libs\SafeZoneCode 以访问库。

    希望这对您有所帮助。 如果此回复已回答您的问题、请关闭此 TT 并将其标记为"已解决"。

    谢谢、此致
    Pramod

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

    您好、Yoav、

    这些函数是 TI 提供的 ROM 的一部分。 您只需在编译期间使用 ROM 库(可从获取)链接它们 \libraries\boot_rom\f28002x\rev0\rom_symbol_libs\SafeZoneCode)。 请注意、这些函数用于从 EXEONLY 安全闪存扇区复制代码。 对于非 EXEONLY 安全闪存扇区、只需将 memcpy 函数放置在安全闪存扇区中、并使用该函数从闪存复制到 RAM。 您可以参阅此 应用报告 、其中对此进行了详细介绍。

    此致、

    Vivek Singh

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

    你(们)好

    感谢您的回复。 我成功导入了该函数。 我需要对 函数原型执行 extern 操作。 例如:

    Fullscreen
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    遗憾的是、该函数不会复制数据。  我查看了返回值、它为零。

    我将解释我 要做的事情 :

    我有安全区域2 -  RAMLS5 FLASH_BANK0_SEC6 属于此区域。

    我只想从安全 RAM 运行安全功能、而不是从闪存运行安全功能。

    当函数位于  FLASH_BANK0_SEC6中时、所有操作都正常。

    在下图中、一旦程序尝试进入位于该位置的函数、此更改将导致非法中断:

    [引用 userid="19481" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1179106/tms320f280025c-copy-secure-functions-from-flash-to-ram-in-tms320f280025c/4440739 #4440739"]您可以参阅此 应用报告 ,其中详细介绍了此内容。

    我还尝试了以下操作:

     我的.cmd 文件中已经有.TI.ramfunc 段:

    因此、我定义 了另一个、 但我得到了该警告、正如您在图像中看到的:

    我按照  建议的文件将库 FlashAPI_F28002x_FPU32.lib 拖动到项目中、从而包含了该库。

    我在这里错过了什么?

    谢谢

    Yoav  

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

    您好!

    只有在从 EXEONLY 闪存扇区复制到 EXEONLY RAM 时、才会使用 SafeCopy 函数。 您能否确认您的 RAMLS5和 FLASH_BANK0_SEC6是否属于同一个区域并配置为 EXEONLY 区域?  

    查看此信息、然后查看 SafeCopy 函数的返回值是否为非零。   

    此外、我建议您为此查询创建不同的线程、因为原始查询已被解决。 我们可以在新主题中继续讨论。

    谢谢、此致

    Pramod

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

    螺纹将标记为闭合。 后续查询作为单独线程的一部分处理。  

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1180223/launchxl-f280025c-problem-copy-secure-functions-from-flash-to-ram-results-in-illegal-operation