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.

[参考译文] MSP432安全和更新工具 GUI 应用程序...

Guru**** 2616675 points

Other Parts Discussed in Thread: UNIFLASH

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/671179/msp432-security-and-update-tool-gui-application

主题中讨论的其他器件:UNIFLASH

大家好、

我已下载 MSP432安全和更新工具。

这是否旨在保护固件不被复制?

如果我生成 C 文件、它看起来像一个数组声明。

如何以及在何处插入此文件以保护我的代码安全?

 

谢谢、祝您愉快、

Leo

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

    Leo、

      此工具提供了许多不同的功能、其中一个功能是创建存储器的受保护区域、以防止复制或读出内容。  此代码被写入闪存超车邮箱。  如果您创建.c 文件、只需将其添加到您的项目中、它就会将数据写入存储器位置。

    作为替代方案,您应该查看示例项目  http://www.ti.com/lit/zip/slaa659中的 msp432_flashmailbox.c 。  

    请告诉我这是否不清楚、或者您有更多问题。

    Chris

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

    如果是这种情况、这看起来像8051架构的"ORG"指令。 在哪里可以找到固件的开头位置、具体位置是特定的代码存储器地址? 这不是为了保护代码不被读取和调试?

    您的意思是"将其添加到项目中"?
    这是否意味着只需使用"添加文件"并将其编译在一起?
    当我这么做时、它会产生很多误差。
    还是在项目的初始源文件中插入代码?

    谢谢、
    Leo
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Leo、
    感谢您指出这一点。 我需要调查并纠正。 文件顶部应与我在下面所包含的内容类似。 闪存邮箱的定义可在链接器命令文件中找到;.flashMailbox:> 0x00200000。

    此致、
    Chris

    #include "msp.h"

    #if defined (_TI_ARM__)/* TI CGT Compiler */
    #pragma DATA_SECTION (FlashMailBox、".flashMailbox")
    #pragma RETAIN (FlashMailBox)
    const volatile uint32_t FlashMailbox[]=

    #elif defed (__ICCARM __)/* IAR 编译器*/
    __root const uint32_t FlashMailBox []@ 0x00200000 =

    #elif defed (_CC_ARM)/* ARM 编译器*
    const volatile UINT32_t FlashMailBox []__attribute__(AT (0x00200000))=

    #Elif defined (__GNU__)/* GCC 编译器*/
    const volatile uint32_t FlashMailBox []__attribute__((section (".flashMailbox")))=
    #endif

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

    我明天也会进行仿真。
    您将了解结果。

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

    尊敬的 Chris 先生:

    我已经在我的(2)个黑色 launchpad 上模拟了代码。

    IAR 中的代码会查找文件"core_cm4.h"、即使我在项目上添加此文件、也无法继续。

    我在 CCS 中成功构建了一次代码、它成功地在代码存储器空间0x00200000上写入了0x0ACE、

    我无法再次复制它并删除该 Launchpad 上的设置。

    我尝试使用 Uniflash 锁定器件并成功禁用 JTAG。

    但是、当我应用设置 MSP432安全和更新工具时、大多数代码存储器仍可读取。

    我尝试将生成的十六进制文件与原始工作映像一起作为映像插入。

    它可以将程序全部刻录在一起。 encrypt.hex 是在 MSP432安全和更新工具中生成的 Intel Hex 文件格式的文件。

    我不确定在将十六进制文件加载在一起时是否已调用该设置。

    当我尝试再次读取、导出和刻录原始映像时、将其添加到 Encrype.hex 时、其文件大小会增加。   

    但我无法使用 MSP432安全和更新工具单独屏蔽各个扇区。

    以编程方式在您提供的源代码链接上、

    JTAG 设置将由"disable_JTAG"示例项目上的标头声明?

    现在的问题是如何恢复。 即使我在 Uniflash 中尝试使用不同的擦除模式。

    "0x0ACE"符号仍然存在。 另一个 LaunchPad、我没有刻录该程序、因此您不能沿着0x00200000代码存储器地址看到该程序。

    是否有办法将其恢复到0x00200000代码存储器位置上 JTAG 的正常设置?

     

    以了解详情...

    谢谢、祝您愉快、

    Leo