esp32 双核调用 大小核-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4980|回复: 8

esp32 双核调用 大小核

[复制链接]
发表于 2020-5-13 12:44 | 显示全部楼层 |阅读模式
本帖最后由 吹向陆地的风 于 2020-5-13 12:52 编辑

esp32有一大一小两个核,默认但在Arduino中只使用了大核,使得esp32的双核设计无用武之地,但Arduino中调用双核好像没啥教程,所以收集资料写了一个。[mw_shl_code=arduino,true]#include <soc/soc.h>
#include <soc/rtc_cntl_reg.h>
void Task1code( void *pvParameters );
void Task2code( void *pvParameters );
//wifi在core0,其他在core1;1为大核
void setup() {
  WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0);//关闭低电压检测,避免无限重启
  xTaskCreatePinnedToCore(Task1code, "Task1", 10000, NULL, 1, NULL,  0);//
  xTaskCreatePinnedToCore(Task2code, "Task2", 10000, NULL, 1, NULL,  1);//
  //实现任务的函数名称(task1);任务的任何名称(“ task1”等);分配给任务的堆栈大小,以字为单位;任务输入参数(可以为NULL);任务的优先级(0是最低优先级);任务句柄(可以为NULL);任务将运行的内核ID(0或1)

  Serial.begin(115200);
}

void loop() {
  // put your main code here, to run repeatedly:

}
void Task1code(void *pvParameters) {
  //setup部分
  for (;;)//相当于loop
  {
    vTaskDelay(1000);
    Serial.print("Task1工作核心");
    Serial.println(xPortGetCoreID());

  }
}

void Task2code(void *pvParameters) {
   //setup部分
  for (;;)//相当于loop
  {
    vTaskDelay(1000);
     Serial.print("Task2工作核心");
    Serial.println(xPortGetCoreID());

  }
}[/mw_shl_code]

在void Task1code(void *pvParameters)和void Task2code(void *pvParameters)中的函数分别在两个核中运行,整个系统基于FreeRTOS,水平有限,如有错误请指正。
发表于 2020-5-14 11:14 | 显示全部楼层
FreeRTOS还不会那,你都能调大小核了,的努力学习了
发表于 2020-5-14 11:15 | 显示全部楼层
楼主开贴,讲下FreeRTOS的入门学习吧,不知道从那下手,给几个简单的例子
 楼主| 发表于 2020-5-15 17:41 | 显示全部楼层
zxy2266 发表于 2020-5-14 11:15
楼主开贴,讲下FreeRTOS的入门学习吧,不知道从那下手,给几个简单的例子

我也是菜鸡,没能力开FreeRTOS的教程帖。。。
发表于 2020-5-17 09:56 | 显示全部楼层
这个不错,收藏一下!
发表于 2020-6-4 18:13 | 显示全部楼层
没有大小核的说法,两个一样核其实它是三核的芯片,还有个低功耗协处理核
 楼主| 发表于 2020-6-6 09:16 | 显示全部楼层
ynkmzyl 发表于 2020-6-4 18:13
没有大小核的说法,两个一样核其实它是三核的芯片,还有个低功耗协处理核 ...

S2现在只有一个LX7核了,老版本两个LX6,两个核官方确实没说有区别。
发表于 2020-6-22 11:37 | 显示全部楼层
本帖最后由 jjbboox 于 2020-6-24 14:01 编辑
吹向陆地的风 发表于 2020-6-6 09:16
S2现在只有一个LX7核了,老版本两个LX6,两个核官方确实没说有区别。

ESP32-S双核ESP32-S2变单核了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-1 05:31 , Processed in 0.119683 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表