OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 1101|回复: 3

总能遇到疑难杂症,这次是H7烧录的问题,在线等大佬

[复制链接]

54

主题

347

帖子

0

精华

高级会员

Rank: 4

积分
948
金钱
948
注册时间
2022-4-20
在线时间
356 小时
发表于 2023-11-17 10:58:31 | 显示全部楼层 |阅读模式
20金钱
每天都在学习,每天都能遇到疑难杂症,大部分网上一搜都能搜出来,实在解决不了了就只能靠各位大佬出手了。

程序来源于正点原子的串口寄存器工程,而后添加了自定义的DMA初始化,编译正常,下载时提示信息如下。
  1. No Algorithm found for: 90000000H - 90000107H
  2. Partial Erase Done (areas with no algorithms skipped!)
  3. No Algorithm found for: 90000000H - 90000107H
  4. Partial Programming Done (areas with no algorithms skipped!)
  5. Partial Verify OK (areas with no algorithms skipped!)
复制代码
主程序如下:
  1. int main(void)
  2. {
  3.     Stm32_Clock_Init(160,5,2,4);    //设置时钟,400Mhz
  4.     delay_init(400);                //延时初始化
  5.     uart_init(100,115200);          //串口初始化为115200
  6.     DMA_Init();
  7.     while(1)
  8.     {
  9.         if (USART_RX_STA & 0x8000)
  10.         {
  11.             
  12.         }
  13.         else
  14.         {
  15.             
  16.         }
  17.     }
  18. }
复制代码


问题描述:
进入调试单步走,在DMA初始之前一切正常,进入函数后跳转至如下图地址:
微信截图_20231117104429.png

地址恰好是下载时的信息提示被跳过的地址。即使后来删除DMA初始化函数内所有代码也依然跳转到这个地址。在主函数删除初始化之后,下载无提示,程序正常跑通。

在网上查找解决办法,说的是改仿真器下载算法,但是几番操作之后还是没效果。按理来说,编译过后的初始化函数不应该在这个地址,我就想着会不会是我加入的
DMA初始化函数的问题,于是我直接用原子的DMA工程进行下载,结果是下载时提示内容一样,仿真时现象一样。

今日在线等待大佬解答,感激不尽。谢谢。

最佳答案

查看完整内容[请看2#楼]

搞定了,魔法棒里的Linker设置页面的Use Memory Layout from Target Dialog 勾选上之后,DMA的初始化函数就不再会跑到90000000的地址了,下载程序也正常了
又菜又爱指点
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

54

主题

347

帖子

0

精华

高级会员

Rank: 4

积分
948
金钱
948
注册时间
2022-4-20
在线时间
356 小时
 楼主| 发表于 2023-11-17 10:58:32 | 显示全部楼层
搞定了,魔法棒里的Linker设置页面的Use Memory Layout from Target Dialog 勾选上之后,DMA的初始化函数就不再会跑到90000000的地址了,下载程序也正常了
又菜又爱指点
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2023-11-19 11:15:52 | 显示全部楼层
你这个下载都不正常了啊, 用我们的DMA例程,下载也会出这个错误???
回复

使用道具 举报

54

主题

347

帖子

0

精华

高级会员

Rank: 4

积分
948
金钱
948
注册时间
2022-4-20
在线时间
356 小时
 楼主| 发表于 2023-11-20 09:33:35 | 显示全部楼层
正点原子 发表于 2023-11-19 11:15
你这个下载都不正常了啊, 用我们的DMA例程,下载也会出这个错误???

板子是自己的,程序是从北极星H750里边拿的串口实验程序,寄存器版,在只下载这个串口程序的时候是正常下载的(比如上面主程序第6行被注释的时候),但是加了其他初始化函数的程序就会显示函数地址是在0x90000000之后,下载的时候就提示被跳过。
直接拿寄存器版的DMA例程来,也是同样的提示。
又菜又爱指点
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 02:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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