Mrburnette
Пн 12 февраля 2018 г., 2:05
Я пропустил на форуме в эти выходные? Я думал, что нет.
Я потратил некоторое время, возившись с ESP-32 под Arduino. Я получил < $ 5 Wemos Lite Board В Aliexpress, и я помню, когда Maple Minis были этой ценой всего несколько лет назад.
Таким образом, моя игра (ограниченная по выходным) была посвящена чтению об эспрессфрагменте Freertos с их Arduino Core. Я смотрел пару видео на YouTube. Я читаю слишком много статей. Я попробовал несколько примеров. Моя голова начала ранить, потому что это такая простая концепция, и существующие примеры Arduino были действительно плохими. Хуже всего, некоторые упускали тот факт, что код Arduino создает задачу по умолчанию; То есть в стандартном режиме Arduino работает на одном ядре, а нативная сторона RF работает на одном ядре.
Другой способ, можно ездить на велосипеде из «выделенного» ядра RF, так как у Arduino Side уже есть выделенное ядро.
Я создал проект Arduino Multi-Tab, чтобы легко продемонстрировать, насколько простой может быть общий процесс. Код доступен как ZIP со страницы моей проекта:
https: // www.хакерс.io/rayburne/esp32- ... Res-8dd948
Наслаждаться.
Луча
Я потратил некоторое время, возившись с ESP-32 под Arduino. Я получил < $ 5 Wemos Lite Board В Aliexpress, и я помню, когда Maple Minis были этой ценой всего несколько лет назад.
Таким образом, моя игра (ограниченная по выходным) была посвящена чтению об эспрессфрагменте Freertos с их Arduino Core. Я смотрел пару видео на YouTube. Я читаю слишком много статей. Я попробовал несколько примеров. Моя голова начала ранить, потому что это такая простая концепция, и существующие примеры Arduino были действительно плохими. Хуже всего, некоторые упускали тот факт, что код Arduino создает задачу по умолчанию; То есть в стандартном режиме Arduino работает на одном ядре, а нативная сторона RF работает на одном ядре.
Другой способ, можно ездить на велосипеде из «выделенного» ядра RF, так как у Arduino Side уже есть выделенное ядро.
Я создал проект Arduino Multi-Tab, чтобы легко продемонстрировать, насколько простой может быть общий процесс. Код доступен как ZIP со страницы моей проекта:
https: // www.хакерс.io/rayburne/esp32- ... Res-8dd948
Наслаждаться.
Луча
The three user's task: 0, 1, 2:
__task__ __core__
Task 1 complete running on Core 0 Time = 2 mS
Task 2 complete running on Core 1 Time = 1 mS
Task 0 complete running on Core 1 Time = 1 mS
Task 1 complete running on Core 0 Time = 1 mS
Task 2 complete running on Core 1 Time = 2 mS
Task 0 complete running on Core 1 Time = 2 mS
Task 1 complete running on Core 0 Time = 2 mS
Task 2 complete running on Core 1 Time = 2 mS
Task 0 complete running on Core 1 Time = 2 mS
Task 1 complete running on Core 0 Time = 2 mS
Task 2 complete running on Core 1 Time = 2 mS
Task 0 complete running on Core 1 Time = 2 mS
Task 1 complete running on Core 0 Time = 2 mS
Task 2 complete running on Core 1 Time = 1 mS
Task 0 complete running on Core 1 Time = 1 mS
Task 1 complete running on Core 0 Time = 1 mS
Task 2 complete running on Core 1 Time = 1 mS
Task 0 complete running on Core 1 Time = 2 mS
Rogerclark
Пн 12 февраля 2018 г., 4:42
Звучит интересно...
Мне нравится идея возможности использовать оба ядра.
Мне нравится идея возможности использовать оба ядра.
Виндиам
Пн 12 февраля 2018 г., 6:19
Что ж, удивительно, что мы можем купить такую мощную готовую доску SOC/MCU Arduino с этой сумасшедшей низкой ценой.
Я думаю, что это определенно превзошло бы STM32F4 даже в вычислительных интенсивных приложениях.
Я думаю, что это определенно превзошло бы STM32F4 даже в вычислительных интенсивных приложениях.
Сжимать
Пн 12 февраля 2018 г., 11:52
Andreas Spiess выпустил отличное видео об использовании 2 ядра ESP32. Это здесь: https: // youtu.be/k_d_qu0cgu8
ESP32 - действительно очень мощное устройство по цене. Даже без возможностей Wi -Fi/Bluetooth является очень экономически эффективным чипом.
ESP32 - действительно очень мощное устройство по цене. Даже без возможностей Wi -Fi/Bluetooth является очень экономически эффективным чипом.
Mrburnette
Пн 12 февраля 2018 г. 12:48
[Сжимать - Пн 12 февраля 2018 г., 11:52]] - Andreas Spiess выпустил отличное видео об использовании 2 ядра ESP32. Это здесь: https: // youtu.be/k_d_qu0cgu8«Основы примера кода» было от просмотра видео Spiess. Но его пример был запутан, ИМО. Я сохранил его «рабочую нагрузку» и переработал большую часть формата и т. Д. Андреас был только чередующимся ядром 0, 1, но пример ZIP фактически использует Loop (), чтобы показать, что нарезка времени также выделяется на эту задачу.
ESP32 - действительно очень мощное устройство по цене. Даже без возможностей Wi -Fi/Bluetooth является очень экономически эффективным чипом.
Итак, подвести итоги, если вы добавите 2 задачи, одну в Core0 и один на Core1, то есть 4 задачи: выполняется:
- RF и протоколы на Core0
- User loop () на core1
- Пользователь добавил задачу на core0
- Пользователь добавлена задача на core1
Луча
Tab Dualcore
/*
This sketch runs the same load on both cores of the ESP32
ArduinoIDE 1.8.5
Linux Mint 18.3
Sketch uses 162569 bytes (12%) of program storage space. Maximum is 1310720 bytes.
Global variables use 11068 bytes (3%) of dynamic memory, leaving 283844 bytes for local variables. Maximum is 294912 bytes.
*/
#include // Ref: http://arduiniana.org/libraries/streaming/
#include "Workload.h"
#include "Task1.h"
#include "Task2.h"
TaskHandle_t TaskA, TaskB;
void setup() {
Serial.begin(115200);
delay(500); // small delay
// Ref: http://esp32.info/docs/esp_idf/html/db/da4/task_8h.html#a25b035ac6b7809ff16c828be270e1431
xTaskCreatePinnedToCore(
Task1, /* pvTaskCode */
"Workload1", /* pcName */
1000, /* usStackDepth */
NULL, /* pvParameters */
1, /* uxPriority */
&TaskA, /* pxCreatedTask */
0); /* xCoreID */
xTaskCreatePinnedToCore(
Task2,
"Workload2",
1000,
NULL,
1,
&TaskB,
1);
}
void loop() {
// This task will run in the ESP32 Arduino default context
unsigned long start = millis();
Serial << "Task 0 complete running on Core " << (xPortGetCoreID()) << " Time = " << (millis() - start) << " mS" << endl ;;
delay(10) ;
}
ZMEMW16
Пн, 12 февраля 2018 г., 13:55
Какой маршрут установки программного обеспечения ?
У меня есть и IDF, и SketchBook/Adplaive Routes для компиляции, ссылки и Flash.
относительно безболезненно.
Я на самом деле думал о том, чтобы попросить Zip от любого, у кого работающий Arduino, ~/sketchbook/hareware esp32 установка.
Я также думаю, что периферийные устройства не будут такими простыми, как на Arduino, у них, похоже, не будет сканера I2C
Для получения маринованности посмотрите на мой почтовый, ViewTopic.PHP?F = 17&t = 3224
Стивен
У меня есть и IDF, и SketchBook/Adplaive Routes для компиляции, ссылки и Flash.
относительно безболезненно.
Я на самом деле думал о том, чтобы попросить Zip от любого, у кого работающий Arduino, ~/sketchbook/hareware esp32 установка.
Я также думаю, что периферийные устройства не будут такими простыми, как на Arduino, у них, похоже, не будет сканера I2C
Для получения маринованности посмотрите на мой почтовый, ViewTopic.PHP?F = 17&t = 3224
Стивен
Mrburnette
Пн 12 февраля 2018 г. 15:24
[ZMEMW16 - Пн, 12 февраля 2018 г. 13:55] - Какой маршрут установки программного обеспечения ?Основная установка ESP32 проста. Следуйте указаниям.
У меня есть и IDF, и SketchBook/Adplaive Routes для компиляции, ссылки и Flash.
относительно безболезненно.
Я на самом деле думал о том, чтобы попросить Zip от любого, у кого работающий Arduino, ~/sketchbook/hareware esp32 установка.
Я также думаю, что периферийные устройства не будут такими простыми, как на Arduino, у них, похоже, не будет сканера I2C
Для получения маринованности посмотрите на мой почтовый, ViewTopic.PHP?F = 17&t = 3224
Стивен
Lite Board отправлена с штифтами... идеально подходит... Адаптер не требуется. CH340C посвящает USB. Правильно сбрасывается из IDE.
Есть много примеров ESP32 после установки ядра.
- ESP32 Примеры.JPG (144.66 киб) просмотрено 1188 раз
ZMEMW16
Пн, 12 февраля 2018 г. 15:53
@Ray
Вы пробовали версию IDF ?
Он вернул много воспоминаний о настройке ядра с использованием «Make menuconfig», которые начались за четверть века назад
Пример IDF Hello World работает.
Одна вещь, которую я заметил, было то, что нужно было нажать на кнопку сброса, даже если сообщения говорят, что он сделал трудный сброс.
У меня был быстрый взгляд на примеры i2c и spi, отсюда и мой комментарий.
Стивен
Вы пробовали версию IDF ?
Он вернул много воспоминаний о настройке ядра с использованием «Make menuconfig», которые начались за четверть века назад
Пример IDF Hello World работает.
Одна вещь, которую я заметил, было то, что нужно было нажать на кнопку сброса, даже если сообщения говорят, что он сделал трудный сброс.
У меня был быстрый взгляд на примеры i2c и spi, отсюда и мой комментарий.
Стивен
Mrburnette
Вт 13 февраля 2018 г., 19:44
Не работали напрямую в ИДФ. Использовали эти функциональные вызовы из Arduino.
У меня, наверное, 5 различных сортов модулей ESP32. Все сброс после загрузки с использованием Linux Mint 18.3. ... не пробовали под окнами.
Луча
У меня, наверное, 5 различных сортов модулей ESP32. Все сброс после загрузки с использованием Linux Mint 18.3. ... не пробовали под окнами.
Луча
victor_pv
Вт 13 февраля 2018 г. 22:16
Я думал, что купил ESP32, мне нужно попытаться найти его и попробовать некоторые из этого.
Быстрый вопрос, можете ли вы выполнить задачу в обоих основных альтернативно, когда один из них доступен?
РЕДАКТИРОВАТЬ: Нашел мой ESP32,-это esp-room с 4 МБ дополнительной ОЗУ Довольно хорошо за 6-7 долларов.
Быстрый вопрос, можете ли вы выполнить задачу в обоих основных альтернативно, когда один из них доступен?
РЕДАКТИРОВАТЬ: Нашел мой ESP32,-это esp-room с 4 МБ дополнительной ОЗУ Довольно хорошо за 6-7 долларов.
ZMEMW16
Вт 13 февраля 2018 г., 23:09
[Mrburnette - Вт 13 февраля 2018 г., 19:44] - Не работали напрямую в ИДФ. Использовали эти функциональные вызовы из Arduino.не пробовали под окнами. @Ray их есть боевые слова - если вы предлагаете, чтобы я пользователь Windows - Linux с 1994 года OK XP в сеансе VirtualBox, даже не уверен, когда я в последний раз использовал его
У меня, наверное, 5 различных сортов модулей ESP32. Все сброс после загрузки с использованием Linux Mint 18.3. ... не пробовали под окнами.
Луча
Я попробую (IDF Hello World) снова, может быть, это было только потому, что я использовал IDF, а не Arduino IDE, вспомнил, что я использовал Cutecom, и он придумал недопустимый скорость передачи (0).
Для SPI и I2C я имел в виду примеры IDF, конечно, не стиль Arduino, по внешнему виду источник больше похож на HAL/SPL со структурами данных.
Стивен