你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32H745I-DISCO】基于CubeIDE的双核芯编程工程建立,以及双核间的通信测试

[复制链接]
埃斯提爱慕 发布时间:2025-2-24 18:50

第一次用这种双核的MCU,还是从点灯开始。用ST的最大的好处就是感觉入门没有难度,生态做得太好了。 打开STM32CubeIDE,选择官方板卡,生成项目工程,太简单了,哈哈哈哈。 当然,我只是试了一下,然后还是选择从芯片开始。

新建Project,选择STM32H745XIH6,配置名称、路径等,这些跟单核的没有区别。 生成工程后,代码里会有两个Project,一个CM4的、一个CM7的,这里就是有区别的地方,也就是我们后续需要针对每个核单独写程序。

image.png

分配GPIO,这里比单核的多了一个选项:Pin Context Assignement,我的理解是连到哪个核,刚开始没有选择(默认Free),生成的代码里就没有该IO的初始化。 这里把LD1连接到CM7,LD2连接到CM4

image-1.png

在CM7的main.c中添加闪灯代码,下载,没反应。。。。后来发现是CM4的代码没下载,芯片没有正常运行。 分别添加代码,各自点灯正常。

image-2.png

image-3.png

video5800h00m00s-00h00m08s-1.gif

两个核不能各干各的呀,怎么同步呢?看了一下启动过程,也参考了网上的资料。可以全用HSEM(硬件信号量),参考代码,实现同步。

image-5.pngimage-4.png

![alt text](video6000h00m00s-00h00m07s.gif

尝试一下,两个核操作同一个IO口,需要自己手动初始化IO,好像Cube里没法配置两个核都初始化同一个IO。 代码里需要增加HSEM的获取与判断,以入释放操作。

image-6.png CM7负责点亮

image-7.pngCM4负责关闭

video6100h00m00s-00h00m04s.gif

image-3.png
image-1.png
image.png
image-2.png
image-6.png
image-4.png
image-5.png
image-7.png
image-6.png
video(58)[00h00m00s-00h00m04s].gif
video(61)[00h00m00s-00h00m04s].gif
video(60)[00h00m00s-00h00m07s].gif
video(58)[00h00m00s-00h00m08s]-1.gif
收藏 评论0 发布时间:2025-2-24 18:50

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版