如何解决STM32芯片Flash写保护的问题

发布时间:2023-07-19  

本文介绍了如何解决STM32芯片Flash写保护导致无法下载程序,无法在线调试的问题;如果您遇到相同的问题,希望本文可以带来一些帮助。


1 FLASH的写保护

如果对Flash设置了写保护,那就无法对Flash进行编程和擦除。

在开发STM32的时候,如果出现这种情况,通常仿真器都支持对Flash进行解锁,像jlink,stlink等仿真器都支持这个功能。


2 错误提示

在使用MDK进行调试的时候,出现报错 ==Flash Timeout.Reset Target and try it again==,具体如下图所示;

如何解决STM32芯片Flash写保护的问题

折腾了一番之后,并没有解决问题,因为使用的仿真器是stlink,因此下载了stlink utility尝试解决问题;

3 stlink utility

3.1 基本功能

stlink utility是ST官方提供的免费软件,支持STM32 ST-LINK的程序包括带有命令行界面(CLI)的图形用户界面(GUI)。该工具还提供了较多的其他功能,具体如下;

可以对STM32 内部存储器 (Flash,RAM,OTP和其他存储器),外部存储器进行编程;

验证程序内容(校验和,在编程期间和之后进行校验,与文件进行比较等)

还能实现 STM32编程自动化;

另外还提供其他的功能;

3.2 解锁Flash

在stlink连接目标板的情况下,打开stlink utility,在菜单栏的Target下选择connect,因为这时候Flash已经被锁住了,所以同样地也看到相应的错误提示 Can not read memory Disable Read Out Protection and retry,具体如下图所示;

如何解决STM32芯片Flash写保护的问题

OK,下面只需要接触写保护就行了,所以在菜单栏target里打开Option Bytes...选项,或者直接通过快捷键ctrl+B打开,请确保当前已经正确连接了stlink和目标板,否则会出现报错;

正确连接的情况下,打开Option Bytes...,发现在这里Read Out Protection选项是enable,这个表示无法通过swd读取STM32内部Flash的程序。

如何解决STM32芯片Flash写保护的问题

关键点:将Read Out Protection选项设置为disable,点击Apply,这时候Flash已经成功解锁了。但是同时发现,内部Flash已经被擦除了;

这可能STM32的保护机制有关,防止程序被拷机,然后进行反编译破解,这样也可以提高破解的门槛。具体显示如下图所示;

如何解决STM32芯片Flash写保护的问题

完成以上步骤之后,在菜单栏Target下选择Disconnect,或者通过快捷键ctrl+D断开和目标板的连接;重新进入MDK,就能正常对目标板进行调试,仿真,以及程序的烧写。

3.3 写保护

在菜单栏target里打开Option Bytes...选项,我们还看到下面有Flash sector protection选项;选择Select all之后,发现所有Page都已经写保护了,只要选择apply选项就可以对Flash进行写保护;具体如下所示;

如何解决STM32芯片Flash写保护的问题

4 总结

对于Flash写保护的问题可以结合STM32参考手册进行相应的学习,其内部Flash提供相应的保护机制,本文只是结合ST官方工具stlink utility解决一下常见的这个简单的问题。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    功能: SC5618两级保护应用:SC5618 系列保护芯片支持两组芯片串联使用,从而实现对锂电池的初级保护和次级保护,增强系统的鲁棒性。 总 结南芯科技近期推出的高精度单串锂电保护芯片,可为单节锂离子电池提供完整保护......
    系统的鲁棒性。 总 结 南芯科技近期推出的高精度单串锂电保护芯片,可为单节锂离子电池提供完整保护功能,包括电池过压保护、电池欠压保护、充放电过流保护和负载短路保护......
    入问询阶段。彼时,苏州赛芯拟募集资金约6.23亿元,募集资金扣除发行费用后拟投资于锂电保护芯片产品研发及产业化项目、电源管理芯片研发及产业化项目、锂电池计量芯片研发及产业化项目、补充流动资金。不过......
    远翔FP5217:DC-DC内置MOS大功率升压IC; FP5217是非同步升压驱动IC,内置NMOS30V/8A/15mΩ,输入低启动电压2.8V与宽工作电压5V~24V,单节锂电池3V~4.2V......
    CS83787单节锂电池内置升压2x13W双声道D类音频功放IC;CS83787E是一款适用于单节锂电池供电应用,固定增益带三种防破音模式,AB/D切换静音功能内置BO0ST升压......
    、AC/DC 芯片销售收入。锂电保护芯片产品主要为单节、二合一、多节锂电保护芯片, 2022 年创芯微新增AFE,其他主要为创芯微直接对外销售晶圆。 按照业务结构,该公司电源电池模拟芯片......
    模块并且升压模块具备自适应升压功能的R类单声道音频功率放大器。在单节锂电池供电的情况下,IU8309C可以驱动低至4Ω的负载,最大输出19W的恒定功率;在双节锂电串联供电的情况下IU8309C可以驱动低至3Ω......
    的数据手册,得知: DW01芯片参数 放电保护电压3.0V±0.1,放电电流检测电压150mV±30。 DW01芯片的放电保护电压3.0V,正好与单节锂电池的最低放电电压3.0V吻合,似乎......
    其中,1.1代表系数; 3、 锂电池保护电路 充电保护电路,选择芯片DW01和GTT8205的组合,可以做到短路保护......
    lightning接口,也是5V)。考虑到当前有不少支持高压快充的适配器,因此充电盒需要一个过压保护芯片做误插防护,再加一颗charger给锂电池充电。目前很多的charger都集成了过压保护的功能,但是......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>