软件调试问题系列文章之第一章 ARM软件调试问题

系列文章目录

第一章 ARM软件调试问题



前言

本系列文章主要用于记录工作和学习过程中的软件调试问题

方便查找对应问题的解决之道,如解答有不足之处或问题解决仍待补充,还请大佬多多指教,谢谢!->欢迎评论区留言


第一章 ARM软件调试问题

1.STM32 ST-LINK Utility烧写芯片读/写保护解锁

1.1 描述

  • 采用STM32 ST-LINK Utility烧写时误操作,导致芯片出现读/写保护

1.2 警告及解决办法(读/写)

1.2.1 读保护
  • 采用STM32 ST-LINK Utility连接时出现警告:Can not read memory! Disable Read Out Protection and retry.
    STM32 ST-LINK Utility 读保护
1.2.2 读保护解决
  • 点击Target->Option Bytes…
    读保护解决方法
  • Read Out Protection设置为 Level 0->Apply(应用)
    读保护解决方法

注:读保护等级(防止代码被他人恶意拷贝,保护原作者的权益)

读保护等级含义切换
Level 0无保护(可随意读取,调试时选择)切换其他等级,不会擦除芯片已有代码
Level 1可恢复读保护切换至Level 0,会自动擦除已有程序
Level 2不可恢复读保护(调试时勿选)不可切换其他等级,且芯片里的程序不可再升级
1.2.3 写保护
  • 采用Keil5软件仿真时出现警告:Flash Timeout.Reset the Target and try it again.
    Keil5 写保护
  • 采用STM32 ST-LINK Utility连接时(在读保护已解决状态下,点击Target->Option Bytes…查看保护状态):Write Protection
    STM32 ST-LINK Utility 写保护
1.2.4 写保护解决
  • 点击Target->Option Bytes…->Select all->Unselect all->Apply(当Protection全变为No Protection时,即无读/写保护)
    写保护解决方法
1.2.5 实际问题解决操作步骤(读/写保护)
  • 第一步 采用STM32 ST-LINK Utility连接
  • 若无读保护警告(Can not read memory! Disable Read Out Protection and retry.),则进行第二步
  • 第二步 采用Keli5软件进行软件仿真
  • 查看软件运行状态,若正常运行,则无读/写保护问题;若程序跑飞(main函数中打断点不停),则进行第三步
  • 第三步 采用STM32 ST-LINK Utility连接
  • 连接成功(显示芯片信息)后,先擦除芯片
    连接成功(显示芯片信息)后,先擦除芯片
  • 第四步 点击Target->Option Bytes…->按照下图流程设置->Apply
    Keil5软件仿真程序跑飞 采用STM32 ST-LINK Utility连接 设置
  • 第五步 再次擦除芯片,然后断开连接
    擦除芯片后断开连接
  • 第六步 采用Keli5软件进行软件仿真(程序正常运行:读/写保护解除,芯片正常运行)
    读/写保护解除,芯片正常运行

2.STM32软件仿真/下载

2.1 描述

  • STM32无法进行软件仿真或软件仿真时无法跳转main函数

2.2 警告及解决办法

2.2.1 无法进行软件仿真
  • 检查硬件连接(BOOT设置、仿真器接口等)
  • 软件仿真设置(芯片型号选择、仿真连接设置、Flash大小选择等)
    软件仿真设置之Flash大小选择
  • 有无读写保护(详情见ARM软件调试问题1,若出现相关警告,可按照步骤解保护)
2.2.2 仿真时无法跳转main函数(程序完全跑飞,未进入.s启动文件)
  • 硬件断电,多次尝试
  • 检查硬件boot连接(一般情况下都采用BOOT0接地,即BOOT0=0 主Flash模式)
    boot自举模式选择

总结

本章为软件调试问题系列文章 第一章:ARM软件调试问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值