FreeRTOS количество задач

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
imsushka
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн окт 01, 2018 09:19:51

FreeRTOS количество задач

Сообщение imsushka »

Разбираюсь с ОСью. Discovery407 + Eth. Все запустил, Все работает. ВЕБстраница показывается. МОДБАС ТСП пашет. Светодиоды моргают.
Но.
Как только пытаюсь добавить еще 1 задачу. Все зависает, при первом же обращении по сети.
При 8 задачах работает. 9 уже нет.
В настройках FreeRTOS ничегго такого нету. Хип увеличил до 48 кило.

main.c

Код: Выделить всё

  ETH_BSP_Config(); /* configure ethernet (GPIOs, clocks, MAC, DMA) */ 

  LwIP_Init(); /* Initilaize the LwIP stack */

  /* Main task */
  vSemaphoreCreateBinary( xMBMSemaphore );
  xTaskCreate(Main_task, "MAIN", configMINIMAL_STACK_SIZE * 2, NULL, MAIN_TASK_PRIO, NULL);

  xTaskCreate(http_server_socket_thread, "HTTP_S", DEFAULT_THREAD_STACKSIZE*2, NULL, WEBSERVER_TASK_PRIO, NULL);
//  xTaskCreate(http_server_netconn_thread, "HTTP_N", DEFAULT_THREAD_STACKSIZE*2, NULL, WEBSERVER_TASK_PRIO, NULL);
//  xTaskCreate(tcpecho_thread, "TCP_ECHO", DEFAULT_THREAD_STACKSIZE, NULL, TCPECHO_TASK_PRIO, NULL);
//  xTaskCreate(udpecho_thread, "UDP_ECHO", DEFAULT_THREAD_STACKSIZE, NULL, UDPECHO_TASK_PRIO, NULL);

#ifdef USE_DHCP
  /* Start DHCPClient */
  xTaskCreate(LwIP_DHCP_task, "DHCP", configMINIMAL_STACK_SIZE * 2, NULL, DHCP_TASK_PRIO, NULL);
#endif

  /* Modbus slave task */
  vSemaphoreCreateBinary( xMBSSemaphore );
//  xTaskCreate(MBSlave_task, "MBSlave", configMINIMAL_STACK_SIZE * 2, NULL, MODBUS_TASK_PRIO, NULL);

  /* Start toogleLed4 task : Toggle LED4  every 250ms */
  xTaskCreate(ToggleLed4, "LED4", configMINIMAL_STACK_SIZE, NULL, LED_TASK_PRIO, NULL);
  xTaskCreate(ToggleLed5, "LED5", configMINIMAL_STACK_SIZE, NULL, LED_TASK_PRIO, NULL);

  /* Start scheduler */
  vTaskStartScheduler();

список задач
  • Number of page hits:381
    Name State Priority Stack Num
    ---------------------------------------------
    HTTP_S R 5 538 5
    IDLE R 0 102 8
    Eth_if B 6 316 3 --- lwip
    LED5 B 2 94 7
    LED4 B 2 104 6
    TCP/IP B 5 924 2 --- lwip
    LINK B 3 218 1 --- lwip
    MAIN S 1 226 4
На картинке стек по ошибке
Вложения
Untitled.png
(41.2 КБ) 210 скачиваний
Последний раз редактировалось imsushka Ср фев 05, 2020 19:44:07, всего редактировалось 1 раз.
Реклама
Аватара пользователя
afz
Опытный кот
Сообщения: 744
Зарегистрирован: Сб дек 22, 2012 08:17:42
Откуда: Караганда, Казахстан

Re: FreeRTOS количество задач

Сообщение afz »

imsushka писал(а):Хип увеличил до 48 кило.
А стек?
Кто мешает тебе выдумать порох непромокаемый? (К. Прутков, мысль № 133)
Реклама
imsushka
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн окт 01, 2018 09:19:51

Re: FreeRTOS количество задач

Сообщение imsushka »

Стек задач (да увеличил)? или общий стек (а есть такой?) ?
последнее нет (не знаю где)

увеличил CSTACK в .icf файле до 2 кил (было 1) - тоже вистнет
imsushka
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн окт 01, 2018 09:19:51

Re: FreeRTOS количество задач

Сообщение imsushka »

Си = зло, указатели = супер зло

при формировании хтмл-странички с данными о задачах, данных получалось больше чем было выделенно памяти под переменную строковую, НА 2 БАЙТА !!!!
Реклама
Эиком - электронные компоненты и радиодетали
Trully
Встал на лапы
Сообщения: 118
Зарегистрирован: Вс авг 18, 2019 13:22:01

Re: FreeRTOS количество задач

Сообщение Trully »

Хахаха, на указателях многие срубились :)
По ошибке - Hard Fault есть ни что иное, как (вероятно) неправильная работа с указателями.
to be or not to be = -1
Реклама
Аватара пользователя
HardWareMan
Мучитель микросхем
Сообщения: 431
Зарегистрирован: Ср сен 02, 2015 07:47:20

Re: FreeRTOS количество задач

Сообщение HardWareMan »

[uquote="Trully",url="/forum/viewtopic.php?p=3787172#p3787172"]По ошибке - Hard Fault есть ни что иное, как (вероятно) неправильная работа с указателями.[/uquote]
Или если нарушается выравнивание. Обращение к слову/полуслову по нечётному адресу.
Репозиторий STM32: https://cloud.mail.ru/public/2i19/Y4w8kKEiZ
Актуальность репозитория: 22 апреля 2026 года
Если чего-то не хватает с сайта st.com - пишите, докачаю.
/!\ Обновлений для STM32PowerMon и STM32PowerMon-UCPD временно не будет.
Реклама
Аватара пользователя
Myp3ik
Мучитель микросхем
Сообщения: 450
Зарегистрирован: Вс янв 09, 2011 23:05:37
Откуда: СССР

Re: FreeRTOS количество задач

Сообщение Myp3ik »

Си = зло, указатели = супер зло
"Для хорошего человека армия - мать родная, а плохому - тёща" :o
Иван Сусанин - первый полупроводник :solder:
Ответить

Вернуться в «ARM»