
第一次用这种双核的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使用LL库生成ADC代码工作异常问题说明
实战经验 | 关于STM32H745的MC SDK电机控制工程问题的解决办法
【H745I GUI】1.GreenHouse 灯光控制
【NUCLEO-U083RC评测】SLEEP_MODE、STOP_MODE、STANDBY_MODE简要测试
【STM32C0评测】基于I2C驱动温度传感器
【STM32C0评测】基于模拟SPI驱动1.8寸tft屏
【Wio Lite AI视觉开发套件】+移植TensorFlow Lite
【STM32C0评测】FreeRTOS测试
【STM32C0评测】串口输出ADC值
【STM32C0评测】PWM测试