硬汉嵌入式论坛

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

[开发工具] h7烧录程序提示flash download failed

[复制链接]

2

主题

7

回帖

13

积分

新手上路

积分
13
发表于 2022-11-1 14:58:07 | 显示全部楼层 |阅读模式
大家好!
今天在烧录bootloader测试用的app时程序提示以下错误:

File       : D:\software\keil\Keil\STM32H7xx_DFP\3.0.0\Keil.STM32H7xx_DFP.pdsc
Sequence   : DebugDeviceUnlock -> CheckID
Context    : Item #0: <block>:ine 11
Expression : "are\keil\Keil\STM32H7xx_DFP\3.0.0\Keil.STM32H7xx_DFP.pdsc"
E310       : Debug access failed - cannot read address 0xE00E0FE4 (accsize '4', AP '0x00000002')

Internal parameter error
No Algorithm found for: 08000000H - 0800FFFFH
No Algorithm found for: 08010000H - 08010F7FH
Erase skipped!
Error: Flash Download failed  -  "Cortex-M7"

Flash Load finished at 14:53:13

bootloader程序可以正常烧录,app程序的地址按照安富莱教程设置的,编译也没有错误,不知道无法烧录是不是哪个地方的配置有问题?谢谢


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2022-11-1 16:37:06 | 显示全部楼层
这个提示是算法问题没有正常添加,你看下你的算法文件是不是添加错了。
回复

使用道具 举报

2

主题

7

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2022-11-14 20:23:51 | 显示全部楼层
好的谢谢。那要是烧录bootloader的测试app时,在app工程中 programming algorithm 是不是要添加两个地址呢? QQ截图20221114201822.png

按现在这种配置方法在烧录app时系统会提示  No Algorithm found for: 08000000H - 0800FFFFH,这个地址烧录的是bootloader程序。

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2022-11-15 09:23:40 | 显示全部楼层
早日毕业 发表于 2022-11-14 20:23
好的谢谢。那要是烧录bootloader的测试app时,在app工程中 programming algorithm 是不是要添加两个地址呢 ...

这里不用设置启动地址和大小,直接默认的就行。

MDK算法文件会自动识别。
回复

使用道具 举报

2

主题

7

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2022-11-16 18:51:34 | 显示全部楼层
eric2013 发表于 2022-11-15 09:23
这里不用设置启动地址和大小,直接默认的就行。

MDK算法文件会自动识别。

好的谢谢。那请问烧录的时候提示找不到算法是什么原因呢?调试了bootloader的工程,它能运行到Appjump()那一步,然后就会进入SEGGER_HardFaultHandler中,一直等待发射结束

这是boot程序最后卡住的地方:

#if 1
  {
      const char *pError = ERR_INFO;
      uint8_t i;

      for (i = 0; i < strlen(ERR_INFO); i++)
      {
         USART1->TDR = pError;
         /*等待发射结束 */
         while((USART1->ISR & USART_ISR_TC) == 0);
      }   
  }
#endif

这个异常原因是因为app的烧录有问题吗?
先烧录bootloader程序再烧录app测试程序时会发现连bootloader的运行都有问题,会不会是app的地址配置有问题导致再次烧入工程时bootloader程序被覆盖呢?

ps:(问题太多了,抱歉,再次感谢大佬解答~)

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2022-11-17 09:23:17 | 显示全部楼层
早日毕业 发表于 2022-11-16 18:51
好的谢谢。那请问烧录的时候提示找不到算法是什么原因呢?调试了bootloader的工程,它能运行到Appjump( ...

这个是你的boot功能设计有问题了,MDK调试状态下,看faults reports里面的错误类型是什么,可以锁定稳定方向,
回复

使用道具 举报

2

主题

7

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2022-11-17 15:25:37 | 显示全部楼层
eric2013 发表于 2022-11-17 09:23
这个是你的boot功能设计有问题了,MDK调试状态下,看faults reports里面的错误类型是什么,可以锁定稳定 ...


好的谢谢。今天我用H743的板子测试了以下两个工程:

一起烧进板子中,发现仍然不能正常跳转。在boot调试中找不到app.bin,所以才会导致crc校验失败等,然后进硬件异常中。
这是相关的代码:



    result = f_mount(&fs, DiskPath, 0);        
    if (result != FR_OK)
    {
        printf("挂载文件系统失败 (%s)\r\n", FR_Table[result]);
    }

    sprintf(path, "%sapp.bin", DiskPath);
    result = f_open(&file, path, FA_OPEN_EXISTING | FA_READ);
    if (result !=  FR_OK)
    {
        printf("Don't Find File : app.bin\r\n");
        return;
    }


不太明白为何boot会找不到app,例程中的地址均未改动?   
   

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2022-11-18 00:38:23 | 显示全部楼层
早日毕业 发表于 2022-11-17 15:25
好的谢谢。今天我用H743的板子测试了以下两个工程:

一起烧进板子中,发现仍然不能正常跳转。在boot ...

那就是SD卡没识别了。

此贴有详细谈这个问题,不行就整我帖子例子的主流SD卡测试下。推荐从JD各家旗舰店买。

系统的谈下STM32H7的SD卡驱动兼容性问题,现在兼容性很强,主流厂家16GB以上容量全部通过(2022-03-15)
https://www.armbbs.cn/forum.php? ... 7689&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

2

主题

7

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2022-11-22 16:29:57 | 显示全部楼层
测了一下sd卡是没有问题的。想请教一下烧录的时候提示Internal parameter error是怎么回事呢?boot烧录会提示这一句然后成功烧录跑起来
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2022-11-23 10:20:05 | 显示全部楼层
早日毕业 发表于 2022-11-22 16:29
测了一下sd卡是没有问题的。想请教一下烧录的时候提示Internal parameter error是怎么回事呢?boot烧录会提 ...

这个没遇到过
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 22:56 , Processed in 0.208496 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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