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

基于STM32WL55中开启双核的使用经验分享

[复制链接]
攻城狮Melo 发布时间:2024-5-25 15:13
今天在测试ST的STM32WL55评估版时,意外的发现其不仅仅是一块具有无线通讯能力的芯片,还具有双核,同时装载M4和M0+的内核。

因为手上发现只有WL55是双核的,下次尝试试用一下其他芯片试试。

微信图片_20240525151256.png

它可以使用协处理器来使用双核。这种双核架构使得微控制器能够同时运行多个任务,提高系统的灵活性和性能。每个内核都具有独立的存储器、外设和时钟域,它们可以独立地运行和执行任务,也可以通过共享资源进行通信和同步。

STM32WL 系列提供了多核调度器(MCS)功能,可以动态地管理主内核和辅助内核之间的任务调度和切换,以优化系统性能和功耗。

微信图片_20240525151253.png

我们在使用CubeMX生成WL的代码的时候可以发现,有一个双核视图。

微信图片_20240525151251.png

微信图片_20240525151241.png

我们发现其CubeMX界面中可以把不同的内容分配给不同的核心。

创建任务的时候可以选择单核或者多核。

微信图片_20240525151238.png

如官网的介绍,每个CPU享有单独的时钟域和外设。

微信图片_20240525151235.png

从官网的原理图中得知,评估版中有三个LED灯,对应着PB15/9/11。这三个LED作为板载LED,我们将尝试利用双核的特性来尝试同时闪烁。

微信图片_20240525151232.png

将LED的三个IO初始化。

还有一点非常重要,我们需要开启STM32的IPCC.这也是之后要使用无线的条件。

微信图片_20240525151229.png

IPCC(Inter-Processor Communication Controller)是STM32WL系列微控制器中的一个功能模块,用于实现双核(Dual-Core)之间的通信。


IPCC允许主核和副核之间进行通信和数据交换。


微信图片_20240525151226.png

创建工程后发现其任务由两个核组成,我们尝试在其中分别添加代码。

后面的烧录问题卡了我四个多小时,单独写篇文章来描述一下这个烧录的问题。

我们在两个工程的main函数中分别添加LED的代码。
  1. while (1)
  2.   {
  3.     /* USER CODE END WHILE */

  4.     /* USER CODE BEGIN 3 */
  5.     HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_11);
  6.     HAL_Delay(500);
  7.   }
复制代码

在第二个核的main函数中也添加LED的代码。
  1. while (1)
  2.   {
  3.     /* USER CODE END WHILE */

  4.     /* USER CODE BEGIN 3 */
  5.     HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_9);
  6.     HAL_Delay(500);
  7.   }
复制代码



转载自 :电路小白
如有侵权请联系删除



收藏 评论0 发布时间:2024-5-25 15:13

举报

0个回答

所属标签

相似分享

官网相关资源

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