598|6

7

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【STM32H7S78-DK】——点灯分享 [复制链接]

本帖最后由 1Awesome1 于 2024-9-28 21:26 编辑
 

拿到板卡后,本来想着自己创建一个空的工程,就可以开始玩了,但是遇到了一些问题:Keil编译报错;cube IDE能编译,但是烧录后没有正常运行。

为了可以快速上手,那我还是老老实实先跑一下官方的demo,争取让板子先动起来

 

一.生成demo工程

首先打开cubemx,点击“ACCESS TO EXAMPLE SELECTOR”,选择一个例程

然后在左边的筛选条件中找到H7S7系列、DK板。这样右边就有对应的例程了。正好里面就有GPIO翻转的demo,就他了

选择打开方式时,选择cube IDE,不要选择keil(我还是喜欢Keil的,但是keil打开编译会报错,没办法,只能放弃keil了。新板子的demo这样我理解,难免会有一些小小的问题,坐等ST后续修复)

 

等生成完毕后,会自动打开cubeIDE,并且工程已经自动加载进来了。

在readme中有详细的描述在cubeIDE中如何编译下载运行这个demo

 

二.编译下载

选中工程后,锤子就亮了,点击旁边的三角形,选择debug

点击绿色播放按键,就可以打开配置界面,这里主要是配置下载相关的内容

然后来到“调试器”选项卡,找到“External  loaders”,点击“Add”,添加一个外置烧录算法

这里插一嘴我的理解,因为H7S7的内部flash很小,所以官方做demo时直接就用片外flash存储APP程序了,所以现在我们编译的demo需要被烧录到片外flash,因此需要加载片外烧录算法。对应的还要有bootloader,这个bootloader后面步骤会有涉及

External  loader选择MX66UW1G45G_STM32H7S78-DK.stldr,这个就是开发板匹配的外置flash烧录算法,然后把"Enabled" 勾上, "Initialize"不勾上

 

杂项中的“检验flash下载”勾要去除

然后切换到“Startup”选项卡,点击“Add”

readme说明中分2种情况,分别是我现在的工程中有boot工程和没有boot工程。很显然,我现在没有,那我就按没有的这个case走。

官方的这个boot工程代码我还没细看过,个人理解就是上电后从flash启动,首先运行下载进去的boot,然后他引导外置flash中的APP程序运行

点击“File system....”,打开cubemx中对应包的下载路径,找到Template_XIP工程,里面的Binary文件夹下有直接现成可用的hex文件。不过需要在文件明的框中输入*,再回车,才可以强制选择到这个hex文件,不然是找不到的

把 "Download" 勾上, "Load symbols"不勾

然后把刚添加的hex移动到第二个位置

至此我们就可以编译下载了,点击锤子编译,点击绿色播放按钮下载程序

 

demo运行如下

百度云

IMG_6510

 

三.cubemx更新工程内容注意事项

当cubemx更新工程师,有几个注意点

 

首先是“Project Manager”--“Project”--“Toolchain/IDE”要更换成“STM32CubeIDE”

 

第二是,他会生成很多ld文件,并且IDE中默认的ld文件配置会被篡改(这玩意儿玩死我了,研究了好半天)

首先我们来看一下,默认工程中__EXTRAM_BEGIN这个变量,注意看他实际存在的ld文件名称

并且IDE中只有有个ld

 

当我们重新生成工程后,默认的ld文件配置会被改变

我们先来看看生成后会动哪些文件

中间还有很多文件被删除,都是HAL的文件,这些到也没关系

需要注意的是,这里生成了很多新的ld文件,再看IDE,使用的ld文件已经变了

但是这个ld里面是没有__EXTRAM_BEGIN这个变量的,因此编译就会报错,说他找不到这个变量

罪魁祸首就是这个文件被动了(真的太坑爹了)

最难受的是,我接触IDE没多久,以前都是用keil的,都不找不到在那边修改这个ld的配置。

于是我用了一个歪办法,既然是配置文件,那我直接把修改点都抛弃,他就会变回原来的配置,那不就行啦。测试后这样做是有效的

https://bbs.eeworld.com.cn/forum.php?mod=post&action=reply&fid=126&tid=1294067&fromvf=1&extra=page=1&replysubmit=yes&infloat=yes&handlekey=vfastpost" onsubmit="this.message.value = parseurl(this.message.value);ajaxpost('vfastpostform', 'return_reply', 'return_reply', 'onerror');return false;">
   

此帖出自stm32/stm8论坛

点赞 赞赏 关注

 

 

回复

此帖出自stm32/stm8论坛

最新回复

楼主,没图片呀   详情 回复 发表于 2024-10-2 23:26
点赞 关注
 

回复
举报

623

帖子

0

TA的资源

纯净的硅(高级)

沙发
 

嘿嘿,这个图形化工具说简单也挺简单的,但稍微一不注意。这问题还挺难发现的

此帖出自stm32/stm8论坛

点评

是呀是呀  详情 回复 发表于 2024-10-7 17:25
 
 

回复

15

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

还是用不惯cubeIDE的,都是用keil,keil出错应该好找吧

此帖出自stm32/stm8论坛

点评

是的呀正在探索,以后会更新的  详情 回复 发表于 2024-10-7 17:26
 
 

回复

154

帖子

1

TA的资源

纯净的硅(初级)

4
 

楼主,没图片呀

此帖出自stm32/stm8论坛

点评

不好意思,下一期开始会附上图片·  详情 回复 发表于 2024-10-7 17:25
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(中级)

5
 

不好意思,下一期开始会附上图片·

此帖出自stm32/stm8论坛
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(中级)

6
 
jobszheng5 发表于 2024-9-28 10:28 嘿嘿,这个图形化工具说简单也挺简单的,但稍微一不注意。这问题还挺难发现的

是呀是呀

此帖出自stm32/stm8论坛
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(中级)

7
 
oceansky 发表于 2024-9-29 20:45 还是用不惯cubeIDE的,都是用keil,keil出错应该好找吧

是的呀正在探索,以后会更新的

此帖出自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
快速回复 返回顶部 返回列表