前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >STM32 JLink或函数 对程序进行简单的读写保护和擦除

STM32 JLink或函数 对程序进行简单的读写保护和擦除

作者头像
怪兽
发布2022-12-29 15:31:25
3.3K0
发布2022-12-29 15:31:25
举报
文章被收录于专栏:怪兽怪秀怪兽怪秀

如果程序比较重要建议用加密芯片和UID加密验证 脱机验证始终没有绝对安全的,只能相对增加破解的时间和成本。

烧录器加密

JLink

  • 第一步:下载安装JLINK Flash,如果没有安装到官网下载,网址:https://www.segger.com/products/debug-probes/j-link/technology/flash-download/
  • 第二步:单击打开,选择“Create new project”,点击“Start J-Flash”;之后在弹出对话框中选择MCU型号,我们这里选择STM32F103C8T6(根据您STM32型号)
  • 第三步:点击“Target”,“connect”连接MCU,下面的Log区域会显示连接状态,要显示连接成功,否则检查下硬件。之后点击“File”,“Open data file...”打开要下载的文件。
  • 第四步:点击“Target”,“Production programming”下载程序,程序下载完成后会出现完成的对话框。
  • 第五步:点击“Target”,“Manual programming”,“Secure chip”对MCU内的代码进行保护。写保护完成会出现成功提示。

至此,MCU中的代码已经被保护起来了,如果试图读取代码、下载程序,将无法读取数据或者MCU会清空代码。 <span style='color:#FF0000'> 这里每次烧录都要手动加密一下.</span>ST-Link Utility

基本上一样套路

库函数

代码语言:javascript
复制
FLASH_Unlock();//&#x89E3;&#x9501;FLASH&#xFF08;&#x8BE5;&#x53E5;&#x53EF;&#x7701;&#x7565;&#xFF09;
FLASH_ReadOutProtection(ENABLE);//&#x8BFB;&#x4FDD;&#x62A4;&#x5F00;
FLASH_Lock();//&#x9501;&#x5B9A;FLASH
//----------------------------------------
FLASH_Unlock();//&#x89E3;&#x9501;FLASH
FLASH_ReadOutProtection(DISABLE);//&#x8BFB;&#x4FDD;&#x62A4;&#x5173;
FLASH_Lock();//&#x9501;&#x5B9A;FLASH

记得引入 stm32f10x_flash 文件

解除读保护

擦除Flash即可,比如:

打钩的扇区会添加写保护,点击Unselect all不选择写保护。

最后点击Apply,写入选项字节后Flash会被擦除。

有的无法擦除的可以调整bootload的跳线帽

或者尝试 J-Link STM32 Unlock V7.80a

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 烧录器加密
    • JLink
    • 库函数
    • 解除读保护
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档