硬汉嵌入式论坛

 找回密码
 立即注册
查看: 227|回复: 12
收起左侧

[技术讨论] STM32H750VBT6程序烧录不成功问题,求救

[复制链接]

1

主题

5

回帖

8

积分

新手上路

积分
8
发表于 2024-4-18 08:56:22 | 显示全部楼层 |阅读模式
本帖最后由 纯纯新手 于 2024-4-18 10:49 编辑

自己设计了一块板子,单片机程序怎么都烧录不进去,原理图附图;

只用了一个8MHz的无源晶振作为HSE,BOOT通过0R电阻接地。电路实测+3.3VD的电压值均为3.3V,VCAP引脚电容电压值为1V;

使用SW方式调试和下载;

更换无源晶振起振电容为10pF,依然不行;

  • 环境:
使用STM32CubeMX进行外设等设置,Version 6.9.2;
使用Keil5进行程序编写与下载,Version 5.36.0.0

  • 程序:
使用CubeMX生成只有晶振输入和调试接口的程序,主频设置为100MHz

  • Keil5下载设置见附图

  • 使用正点原子DAP下载器
报错“Can not load Flash Programming Algorithm”
在对应的实际文件夹位置有相应文件;
也经常报错 RDDI-DAP Error;Error: Flash Download failed  -  "Cortex-M7";

  • 使用ST-Link下载器
同样报错“Can not load Flash Programming Algorithm”;
使用ST-Link Utility,可以看到内部RAM的值,都是F;而且会出现突然断开连接的现象;
在ST-Link Utility下,无论是擦除还是烧写,都会报错:“Elf Loader could not be transfered to device”

  • 使用J-Link下载器,也报错,最开始报错“No Algorithm found for: 90000000H - 9000223FH”,后来就变成检测不到设备了

  • 后面的想法
个人目前打算后面换个电脑继续试一试,但是没有更多的想法了

哭泣,求大佬们捞一下,帮忙提点儿意见

DAP下载器Error截图

DAP下载器Error截图

J-Link下载器Error截图

J-Link下载器Error截图

下载程序设置

下载程序设置

下载内存设置

下载内存设置

ST-Link下载器Error截图

ST-Link下载器Error截图

原理图

原理图
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106819
QQ
发表于 2024-4-18 09:07:43 | 显示全部楼层

回帖奖励 +1 个金币

原理图没传上来
回复

使用道具 举报

19

主题

234

回帖

291

积分

高级会员

积分
291
发表于 2024-4-18 09:29:39 | 显示全部楼层
先检查硬件。
可以试试用STM32CubeProgrammer从串口烧一个常规一点的程序进去,再用调试器烧你的程序。
回复

使用道具 举报

1

主题

5

回帖

8

积分

新手上路

积分
8
 楼主| 发表于 2024-4-18 09:52:18 | 显示全部楼层

我再传一下
回复

使用道具 举报

1

主题

5

回帖

8

积分

新手上路

积分
8
 楼主| 发表于 2024-4-18 09:53:22 | 显示全部楼层
原理图如图;我自己看不出来问题在哪里。

原理图

原理图
回复

使用道具 举报

1

主题

5

回帖

8

积分

新手上路

积分
8
 楼主| 发表于 2024-4-18 09:56:54 | 显示全部楼层
tovinz 发表于 2024-4-18 09:29
先检查硬件。
可以试试用STM32CubeProgrammer从串口烧一个常规一点的程序进去,再用调试器烧你的程序。

我没留USART1的串口,应该没办法用串口烧程序进去,只留了SW的调试接口
回复

使用道具 举报

1

主题

5

回帖

8

积分

新手上路

积分
8
 楼主| 发表于 2024-4-18 11:17:06 | 显示全部楼层
tovinz 发表于 2024-4-18 09:29
先检查硬件。
可以试试用STM32CubeProgrammer从串口烧一个常规一点的程序进去,再用调试器烧你的程序。

  • 我用STM32CubeProgrammer试了下,刚开始连接正常:



  10:02:49 : STM32CubeProgrammer API v2.16.0 | Windows-64Bits
  10:52:28 : UR connection mode is defined with the HWrst reset mode
  10:52:29 : ST-LINK SN  : 35FF6D063041533150291543
  10:52:29 : ST-LINK FW  : V2J38S7
  10:52:29 : Board       : --
  10:52:29 : Voltage     : 1.09V
  10:52:29 : SWD freq    : 4000 KHz
  10:52:29 : Connect mode: Normal
  10:52:29 : Reset mode  : Software reset
  10:52:29 : Device ID   : 0x450
  10:52:29 : Revision ID : Rev V
  10:52:29 : Debug in Low Power mode is not supported for this device.
  10:52:29 : UPLOADING OPTION BYTES DATA ...
  10:52:29 :   Bank          : 0x00
  10:52:29 :   Address       : 0x5200201c
  10:52:29 :   Size          : 308 Bytes
  10:52:29 : UPLOADING ...
  10:52:29 :   Size          : 1024 Bytes
  10:52:29 :   Address       : 0x8000000
  10:52:29 : Read progress:
  10:52:29 : Data read successfully
  10:52:29 : Time elapsed during the read operation is: 00:00:00.008

  • 但是下载不了程序:

  10:53:09 : Memory Programming ...
  10:53:09 : Opening and parsing file: MagCtrlTest.hex
  10:53:09 :   File          : MagCtrlTest.hex
  10:53:09 :   Size          : 4.34 KB
  10:53:09 :   Address       : 0x08000000
  10:53:09 : Erasing memory corresponding to segment 0:
  10:53:10 : Error: failed to erase memory
  10:53:10 : Error: failed to erase memory
  10:53:10 : Error: Unable to get core ID
  10:53:10 : Error: Unable to get core ID
  10:53:10 : Warning: Connection to device 0x450 is lost


  • 然后我试了下读取0x08000000-0x08003FF0的Flash数据,都是FFFF,没啥异常


  • 然后再试了两次,然后突然就可以下载简单的程序了

  10:57:27 : Time elapsed during the read operation is: 00:00:00.066
  10:57:47 : Memory Programming ...
  10:57:47 : Opening and parsing file: MagCtrlTest.hex
  10:57:47 :   File          : MagCtrlTest.hex
  10:57:47 :   Size          : 4.34 KB
  10:57:47 :   Address       : 0x08000000
  10:57:47 : Erasing memory corresponding to segment 0:
  10:57:56 : Download in Progress:
  10:57:57 : File download complete


  • 再然后我自己的程序也可以下载了

  10:57:57 : Time elapsed during download operation: 00:00:09.704
  10:58:31 : Memory Programming ...
  10:58:31 : Opening and parsing file: MagCtrlSTM32.hex
  10:58:31 :   File          : MagCtrlSTM32.hex
  10:58:31 :   Size          : 19.02 KB
  10:58:31 :   Address       : 0x08000000
  10:58:31 : Erasing memory corresponding to segment 0:
  10:58:40 : Download in Progress:
  10:58:41 : File download complete


  • 然后读取Flash数据,发现程序已经运行起来了


我现在又迷茫又开心又担心,到底是什么原因呢?会不会是我Keil5安装的时候有什么支持包不对劲?
回复

使用道具 举报

19

主题

234

回帖

291

积分

高级会员

积分
291
发表于 2024-4-18 14:26:14 | 显示全部楼层
纯纯新手 发表于 2024-4-18 11:17
  • 我用STM32CubeProgrammer试了下,刚开始连接正常:

  • 有很多可能吧,
    跟调试器有关,我看你的原理图接口没有VCC连接调试器,我自己画板都是vcc-gnd-dio-clk四个都用上了。
    也有可能swd接口被锁住了。烧一个简单的没有锁swd接口的程序之后swd接口就正常放开了。
    也有可能进低功耗了,我调沁恒的ch32f208的时候都要通过串口烧一个程序退出低功耗才能正常用swd访问。
    反正调试器烧不起程序的情况见多了
    回复

    使用道具 举报

    1

    主题

    5

    回帖

    8

    积分

    新手上路

    积分
    8
     楼主| 发表于 2024-4-18 14:38:30 | 显示全部楼层
    tovinz 发表于 2024-4-18 14:26
    有很多可能吧,
    跟调试器有关,我看你的原理图接口没有VCC连接调试器,我自己画板都是vcc-gnd-dio-clk四 ...

    请教VCC给进来的话和原来板子内3.3V怎么处理呢?两个接一块儿吗?
    回复

    使用道具 举报

    19

    主题

    234

    回帖

    291

    积分

    高级会员

    积分
    291
    发表于 2024-4-18 15:25:26 | 显示全部楼层
    纯纯新手 发表于 2024-4-18 14:38
    请教VCC给进来的话和原来板子内3.3V怎么处理呢?两个接一块儿吗?

    接一起就行了。最好用 5pin 端子把复位引脚也引出来
    回复

    使用道具 举报

    3

    主题

    122

    回帖

    131

    积分

    初级会员

    积分
    131
    发表于 2024-4-18 15:31:21 | 显示全部楼层
    纯纯新手 发表于 2024-4-18 14:38
    请教VCC给进来的话和原来板子内3.3V怎么处理呢?两个接一块儿吗?

    你板子带电烧程序?有的片子要电源重启才能正常烧录,板子一直有电可能没法百分百重启,除非你RST引脚也接出来。我一般是板子断电,烧录器给vcc供电,除非烧录器电压不够才会考虑上电烧录,或者把rst引出来,板子上电,烧录器接rst不接vcc
    回复

    使用道具 举报

    3

    主题

    122

    回帖

    131

    积分

    初级会员

    积分
    131
    发表于 2024-4-18 15:37:43 | 显示全部楼层
    烧录器不接vcc和rst的话是靠swd来控制片子重启进入烧录模式,如果swd被锁住或者程序跑飞就大概率没法正常通过swd重启片子进入烧录模式,烧录器接管片子的vcc或者rst就能避免掉大部分无法正常烧录的情况
    回复

    使用道具 举报

    1

    主题

    5

    回帖

    8

    积分

    新手上路

    积分
    8
     楼主| 发表于 2024-4-18 20:29:34 | 显示全部楼层
    skyshine 发表于 2024-4-18 15:37
    烧录器不接vcc和rst的话是靠swd来控制片子重启进入烧录模式,如果swd被锁住或者程序跑飞就大概率没法正常通 ...

    感谢,确实没有考虑到这一点,后面新一版设计的时候还需要改进,确实板子断电然后靠烧录器供电并控制reset要好
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

    GMT+8, 2024-5-6 01:30 , Processed in 0.207933 second(s), 29 queries .

    Powered by Discuz! X3.4 Licensed

    Copyright © 2001-2023, Tencent Cloud.

    快速回复 返回顶部 返回列表