реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> CMSIS-RTOS RTX, Стек задачи
ViKo
сообщение Mar 24 2013, 15:29
Сообщение #1


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Пока использую стандартного размера стек
Код
osThreadDef(LightBlue, osPriorityNormal, 1, 0);

работает.
Как только пытаюсь задать свой размер (любой)
Код
osThreadDef(LightBlue, osPriorityNormal, 1, 200);

задача не создается.
Или там в Кейле еще нужно что-то править-объяснять?
Go to the top of the page
 
+Quote Post
ViKo
сообщение Mar 24 2013, 18:15
Сообщение #2


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



И точно. Только править нужно, оказывается, не Number of threads with user-provided stack size, который можно оставить и 0, а Total stack size [bytes] for threads with user-provided stack size, который должен быть равен (не меньше) суммарному размеру использумого нестандартного стека. В файле RTX_Conf_CM.c, естественно.
О так, яволь! laughing.gif
Go to the top of the page
 
+Quote Post
ViKo
сообщение Oct 10 2013, 09:30
Сообщение #3


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Сколько стека выделить задаче? Как увидеть в отладчике Keil, хватило, не хватило, лишний?
Go to the top of the page
 
+Quote Post
uriy
сообщение Oct 10 2013, 10:03
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



В 4 кейле было Debug->Os support и что-то там дальше...
Показывал в процентах текущий используемый объем стека по каждой задаче.
А что за ОС такая появилась "CMSIS-RTOS RTX"
Старой RTX больше нет? У вас задачи объявляются совсем не так как было раньше.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Oct 10 2013, 13:36
Сообщение #5


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(uriy @ Oct 10 2013, 13:03) *
А что за ОС такая появилась "CMSIS-RTOS RTX"
Старой RTX больше нет? У вас задачи объявляются совсем не так как было раньше.

Это надстройка над старой RTX. Наверное, можно и без нее.

Если в задаче внутри функции создается массив, то куда он денется при переключении задачи?
Похоже, из-за этого у меня вылетает в ошибку ОС.
Как быть? Сделать массив глобальным?
Go to the top of the page
 
+Quote Post
uriy
сообщение Oct 11 2013, 12:50
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Про CMSIS-RTOS я вообще был не в теме.
Вот попробовал в 5 келей запустить пример на STM32 дисковери.
Размер используемого стека показывает.
Прикрепленное изображение

Все локальные переменные складываются в стек.
И по поводу делать большие массивы глобальными или локальными у меня тоже устоявшегося мнения.
Глобальные переменные принято считать злом.
На складывание в стек локальных уходит время.

Кстати у вас Event Viewer нормально работает?
У меня через несколько секунд (иногда минут) такая ерунда выскакивает.
Прикрепленное изображение
Go to the top of the page
 
+Quote Post
ViKo
сообщение Oct 11 2013, 13:16
Сообщение #7


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(uriy @ Oct 11 2013, 15:50) *
Кстати у вас Event Viewer нормально работает?
У меня через несколько секунд (иногда минут) такая ерунда выскакивает.

У меня выскакивает такое, когда шевелю USB разъем на Discovery, через ST-LINK2 которой отлаживаюсь.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Oct 14 2013, 13:24
Сообщение #8


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(ViKo @ Oct 10 2013, 16:36) *
Если в задаче внутри функции создается массив, то куда он денется при переключении задачи?
...
Как быть? Сделать массив глобальным?

Правильнее сделать его статическим. Работает.
Go to the top of the page
 
+Quote Post
BloomJack
сообщение Aug 30 2015, 17:02
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 18-08-15
Пользователь №: 88 040



В природе существует документация на CMSIS-RTOS RTX на русском?
Go to the top of the page
 
+Quote Post
yanvasiij
сообщение Sep 3 2015, 08:50
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041



Цитата(BloomJack @ Aug 30 2015, 22:02) *
В природе существует документация на CMSIS-RTOS RTX на русском?


На русском пока нет, хотя тут есть пара энтузистов, который взялись писать статьи не только по CMSIS-RTOS RTX но и по HAL вообще. Не знаю во что это выльется, лично я не вижу в этом смысла - на английском она вполне доходчивая.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 15th June 2025 - 21:48
Рейтинг@Mail.ru


Страница сгенерированна за 0.01453 секунд с 7
ELECTRONIX ©2004-2016