
第一次用这种双核的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的获取与判断,以入释放操作。
|
STM32H7的TCM,SRAM等五块内存基础知识
STM32H7的TCM,SRAM等五块内存基础知识
简单了解一下STM32H7的BDMA
【STM32N6570-DK评测】1.开箱测评
有奖预约 | STM32H7R7基于RT-Thread RTOS的智能终端GUI解决方案
【STM32H745I-DISCO】基于TouchGFX的工业控制器界面设计
【STWINKT1B评测】2.初步测试IIS3DWB振动传感器
兔哥的初代M33【002】-H503Nucleo 内部flash操作
STM32H745I-DISCO串口打印
【STM32H745I-DISCO】TouchGFX探索——3、触屏滑屏操作与中文显示