STM32f103zet6可以下载程序但不能正常运行

kmij261 2019-10-23 07:37:39
自己做的一块stm32f103zet6的板子,可以通过STLINK下载程序,但是下载后程序并不能正常运行,即使是简单的引脚电平变换也不行,采用debug调试,发现计算和初始化的部分可以运行,但是一但涉及到外设的访问就会卡住(如串口,IO)。请问会有哪些可能的原因呢。
...全文
3076 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
kmij261 2019-12-17
  • 打赏
  • 举报
回复 1
最后问题也很简单,BOOT0没接地,导致没法下载也没办法正常调试。
kmij261 2019-12-17
  • 打赏
  • 举报
回复
引用 6 楼 Glen_hsu 的回复:
我也有过同样错误: LED=1 不能执行,gpio必须用专门的SET/RESET语句,详细自己找找!
定义过了,BOOT0出了问题,跟代码没关系。LED是宏定义过的。
Glen_hsu 2019-12-09
  • 打赏
  • 举报
回复
我也有过同样错误: LED=1 不能执行,gpio必须用专门的SET/RESET语句,详细自己找找!
Glen_hsu 2019-11-01
  • 打赏
  • 举报
回复
下载玩程序后,BOOT0/BOOT1要恢复“0”,否则无法启动。 重新断电。
狗蛋王-yo 2019-10-25
  • 打赏
  • 举报
回复
这个地方确认一下,
枫中眸zc 2019-10-25
  • 打赏
  • 举报
回复
对应点:
1、没打断点,系统运行中肯定停不下来。在初始化9/10/11/12处左边顶端打断点,检查是否可以运行到while,
3、检查状态寄存器,查看GPIO引脚是否有√变化
软件仿真也可以打断点的,看寄存器变化,再检查硬件,万用表量CPU有无电压输出,灯接线是否有电压变化
在运行中点击“STOP”可以直接看到程序在哪里跑,如果进入硬件中断,一般是初始化问题,那你可以先检查printf调用,
kmij261 2019-10-24
  • 打赏
  • 举报
回复
引用 1 楼 horse_2007s 的回复:
各种原因吧?最好先看看是否进入硬件错误中断 1、初始化部分就会对片内外设进行访问,确定这部分没错?在进入循环前,建议在各初始化处多打几个断点,判断是否进入此初始化。 2、如果是加入了实时系统,那么就查看各任务优先级以及任务延时设置等调度设置 3、检查.s文件是否合适、程序内部是否自定义了一些地址,占用了出问题的寄存器、工程设置是否合适
1.调试模式有问题,只有RST和stop,其他按钮都不好用 2.没用实时系统 3.整个工程是之前最小系统板用过的,我试了PC13、PE2都不行,现在怀疑是不是硬件出了问题,BOOT1和0都接地之后,ISP不能下载程序,只能用ST-LINK
枫中眸zc 2019-10-24
  • 打赏
  • 举报
回复
各种原因吧?最好先看看是否进入硬件错误中断
1、初始化部分就会对片内外设进行访问,确定这部分没错?在进入循环前,建议在各初始化处多打几个断点,判断是否进入此初始化。
2、如果是加入了实时系统,那么就查看各任务优先级以及任务延时设置等调度设置
3、检查.s文件是否合适、程序内部是否自定义了一些地址,占用了出问题的寄存器、工程设置是否合适

27,509

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧