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:启用存储器保护单元

Guru**** 2416110 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1114662/tms320f280025c-enable-memory-protection-unit

器件型号:TMS320F280025C

您好!

我想制作一个安全的引导加载程序、该加载程序接收加密数据、对其解密并更新器件。 到目前为止、这可以正常工作、但现在我想保护存储器免受未经授权的访问。

假设引导加载程序位于扇区0中闪存的开头、应用程序位于以下14个扇区中。 开始时、引导加载程序启动并查看固件的标头是否正确、如果不正确、则会擦除整个14个闪存扇区并等待 SCI 进行更新。 我想防止、任何闪存都可以从外部读取、因为引导加载程序包含解密密钥、固件应受到保护。 如何实现这一点? 特别是、如何让引导加载程序能够将新固件写入闪存、但无法从外部访问闪存?

我在 STM32 uC 上多次这样做、存储器保护单元也是可能的、 当接收到用于闪存写入的授权固件时、引导加载程序可能会停用该固件、还可以设置 RDP (读出保护)闪存以禁用从外部读取。

我已经在 TI 找到了以下安全特性文档: https://www.ti.com/lit/an/swpb019d/swpb019d.pdf?ts=1656748079556&ref_url=https%253A%252F%252Fwww.google.com%252F

我认为 RDP 功能与 JTAGLOCK 相同、对吧? 第一点说、可以保护存储器块、但不是怎么保护?

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

    您好、用户:

    我们的专家将在2022年7月4日休假期间进行分析和回复、请预计会延迟几天。

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

    您好!

    请参阅以下有关安全启动的应用手册、我相信该手册将回答您的问题。 https://www.ti.com/lit/an/spract3/spract3.pdf 

    [引用 userid="487655" URL"~支持/微控制器/C2000-micro-group/c2000-f/C2000-micro-forum/1111662/tms320f280025c-enable-memory-protection-unit"]我想防止任何闪存可从外部读取、因为引导加载程序包含解密密钥并应保护固件。 如何实现这一点? 特别是、如何让引导加载程序有权将新固件写入闪存、但无法从外部访问闪存?

    这可以通过将引导加载程序和相关固件放置在同一区域来实现。 如需更多信息、请参阅器件 TRM 中的 DCSM 一章(https://www.ti.com/lit/ug/spruii0c/spruii0c.pdf)。 除此之外、为了确保您免受未经授权的调试访问、您可以使用 JTAGLOCK 功能 https://www.ti.com/lit/an/spracs4/spracs4.pdf 

    希望这对您有所帮助。  

    谢谢、此致

    Pramod