公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager

大家好,

我有一个小问题:我想防止通过调试 PIN 读取闪存。
我正在使用 CYBLE-416045-02,它正在运行经过测试的引导加载程序和应用程序。
要限制在正常模式下通过调试 PIN 进行访问,我必须在 sFlash 中配置 NAR 设置。
我已经在引导加载程序代码中这样做了,如下所示:

NARsettings.PNG

我生成了一个由引导加载程序、应用程序和 NAR 设置组成的合并十六进制文件

hexfile.PNG

在 PSoC 编程器 GUI 中,我在内存类型中选择了主闪存、wFlash 和 sFlash。 然后对微控制器进行了编程但失败了!!

PSoCProgrammer fail.PNG

我还能读出洞内存。 在 NAR 部分中,设置了以下位:

NAR setting in sFlash.PNG

在对调试引脚进行编程时,是否可以限制对调试引脚的访问?

如果是,我错了什么?

谢谢你的帮助!

0 点赞
3 回复数
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨 @RebeccaWalter1

 

应用程序中定义的普通访问限制和以十六进制形式生成的访问限制看起来不同,对于 ACCESS_RESTRICT0,所有访问端口都被禁用 (0b111),MPU 处于启用状态 (0b1),SFLASH 访问被禁用 (0b11),所以 0x16001a00 的第一个字节应该是 0xff,但在十六进制文件中你有前提是它显示为 0x 0 1 " " "" 。

 

对于编程 NAR,第一个字节 (0x16001a00) 代表 ACCESS_RESTRICT0,第二个字节 (0x16001a01) 代表 ACCESS_RESTRICT1。 如果一切都正确完成,请检查您身边的实现情况。 有关调试访问限制的更多信息,请参阅:psoc_6_mcu_designing_a_custom_secured_System 第 9 节——调试端口 访问设置。

 

最诚挚的问候,

Pushyanth

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

你好 Pushyan th,

我发现了我的错误。

我必须设置哪些位才能阻止通过 DebugPins 读取闪存?

我真的需要写 0xff 和 0xff 吗?

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

您必须禁用所有接入端口,以防止使用读取闪存。ACCESS_RESTRICT0 包含对接入端口的限制。 将其设置为 0xff 将禁用对闪光灯的访问。 但是,一旦将其禁用,就无法重新启用它们,因为系统调用功能只允许将 NAR 设置为更严格。

0 点赞