完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我有一个小问题:我想防止通过调试 PIN 读取闪存。
我正在使用 CYBLE-416045-02,它正在运行经过测试的引导加载程序和应用程序。 要限制在正常模式下通过调试 PIN 进行访问,我必须在 sFlash 中配置 NAR 设置。 我已经在引导加载程序代码中这样做了,如下所示: 我生成了一个由引导加载程序、应用程序和 NAR 设置组成的合并十六进制文件 在 PSoC 编程器 GUI 中,我在内存类型中选择了主闪存、wFlash 和 sFlash。 然后对微控制器进行了编程但失败了!! 我还能读出洞内存。 在 NAR 部分中,设置了以下位: 在对调试引脚进行编程时,是否可以限制对调试引脚的访问? 如果是,我错了什么? |
|
相关推荐
2个回答
|
|
应用程序中定义的普通访问限制和以十六进制形式生成的访问限制看起来不同,对于 ACCESS_RESTRICT0,所有访问端口都被禁用 (0b111),MPU 处于启用状态 (0b1),SFLASH 访问被禁用 (0b11),所以 0x16001a00 的第一个字节应该是 0xff,但在十六进制文件中你有前提是它显示为 0x 0 1 " " "" 。
|
|
|
|
sFlash 是一个用于存储片上程序的较小的闪存模块。在CYBLE-416045-02中,sFlash的大小一般为12KB。NAR (Non-volatile Access Region) 设置可以用来限制对闪存的访问权限,以进行额外的安全性。
要将NAR设置写入sFlash,您可以通过以下步骤进行操作: 1. 在你的应用程序中,将NAR设置数据定义为一个字节数组,如下所示: ```c const uint8_t narSettings[] = { // 在这里定义您的NAR设置数据 }; ``` 2. 在启动函数中,通过调用`CySysSflashWriteUserRow()`函数将NAR设置数据写入sFlash。例如: ```c void Bootloader_Start(void) { // ...其他初始化代码 // 将NAR设置写入sFlash CySysSflashWriteUserRow(narSettings); // ...其他启动代码 } ``` 3. 生成应用程序和引导加载程序的合并十六进制文件。 4. 使用PSoC Programmer GUI中的选择设备和合并HEX文件。 5. 在“Memory Type”选项中,选择“Main Flash、wFlash和sFlash”。 6. 对微控制器进行编程。 现在,您已经将NAR设置写入sFlash并限制了通过调试PIN的访问权限。 请注意,这只是一种基本的安全措施,并且并不能完全阻止对sFlash的非授权访问。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
298 浏览 1 评论
《DNESP32S3使用指南-IDF版_V1.6》第二十六章 INFRARED_RECEPTION实验
309 浏览 0 评论
826 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1911 浏览 2 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
1427 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12031 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 01:30 , Processed in 0.612792 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号