
第一次用这种双核的MCU,还是从点灯开始。用ST的最大的好处就是感觉入门没有难度,生态做得太好了。 打开STM32CubeIDE,选择官方板卡,生成项目工程,太简单了,哈哈哈哈。 当然,我只是试了一下,然后还是选择从芯片开始。 新建Project,选择STM32H745XIH6,配置名称、路径等,这些跟单核的没有区别。 生成工程后,代码里会有两个Project,一个CM4的、一个CM7的,这里就是有区别的地方,也就是我们后续需要针对每个核单独写程序。 分配GPIO,这里比单核的多了一个选项:Pin Context Assignement,我的理解是连到哪个核,刚开始没有选择(默认Free),生成的代码里就没有该IO的初始化。 这里把LD1连接到CM7,LD2连接到CM4 在CM7的main.c中添加闪灯代码,下载,没反应。。。。后来发现是CM4的代码没下载,芯片没有正常运行。 分别添加代码,各自点灯正常。 两个核不能各干各的呀,怎么同步呢?看了一下启动过程,也参考了网上的资料。可以全用HSEM(硬件信号量),参考代码,实现同步。 ![alt text]( 尝试一下,两个核操作同一个IO口,需要自己手动初始化IO,好像Cube里没法配置两个核都初始化同一个IO。 代码里需要增加HSEM的获取与判断,以入释放操作。
|
【STM32H745I-DISCO GuiDemo 】GuiDemo 基本工程搭建
【STM32N6570-DK评测】1.开箱测评
NUCLEO-H723ZG开发板试用 ——串口点灯测试
【NUCLEO STM32F429ZI开发板】之点灯大师
【Wio Lite AI视觉开发套件】人脸识别快速实现
兔哥的杂谈【002】——如何性价比更高地去编译STM32
【Wio Lite AI视觉开发套件】+简单刷个屏
NUCLEO-U083RC学习历程-空闲中断+DMA接收不定长数据
工程师笔记 | STM32H7 RAMECC功能及应用
stm32使用定时器触发dma传输,启动dma没反应的几种情况的解决方法