1190|8

154

帖子

1

TA的资源

纯净的硅(初级)

楼主
 

【STM32H7S78-DK】③导入官方工程文件编译正常调试报错【已解决】 [复制链接]

本帖最后由 cc1989summer 于 2024-10-1 21:46 编辑

 

如题:

导入官方工程GPIO_IOToggle。一路默认下去。

 

 

 

 

 

 

编译是正常的。

 

 

 

但点击Debug,就报错了

 

 

 
 
 

 

调试器的设置都是默认的。

 

那这个报错怎么解决呢,请教各位。

 

Break at address "0x8000844" with no debug information available, or outside of program code.

 

 

(自己新建一个全新的工程就一切正常)

 

这是新建工程:Flash启动

 

 

 

这是官方例程GPIO_IOToggle,看起来是从外部SPI启动?那怎么样才能消除错误呢?

 

 

 

 


 

又经过一晚上的折腾,终于搞定了。

 

 

 

其实主要还是没有钻研现有资料。

在官方例程GPIO_IOToggle的Doc文件夹中,有README.md文件,对本项目做了详细说明,以及如何使用本项目。

 

## <b>GPIO_IOToggle Example Description</b>

 

How to configure and use GPIOs through the HAL API.

 

PO.01, PO.05, PM.02 and PM.03 IOs (configured in output pushpull mode) toggle in a forever loop.

On STM32H7S78-DK board these IOs are connected to LD1, LD2, LD3 and LD4.

 

(本例程从外部Flash存储器运行,他从第一个Boot状态启动,然后由Boot转交)

This example runs from the external Flash memory. It is launched from a first boot stage and inherits from this boot project

configuration (caches, MPU regions [regions 0, 1 and 2 here], system clock at 600 MHz and external memory interface at the highest speed).

Note that the boot part is automatically downloaded from the IDE environment via the board project Templates/Template_XIP/Binary/Boot_XIP.hex file.

 

 

 

 

 

这里要用到的文件来自  en.stm32cubeh7rs-v1-1-0.zip

 

 

 

 

Boot_XIP.hex (78.05 KB, 下载次数: 2)

 

运行结果:

 

 

 

 

 

其实我们的坛友 不爱胡萝卜的仓鼠 已经实操过了,大家可以参考。

 

https://bbs.eeworld.com.cn/thread-1294067-1-1.html

 

 

STM32H7S7L8这个芯片内部Flash设计的比较小,只有64K,它的主要程序一般情况需要存放在外部Flash,它提供了高速的XSPI接口以方便从外部Flash加载程序,同时支持在下载和加载程序的过程中对存放在外部Flash代码进行加密解密。
通过高速的XSPI接口 连接外部的Flash,可以使设计的程序扩展空间非常大,不再需要顾虑片内Flash的容量不足;
然后在CubeMX中 也对该系列芯片进行了深度支持,
在CubeMX中, 创建该系列芯片时,与常规的芯片环境相比,增加了许多新的选项.

第1项Boot 就是片内Flash的工程代码;
第2项Appli 就是片外Flash的工程代码;

 

XIP技术
XIP,executed in place,本地执行。操作系统采用这种系统,可以不用将内核或执行代码拷贝到内存,而直接在代码的存储空间直接运行。采用这样的技术既可以节省可用内存又可以减少加载的时间。应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。flash内执行是指nor flash 不需要初始化,可以直接在flash内执行代码。但往往只执行部分代码,比如初始化RAM.比如在arm处理器中,Nor flash就存放了引导系统启动的Bootloader,不过大小比较小。

 

 

 

下图是STM32H7S7L8的几种启动模式。(常用的就是第2种)

 

 

 

此帖出自stm32/stm8论坛

最新回复

所以还是boot的问题导致的咯   详情 回复 发表于 2024-10-8 10:55
点赞 关注
 

回复
举报

6587

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

不想是编译器的问题

此帖出自stm32/stm8论坛

点评

编译是成功的,就是下载异常。 自己新建工程不用例程,编译下载都正常。  详情 回复 发表于 2024-9-30 19:11
 
 

回复

6773

帖子

2

TA的资源

版主

板凳
 

估计是例程和当前IDE版本有兼容问题吧

此帖出自stm32/stm8论坛

点评

但从提示信息来看,像是内存问题。  详情 回复 发表于 2024-9-30 19:11
 
 

回复

154

帖子

1

TA的资源

纯净的硅(初级)

4
 
Jacktang 发表于 2024-9-30 07:34 不想是编译器的问题

编译是成功的,就是下载异常。

自己新建工程不用例程,编译下载都正常。

此帖出自stm32/stm8论坛
 
 
 

回复

154

帖子

1

TA的资源

纯净的硅(初级)

5
 
wangerxian 发表于 2024-9-30 13:23 估计是例程和当前IDE版本有兼容问题吧

但从提示信息来看,像是内存问题。

此帖出自stm32/stm8论坛

点评

所以还是boot的问题导致的咯  详情 回复 发表于 2024-10-8 10:55
 
 
 

回复

6841

帖子

11

TA的资源

版主

6
 

例程有两个工程,需要先下载boot工程,再下载app工程就行了。没有这么麻烦!

此帖出自stm32/stm8论坛

点评

  没有boot工程呢,仅有Appli  详情 回复 发表于 2024-10-1 12:48
 
 
 

回复

154

帖子

1

TA的资源

纯净的硅(初级)

7
 
lugl4313820 发表于 2024-10-1 10:07 例程有两个工程,需要先下载boot工程,再下载app工程就行了。没有这么麻烦!

 

没有boot工程呢,仅有Appli

此帖出自stm32/stm8论坛
 
 
 

回复

6773

帖子

2

TA的资源

版主

8
 
cc1989summer 发表于 2024-9-30 19:11 但从提示信息来看,像是内存问题。

所以还是boot的问题导致的咯

此帖出自stm32/stm8论坛

点评

是滴。  详情 回复 发表于 2024-10-8 19:29
 
 
 

回复

154

帖子

1

TA的资源

纯净的硅(初级)

9
 
wangerxian 发表于 2024-10-8 10:55 所以还是boot的问题导致的咯

是滴。

此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表