Денис
Ирисководы еще вчёра всё обсудили. Забавная штука по типу 2002с комбинированными ядрами
так комбо или что?. по описанию слово ВЫБИРАТЬ между двумя парами ядра arm и ricv.. так выбирать или это комбо🤔
Денис
О вот эта штука уже интереснее
cpu всегда интереснее😁
Денис
О вот эта штука уже интереснее
питание конечно это что-то👀
ㅤ
питание конечно это что-то👀
Два проводочка вставляешь и отверточкой закручиваешь. Чо нет то. У меня в люстре такое
ㅤ
давно ты в одноплатники провода вкручиваешь?
Нет. Но когда-то надо с этого было начинать
Денис
О вот эта штука уже интереснее
и стоит оно, всего-то: ?
ㅤ
и стоит оно, всего-то: ?
Тыща сто в топе же
Дмитрий
Уже всю голову сломал. Подключаю ESP8266 к кондиционеру Mitsubishi. Платка - бутерброд (старого образца) работает отлично, а платка с type-c и распаянными компонентами не подключается к кондиционеру. Причём нового образца перепробовал две штуки, обе не подключаются. Ошибиться в подключении сложно, всего 4 провода, но и их я уже перепроверил: GND, +5V, TX, RX. Прошивки, разумеется, одинаковые на всех трёх платах. Может такое быть, что у новых плат с type-c и распаянными компонентами как-то отличается последовательный порт с железной точки зрения? Или у меня двойной брак?
Дмитрий
Kirill
Проверь юарт другой платой или через usb-uart конвертер
ROhmsteR
питание конечно это что-то👀
промышленные железяки почти все под отвертку, не буду шкафы фоткать
SSR
А мы вроде и не просили. Нам не надо, спасибо.
А могли бы зрение продиагностировать
ROhmsteR
вообще шкафы тема отдельная, лучше лишний раз не трогать) тема шкафов в нынешнее время может вытянуть на статью....
Grayzer
Возможно ли собрать M5StickC самому и поставить на него bruce?
Ruslan
ㅤ
Че-то по-моему на этот раз вопрос был задан не "можно ли", а "возможно ли". А вы опять токсить, а
Ruslan
я тут в питер сгонял, купчино гланул, похоже потихоньку дотягивается до вас собянин, чистенько, красиво
владик
пробую запустить пример из мануала FreeRTOS, тулчейн esp-rtos-sdk, плата ESp8266 С #include <stdio.h> #include <stdlib.h> #include "FreeRTOS.h" #include "freertos/task.h" #include "freertos/timers.h" #define mainDELAY_LOOP_COUNT ( 0xffffff ) void vPrintString( const char *pcString ) { vTaskSuspendAll(); { printf( "%s", pcString ); } xTaskResumeAll(); } void vTask1( void *pvParameters ) { const char *pcTaskName = "Task 1 is running\r\n"; volatile uint32_t ul; for( ;; ) { vPrintString(pcTaskName); for( ul = 0; ul < mainDELAY_LOOP_COUNT; ul++ ) { } } } void vTask2( void *pvParameters ) { const char *pcTaskName = "Task 2 is running\r\n"; volatile uint32_t ul; for( ;; ) { vPrintString(pcTaskName); for( ul = 0; ul < mainDELAY_LOOP_COUNT; ul++ ) { } } } void app_main( void ) { xTaskCreate( vTask1, "Task 1", 1000, NULL, 1, NULL ); xTaskCreate( vTask2, "Task 2", 1000, NULL, 1, NULL ); vTaskStartScheduler(); for( ;; ); } ыполняются два таска, после чего программа крашится с Guru Meditation Error: Core 0 panic'ed (IllegalInstruction) https://pastebin.com/Mvr47R0V кто знает в чем дело?
Agent
Скорее после циклов
владик
Agent
А, ну да, в твоем случае вместо
Agent
попробую ща
Отпишись помогло или чё
владик
Отпишись помогло или чё
добавил vTaskDelay после vPrintString на 10/100/500 мс, результат тот же везде
владик
ладно
Sergey
ладно
Увеличь стек до 2048 хотя бы. Мне кажется, это вообще минималка
владик
ок ща
Sergey
ок ща
И подними приоритет до 4
владик
приоритет поставил 4, стек 4096, вывод тот же
владик
бля может я как то проект пересобираю не правильно ну
Sergey
бля может я как то проект пересобираю не правильно ну
А если закоментить таски, запустится?
владик
в смысле только функции оставить, без xTaskCreate?
владик
а понял
владик
запустилось, но ни один таск не успел ничего вывести, сразу IllegalInstruction и дамп
владик
а приоритет какой ей?
Sergey
4096, приоритет 8. Норм, не костыльно. С этого надо начинать, step by step, как говориццо
владик
окей, благодарю
владик
прогресс есть, теперь оно не крашится, но таск 1 выполняется бесконечно
ㅤ
пробую запустить пример из мануала FreeRTOS, тулчейн esp-rtos-sdk, плата ESp8266 С #include <stdio.h> #include <stdlib.h> #include "FreeRTOS.h" #include "freertos/task.h" #include "freertos/timers.h" #define mainDELAY_LOOP_COUNT ( 0xffffff ) void vPrintString( const char *pcString ) { vTaskSuspendAll(); { printf( "%s", pcString ); } xTaskResumeAll(); } void vTask1( void *pvParameters ) { const char *pcTaskName = "Task 1 is running\r\n"; volatile uint32_t ul; for( ;; ) { vPrintString(pcTaskName); for( ul = 0; ul < mainDELAY_LOOP_COUNT; ul++ ) { } } } void vTask2( void *pvParameters ) { const char *pcTaskName = "Task 2 is running\r\n"; volatile uint32_t ul; for( ;; ) { vPrintString(pcTaskName); for( ul = 0; ul < mainDELAY_LOOP_COUNT; ul++ ) { } } } void app_main( void ) { xTaskCreate( vTask1, "Task 1", 1000, NULL, 1, NULL ); xTaskCreate( vTask2, "Task 2", 1000, NULL, 1, NULL ); vTaskStartScheduler(); for( ;; ); } ыполняются два таска, после чего программа крашится с Guru Meditation Error: Core 0 panic'ed (IllegalInstruction) https://pastebin.com/Mvr47R0V кто знает в чем дело?
vTaskStartScheduler лишнее непонятно зачем оно. Во вторых for (;;) добавь туда внутрь хоть vtaskdelay(xxx) чтоб собака не срабатывала.
ㅤ
Есть подозрение что ты повторно запускаешь шедулер и у тебя все по кругу. Ибо vTaskStartScheduler вызывается в недрах esp-idf и затем оно запускает app_main. То есть app_main уже является главным таском и запускать повторно freertos тебе не нужно. Никогда в голову это не приходило, где ты такое вообще вычитал?
ㅤ
мануал FreeRTOS, глава про таски
Все правильно. А теперь внимательнее читай что там написано.
ㅤ
В главной функции. То есть в функции main. А у тебя это не функция main. Функция main находится внутри esp-rtos-sdk, которая делает xtaskcreate (xxx, app_main). А сама запускает шедулер
ㅤ
app_main != main
владик
а
владик
то есть app_main тоже своего рода таска которая по кругу щедулером крутится?
ㅤ
ㅤ
владик
все понял тогда, спс
ㅤ
В menuconfig можно найти её размер стека. Main task stack size че-то такое
владик
rtos_sdk изначально ругалась на функцию int main( void ), не могло найти метку с app_main
ㅤ
rtos_sdk изначально ругалась на функцию int main( void ), не могло найти метку с app_main
Ну вот оно и не могло найти ту самую главную таску
ㅤ
А ты придумал зачем-то запуск фриртос заново
ㅤ
Ты бы хоть примеры из идф посмотрел для начала. Там нигде такого нет
владик
так я четко копировал пример из мана фриртоси
владик
https://www.freertos.org/media/2018/161204_Mastering_the_FreeRTOS_Real_Time_Kernel-A_Hands-On_Tutorial_Guide.pdf страница 80
ㅤ
Ну ман фриртоси это когда ты его заново натягиваешь на голый маин. А утебя уже есть прослойка в виде idf. Есть небольшой нюанс
владик
а
ㅤ
Там функция main делает много чего. Инициализацию периферии, процессора и потом уже запускает твой app_main
владик
ну проблема была в том что никакой app_main компилятор не находил, из-за чего я поменял название с main на app_main (ашипка!)
ㅤ
Не знаю что у тебя там не находило, у меня проблем с 8266 rtos sdk никогда не было. Тесновато там конечно после esp32...
ㅤ
Где-то сишник свой в cmake видать не добавил я хз
ㅤ
А че тебя сподвигло брать 8266?