0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

HK32MCU应用笔记(十一)| HK32F103xC/D/E的flash读保护应用及注意事项

jf_pJlTbmA9 来源:航顺芯片 作者:航顺芯片 2023-09-18 10:58 次阅读

HK32F103xC/D/E

作为32位MCU,防止应用代码被非法读取非常重要,除了常规的加解密模块对flash内容进行加解密,HK32F103还提供读、写保护功能。其中读保护功能一旦使能,则外部工具无法读取主片区flash内容,起到保护作用。

嵌入式Flash可以跟通用存储空间一样进行直接寻址访问。任何对Flash内容的读操作都须经过专门的判断过程。取指令和取数据都是通过AHB总线读取访问。它主要的工作就是产生控制信号,然后读取Flash里面的信息

HK32F103x/C/D/E的选项字节说明

选项字节由用户根据应用配置(例如:可以选择使用硬件看门狗或软件看门狗)。对于0x1FFF F800~0x1FFFF810地址的选项字,在选项字节中每个32位的字被划分为下述格式:

选项字节格式:

wKgZomUD7LeAIYaLAAAw9VXZCuY652.png

注意1:编程时,反码由硬件自动实现,软件写无效。选项字节的组织结构如下表所示。选项字节可以从下表列出的存储器地址读出,或从选项字节寄存器 (FLASH_OBR) 读出。

注意2:新写入的选项字节(用户的或读/写保护的),在系统复位后才生效。

选项字节结构:

wKgaomUD7LmACMIAAAE71HTTdV0732.png
wKgaomUD7LuADpVzAAKWg8fmFE8134.png

HK32F103x/C/D/E的读保护的设置:

当RDP选择字配置值为非0xA5时,使能读保护。

当RDP选择字配置值为0xA5时,解除读保护,这个操作会引发一次主闪存的整片擦除。

读保护状态存储在FLASH_OBR的bit1。

HK32F103x/C/D/E的读保护在使用过程中需要注意的地方

问题描述:

当HK32F103xCxDxE在读保护作用下,客户使用Keil+S**T-Link调试器进行下载,虽然提示下载不成功,但是芯片内部的代码部分被擦除。有客户反馈,下载不成功,要保持设备原有功能正常。

wKgZomUD7LyAQXakAAB-2556ivk291.png

Keil+Jlink 没有该问题。因为Jlink,会在下载前,可选择地去除读保护,如下:

wKgaomUD7L6AQn9_AAIQLsF7Jag379.png

根本原因:

HK32F103xCxDxE 在读保护模式下,debugger选择Sector Erase,会将前4KB以外的空间擦除掉。

解决方案:

用 S**T-Link Utility上位机先去掉读保护,再下载或者仿真。如下,[Target]-->[Option Bytes]:

wKgZomUD7L-AaRA3AAFsQH7oCZk337.jpg

来源: 航顺芯片

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17135

    浏览量

    351017
  • 嵌入式
    +关注

    关注

    5082

    文章

    19111

    浏览量

    304845
  • FlaSh
    +关注

    关注

    10

    文章

    1633

    浏览量

    147952
  • 航顺芯片
    +关注

    关注

    1

    文章

    106

    浏览量

    22794
收藏 人收藏

    评论

    相关推荐

    HK32MCU用笔记(二十)| HK32F103xC/D/E USB枚举情况分析(二)

    HK32MCU用笔记(二十)| HK32F103xC/D/E USB枚举情况分析(二)
    的头像 发表于 09-18 10:58 571次阅读
    <b class='flag-5'>HK32MCU</b>应<b class='flag-5'>用笔记</b>(二十)| <b class='flag-5'>HK32F103xC</b>/<b class='flag-5'>D</b>/<b class='flag-5'>E</b> USB枚举情况分析(二)

    HK32MCU用笔记(十九)| HK32F103xC/D/E USB枚举情况分析

    HK32MCU用笔记(十九)| HK32F103xC/D/E USB枚举情况分析
    的头像 发表于 09-18 10:58 811次阅读
    <b class='flag-5'>HK32MCU</b>应<b class='flag-5'>用笔记</b>(十九)| <b class='flag-5'>HK32F103xC</b>/<b class='flag-5'>D</b>/<b class='flag-5'>E</b> USB枚举情况分析

    HK32MCU用笔记(十八)| HK32F103xC/D/E-DAC的应用及注意事项

    HK32MCU用笔记(十八)| HK32F103xC/D/E-DAC的应用及注意事项
    的头像 发表于 09-18 10:58 1076次阅读
    <b class='flag-5'>HK32MCU</b>应<b class='flag-5'>用笔记</b>(十八)| <b class='flag-5'>HK32F103xC</b>/<b class='flag-5'>D</b>/<b class='flag-5'>E</b>-DAC的应用及<b class='flag-5'>注意事项</b>

    HK32MCU用笔记(十七)| HK32F103xC/D/E-flash擦写应用及注意事项

    HK32MCU用笔记(十七)| HK32F103xC/D/E-flash擦写应用及注意事项
    的头像 发表于 09-18 10:58 1067次阅读
    <b class='flag-5'>HK32MCU</b>应<b class='flag-5'>用笔记</b>(十七)| <b class='flag-5'>HK32F103xC</b>/<b class='flag-5'>D</b>/<b class='flag-5'>E-flash</b>擦写应用及<b class='flag-5'>注意事项</b>

    HK32MCU用笔记(十六)| HK32F103xC/D/E-Timer的应用及注意事项

    HK32MCU用笔记(十六)| HK32F103xC/D/E-Timer的应用及注意事项
    的头像 发表于 09-18 10:58 776次阅读

    HK32MCU用笔记(十五)| HK32F103xC/D/E-同步注入模式下,ADC2工作状态不能单独配置

    HK32MCU用笔记(十五)| HK32F103xC/D/E-同步注入模式下,ADC2工作状态不能单独配置
    的头像 发表于 09-18 10:58 676次阅读
    <b class='flag-5'>HK32MCU</b>应<b class='flag-5'>用笔记</b>(十五)| <b class='flag-5'>HK32F103xC</b>/<b class='flag-5'>D</b>/<b class='flag-5'>E</b>-同步注入模式下,ADC2工作状态不能单独配置

    HK32MCU用笔记(十四)| HK32F103x/C/D/E-TIM1的应用及注意事项

    HK32MCU用笔记(十四)| HK32F103x/C/D/E-TIM1的应用及注意事项
    的头像 发表于 09-18 10:58 792次阅读
    <b class='flag-5'>HK32MCU</b>应<b class='flag-5'>用笔记</b>(十四)| <b class='flag-5'>HK32F103</b>x/C/<b class='flag-5'>D</b>/<b class='flag-5'>E</b>-TIM1的应用及<b class='flag-5'>注意事项</b>

    HK32MCU用笔记(十三)| HK32F103xC/D/E-ADC的应用及注意事项

    HK32MCU用笔记(十三)| HK32F103xC/D/E-ADC的应用及注意事项
    的头像 发表于 09-18 10:58 1113次阅读
    <b class='flag-5'>HK32MCU</b>应<b class='flag-5'>用笔记</b>(十三)| <b class='flag-5'>HK32F103xC</b>/<b class='flag-5'>D</b>/<b class='flag-5'>E</b>-ADC的应用及<b class='flag-5'>注意事项</b>

    HK32MCU用笔记(十二)| HK32F103xC/D/E的GPIO的应用及注意事项

    HK32MCU用笔记(十二)| HK32F103xC/D/E的GPIO的应用及注意事项
    的头像 发表于 09-18 10:58 917次阅读
    <b class='flag-5'>HK32MCU</b>应<b class='flag-5'>用笔记</b>(十二)| <b class='flag-5'>HK32F103xC</b>/<b class='flag-5'>D</b>/<b class='flag-5'>E</b>的GPIO的应用及<b class='flag-5'>注意事项</b>

    HK32MCU用笔记(十)| HK32F103xC/D/E的ADC常规和注入通道同时触发时的处理机制

    HK32MCU用笔记(十)| HK32F103xC/D/E的ADC常规和注入通道同时触发时的处理机制
    的头像 发表于 09-18 10:58 708次阅读
    <b class='flag-5'>HK32MCU</b>应<b class='flag-5'>用笔记</b>(十)| <b class='flag-5'>HK32F103xC</b>/<b class='flag-5'>D</b>/<b class='flag-5'>E</b>的ADC常规和注入通道同时触发时的处理机制

    HK32MCU用笔记(九)| HK32F103x8xB系列CAN的应用解决方案

    HK32MCU用笔记(九)| HK32F103x8xB系列CAN的应用解决方案
    的头像 发表于 09-18 10:59 694次阅读

    HK32MCU用笔记(六)| HK32MCU芯片调试心得

    HK32MCU用笔记(六)| HK32MCU芯片调试心得
    的头像 发表于 09-18 10:59 785次阅读
    <b class='flag-5'>HK32MCU</b>应<b class='flag-5'>用笔记</b>(六)| <b class='flag-5'>HK32MCU</b>芯片调试心得

    HK32MCU用笔记(五)| 关于应用HK32F030延时效率问题

    HK32MCU用笔记(五)| 关于应用HK32F030延时效率问题
    的头像 发表于 09-18 11:00 674次阅读

    HK32MCU用笔记(四)| 关于老版本HK32F103串口USART偶尔出现数据错误

    HK32MCU用笔记(四)| 关于老版本HK32F103串口USART偶尔出现数据错误
    的头像 发表于 09-18 11:00 1076次阅读

    HK32MCU用笔记(一)| HK32F030X系列在PH测量笔的应用

    HK32MCU用笔记(一)| HK32F030X系列在PH测量笔的应用
    的头像 发表于 09-18 11:00 1226次阅读
    <b class='flag-5'>HK32MCU</b>应<b class='flag-5'>用笔记</b>(一)| <b class='flag-5'>HK32F</b>030X系列在PH测量笔的应用