]> granicus.if.org Git - esp-idf/commitdiff
esp32: abort when running on single core chip in dual core mode
authorIvan Grokhotkov <ivan@espressif.com>
Wed, 19 Sep 2018 03:34:34 +0000 (11:34 +0800)
committerIvan Grokhotkov <ivan@espressif.com>
Wed, 19 Sep 2018 07:05:26 +0000 (15:05 +0800)
Ref. https://esp32.com/viewtopic.php?f=2&t=7307

components/esp32/cpu_start.c
docs/en/get-started-cmake/index.rst
docs/en/get-started/index.rst
docs/zh_CN/get-started/index.rst

index cfff63a2c5c1899c5e813f9894a81d1d6ae5a6c5..bda8b8cc82b9c1e077537903a57ac6ecb0b9e253 100644 (file)
@@ -30,6 +30,7 @@
 #include "soc/rtc_cntl_reg.h"
 #include "soc/timer_group_reg.h"
 #include "soc/rtc_wdt.h"
+#include "soc/efuse_reg.h"
 
 #include "driver/rtc_io.h"
 
@@ -166,6 +167,11 @@ void IRAM_ATTR call_start_cpu0()
     ESP_EARLY_LOGI(TAG, "Pro cpu up.");
 
 #if !CONFIG_FREERTOS_UNICORE
+    if (REG_GET_BIT(EFUSE_BLK0_RDATA3_REG, EFUSE_RD_CHIP_VER_DIS_APP_CPU)) {
+        ESP_EARLY_LOGE(TAG, "Running on single core chip, but application is built with dual core support.");
+        ESP_EARLY_LOGE(TAG, "Please enable CONFIG_FREERTOS_UNICORE option in menuconfig.");
+        abort();
+    }
     ESP_EARLY_LOGI(TAG, "Starting app cpu, entry point is %p", call_start_cpu1);
     //Flush and enable icache for APP CPU
     Cache_Flush(1);
index faa715c8c31366ffc24ba2759e62aa34f4b2fe4b..b4e23c044029aa94cf49f021721184a375aa59a0 100644 (file)
@@ -248,6 +248,11 @@ Here are couple of tips on navigation and use of ``menuconfig``:
 * Pressing ``?`` while highlighting a configuration item displays help about that item.\r
 * Type ``/`` to search the configuration items.\r
 \r
+.. attention::\r
+\r
+    When using ESP32-DevKitC board with ESP32-SOLO-1 module, enable single core mode (:ref:`CONFIG_FREERTOS_UNICORE`) in menuconfig before flashing example applications.\r
+\r
+\r
 .. _get-started-build-cmake:\r
 \r
 Build The Project\r
index 1d14de4df05d21fbd29f99bcfde8288ecf62024e..6d056052ffccd859c5bc65c5f8258829a8e39c53 100644 (file)
@@ -220,6 +220,11 @@ Here are couple of tips on navigation and use of ``menuconfig``:
     If you are **Arch Linux** user, navigate to ``SDK tool configuration`` and change the name of ``Python 2 interpreter`` from ``python`` to ``python2``.\r
 \r
 \r
+.. attention::\r
+\r
+    When using ESP32-DevKitC board with ESP32-SOLO-1 module, enable single core mode (:ref:`CONFIG_FREERTOS_UNICORE`) in menuconfig before flashing example applications.\r
+\r
+\r
 .. _get-started-build-flash:\r
 \r
 Build and Flash\r
index 7ec10482c4bdec98a712379a74d1cab16baf2896..360fcfd1b1ac79caa309df3fe17df819644a3537 100644 (file)
@@ -216,6 +216,10 @@ ESP-IDF 的 :idf:`examples` 目录下有一系列示例工程,都可以按照
 
     如果你是 **Arch Linux** 用户,需要进入 ``SDK tool configuration`` 将 ``Python 2 interpreter`` 从 ``python`` 修改为 ``python2``。
 
+.. attention::
+
+    如果 ESP32-DevKitC 板载的是 ESP32-SOLO-1 模组,请务必在烧写示例程序之前在 menuconfig 中使能单核模式(:ref:CONFIG_FREERTOS_UNICORE)。
+
 
 .. _get-started-build-flash: