hameyou 发表于 2020-10-14 00:25

请教, HK32F030MF4P6 Flash读保护设置没有生效

void flash_readProtectSet(void)
{
    if(FLASH_OB_GetRDP()==RESET)
    {
      FLASH_OB_Unlock();
      FLASH_OB_RDPConfig(OB_RDP_Level_1);//Flash保护
      FLASH_OB_Lock();
    }
}

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

hameyou 发表于 2020-10-14 11:00

是不是这个芯片太便宜,连这个功能也省掉了

里面有晴雨 发表于 2020-10-14 11:48

这个芯片太便宜,连这个功能也省掉了

annko2005 发表于 2020-10-14 16:07

你要先解锁flash.也就是在你的函数先调用Flahs_Unlock(); 返回前调用flash_Lock()

annko2005 发表于 2020-10-14 16:09

软件能够读保护的,是你的操作Flash前没有解锁。操作后记得要锁上flash

hameyou 发表于 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();
是这样吗?

hameyou 发表于 2020-10-15 01:15

annko2005 发表于 2020-10-14 16:09
软件能够读保护的,是你的操作Flash前没有解锁。操作后记得要锁上flash

已经可以了,多谢{:lol:}

这厢有你了 发表于 2020-10-15 11:44

hameyou 发表于 2020-10-14 11:00
是不是这个芯片太便宜,连这个功能也省掉了

{:titter:}   这个玩笑有点好笑诶

annko2005 发表于 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解锁,操作完然后上锁。

Kelan 发表于 2020-10-16 14:27

annko2005 发表于 2020-10-16 08:39
是的,任何对Flash的操作包含OPTION区域操作,都要先把Flash解锁,操作完然后上锁。 ...

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

ZG11211 发表于 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

少了两个指令。

abin88 发表于 2020-10-19 10:05

这厢有你了 发表于 2020-10-15 11:44
这个玩笑有点好笑诶

应该这么说,为了尽量增加功能、尽量降低成本,为了有一颗强大的芯,厂家只能把管脚都省了
页: [1]
查看完整版本: 请教, HK32F030MF4P6 Flash读保护设置没有生效