各位用过的兄弟:STM32生产时怎么设置保密性?

[复制链接]
 楼主| walnutcy 发表于 2008-8-4 14:40 | 显示全部楼层 |阅读模式
如题,怎样设置以防止软件被读出??
香水城 发表于 2008-8-4 14:47 | 显示全部楼层

在STM32的Flash中有读保护机制,启动读保护机制即可

这种保护方式提供更先进的保护,不但关闭了调试接口,而且还禁止类似病毒的窃密方式。请看以前两个相关的帖子。

STM32对内部Flash的内容有专门的保护措施

STM32加密性能?
 楼主| walnutcy 发表于 2008-8-4 15:38 | 显示全部楼层

谢谢,再问:

是直接调用:

FLASH_EnableWriteProtection(FLASH_WRProt_AllPages);
FLASH_ReadOutProtection(ENABLE);

就可以了吗?

这样写在软件里,是不是相当于每次重上电启动都会执行一次?没有固化进去?

或是用别的设置方式固化生产的??请指教。
香水城 发表于 2008-8-4 15:51 | 显示全部楼层

在IAP操作时,才需要使用这些调用,否则应该在烧写程序时

ST的ISP Demo中用相应的功能。
yangbo_zd 发表于 2008-8-4 17:31 | 显示全部楼层

好像不行啊

直接调用:

FLASH_EnableWriteProtection(FLASH_WRProt_AllPages);
FLASH_ReadOutProtection(ENABLE); 

好像不能加密啊,

难道只能用ISP Demo?

香水城 发表于 2008-8-4 17:47 | 显示全部楼层

设置了读保护之后必须掉电再上电才能起作用

yangbo_zd 发表于 2008-8-4 18:27 | 显示全部楼层

到底应该怎么样做?

我在程序中调用
FLASH_EnableWriteProtection(FLASH_WRProt_AllPages);
FLASH_ReadOutProtection(ENABLE); 

然后拔下仿真器,断电、再上电,发现还有没有保护啊?
 楼主| walnutcy 发表于 2008-8-4 20:52 | 显示全部楼层

按香帅的意思,应该只有用ISP DEMO才可以,

香水城 发表于 2008-8-4 21:12 | 显示全部楼层

如果调用函数不能起作用,请查看函数返回的状态是什么

例如:FLASH_ReadOutProtection()返回的状态有如下一些状态

FLASH_BUSY, FLASH_ERROR_PG, FLASH_ERROR_WRP, FLASH_COMPLETE,FLASH_TIMEOUT
starm 发表于 2008-8-4 21:16 | 显示全部楼层

RDP_ENABLE 例子

我这样用, 没有问题。

#define RDP_ENABLE -- to lock
//#define RDP_DISABLE -- to unlock 

void main(void)
{
  
  SetSysClockPLL();
  NVIC_Configuration();

#ifdef RDP_ENABLE
  FLASH_Unlock();
  FLASH_ClearFlag(FLASH_FLAG_BSY | FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPRTERR);    
  
  if ( FLASH_GetReadOutProtectionStatus() == RESET )
    FLASH_ReadOutProtection(ENABLE);      //Run in Flash
#endif
  
#ifdef RDP_DISABLE
  FLASH_Unlock();
  FLASH_ClearFlag(FLASH_FLAG_BSY | FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPRTERR);    
  if ( FLASH_GetReadOutProtectionStatus() == SET )
    FLASH_ReadOutProtection(DISABLE);     //Run in RAM
#endif

  while (1)
  {
  }

}

george3023 发表于 2010-5-12 19:42 | 显示全部楼层
我按照楼上兄弟的做法,打开RDP_ENABLE,现在无法通过JTAG口下载程序了,也不能仿真,那我这块片子岂不是废了,这样也没有太大意义啊,那我的程序如何升级...
加密.JPG
george3023 发表于 2010-5-12 20:35 | 显示全部楼层
刚试了下,用ST提供的Flash Loader Demo可以解除保护,重新下载程序,也就是加上10楼的保护代码后可以防止别人通过JTAG口进行读写操作,感谢10楼兄弟提供的例子。
mcuisp 发表于 2010-5-12 22:57 | 显示全部楼层
除了我自己的EP868,迄今为止见过一位兄弟针对STM32的最强加密,呵呵。
RDP、反拷贝、、、、、我提供的EP868各个环节、各个功能都用上了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

111

主题

1443

帖子

5

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

111

主题

1443

帖子

5

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