搜索

[技术问答] 请教, HK32F030MF4P6 Flash读保护设置没有生效

[复制链接]
144|12
 楼主 | 2020-10-14 00:25 | 显示全部楼层 |阅读模式
void flash_readProtectSet(void)
{
    if(FLASH_OB_GetRDP()==RESET)
    {
        FLASH_OB_Unlock();
        FLASH_OB_RDPConfig(OB_RDP_Level_1);//Flash保护
        FLASH_OB_Lock();
    }
}

使用上面的函数,执行后,Flash读保护不生效,复位也没有用,请教一下是什么原因呢?

使用特权

评论回复
 楼主 | 2020-10-14 11:00 | 显示全部楼层
是不是这个芯片太便宜,连这个功能也省掉了

使用特权

评论回复
| 2020-10-14 11:48 | 显示全部楼层
这个芯片太便宜,连这个功能也省掉了

使用特权

评论回复
| 2020-10-14 16:07 | 显示全部楼层
你要先解锁flash.  也就是在你的函数先调用Flahs_Unlock(); 返回前调用flash_Lock()

使用特权

评论回复
| 2020-10-14 16:09 | 显示全部楼层
软件能够读保护的,是你的操作Flash前没有解锁。操作后记得要锁上flash

使用特权

评论回复
 楼主 | 2020-10-14 18:51 | 显示全部楼层
annko2005 发表于 2020-10-14 16:09
软件能够读保护的,是你的操作Flash前没有解锁。操作后记得要锁上flash

FLASH_Unlock();
FLASH_OB_Unlock();
FLASH_OB_RDPConfig(OB_RDP_Level_1);//Flash保护
FLASH_OB_Lock();
FLASH_Lock();
是这样吗?

使用特权

评论回复
 楼主 | 2020-10-15 01:15 | 显示全部楼层
annko2005 发表于 2020-10-14 16:09
软件能够读保护的,是你的操作Flash前没有解锁。操作后记得要锁上flash

已经可以了,多谢

使用特权

评论回复
| 2020-10-15 11:44 | 显示全部楼层
hameyou 发表于 2020-10-14 11:00
是不是这个芯片太便宜,连这个功能也省掉了

   这个玩笑有点好笑诶

使用特权

评论回复
| 2020-10-16 08:39 | 显示全部楼层
hameyou 发表于 2020-10-14 18:51
FLASH_Unlock();
FLASH_OB_Unlock();
FLASH_OB_RDPConfig(OB_RDP_Level_1);//Flash保护

是的,任何对Flash的操作包含OPTION区域操作,都要先把Flash解锁,操作完然后上锁。

使用特权

评论回复
| 2020-10-16 14:27 | 显示全部楼层
annko2005 发表于 2020-10-16 08:39
是的,任何对Flash的操作包含OPTION区域操作,都要先把Flash解锁,操作完然后上锁。 ...

用ST-LINK V2烧录 HK32F的时候,如何才能操作直接禁止读(防止被他人用编程器读出)?

使用特权

评论回复
| 2020-10-18 14:40 | 显示全部楼层
Kelan 发表于 2020-10-16 14:27
用ST-LINK V2烧录 HK32F的时候,如何才能操作直接禁止读(防止被他人用编程器读出)? ...

初始化代码里,先按1楼做判断 if(FLASH_OB_GetRDP()==RESET)
然后按5楼执行{}

使用特权

评论回复
| 2020-10-19 08:46 | 显示全部楼层
少了两个指令。

使用特权

评论回复
| 2020-10-19 10:05 | 显示全部楼层
这厢有你了 发表于 2020-10-15 11:44
这个玩笑有点好笑诶

应该这么说,为了尽量增加功能、尽量降低成本,为了有一颗强大的芯,厂家只能把管脚都省了

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表