Jump to content
Кот с ружьём

Проблемы с наладкой FreeRTOS

Recommended Posts

Сразу к делу! Установил и подключил FreeRTOS к Keil uVision. Для пробного запуска скопировал прогу из интернета, мигающая двумя светодиодами. Все сработало. Решил модифицировать программу: добавить третий светодиод. Прописал все точно также, как в примере, за исключением порта и названий. Ошибку при компиляции не выдают. Загружаю в МК, но ничего не работает. Добавил код, сигнализирующий об ошибке, прошил МК. Ничего не заработало, даже сигнала об ошибке не было. Какова может быть причина? 

P. S. - к проекту подключена SPL-библиотека.image.png.50d9075b1fcd3250679df51331d9b7ed.png

Edited by Кот с ружьём

Share this post


Link to post
Share on other sites

Похоже мало памяти для трех задач. Уменьшите значение configMINIMAL_STACK_SIZE.

Проверяйте при создании задач возвращаемое значение.

Share this post


Link to post
Share on other sites
10 часов назад, snn_krs сказал:

Проверяйте при создании задач возвращаемое значение.

А как это делать?

10 часов назад, snn_krs сказал:

Похоже мало памяти для трех задач. Уменьшите значение configMINIMAL_STACK_SIZE

Сработало, спасибо!
 

Edited by Кот с ружьём

Share this post


Link to post
Share on other sites

Приглашаем на вебинар «Экономичные решения МЕAN WELL для надежных разработок» (30.09.2021)

Компания Компэл приглашает 30 сентября на вебинар посвященный экономичным решениям МЕAN WELL. На вебинаре мы рассмотрим, как решения MEAN WELL позволяют сэкономить при выборе недорогого источника питания. Будут представлены основные группы источников питания по конструктивным признакам и по областям применения в контексте их стоимости или их особенностей, позволяющих снизить затраты на электропитание конечного устройства.
Подробнее

Модульные RJ-соединители KLS — масштабное пополнение склада Компэл

Продуктовая линейка компании KLS на складе Компэл пополнилась модульными соединителями типа RJ. Ассортимент представлен неэкранированными соединителями RJ11, RJ12 и RJ45 для построения базовых информационных сетей, а также экранированными RJ45 с трансформатором для реализации систем передачи данных между узлами ЛВС.

Подробнее

13 hours ago, Кот с ружьём said:

А как это делать?

  if ( xTaskCreate( ... ) != pdTRUE ) {	ErrorBlink( 5 ); while( 1 ) {} }; 

Или чтото подобное.

2 hours ago, Кот с ружьём said:

чтобы таск запускался, допустим, каждые 2 миллисекунды?

В файле FreeRTOSConfig.h задается время запуска планировщика

#define configTICK_RATE_HZ            ( ( TickType_t ) 500 ) // каждые 2 мс.

Если вы это имели ввиду. Если одна задача должна вызываться каждые 2 мс. , то можно ей задать более высокий приоритет и вызывать из прерывания таймера по семафору.

Share this post


Link to post
Share on other sites

Вебинар «Microchip и современный подход к искусственному интеллекту. Разворачиваем нейронную сеть на 32-битном микроконтроллере» (13.10.2021)

Приглашаем всех желающих 13 октября 2021 г. посетить вебинар, посвященный искусственному интеллекту, машинному обучению и решениям для их реализации от Microchip. Современные среды для глубинного обучения нейронных сетей позволяют без детального изучения предмета развернуть искусственную нейронную сеть (ANN) не только на производительных микропроцессорах и ПЛИС, но и на 32-битных микроконтроллерах. А благодаря широкому портфолио Microchip, включающему в себя диапазон компонентов от микроконтроллеров и датчиков до ПЛИС, средств скоростной передачи и хранения информации, возможно решить весь спектр задач, возникающий при обучении, верификации и развёртывании модели ANN.
Подробнее

8 часов назад, Кот с ружьём сказал:

А возможно ли сделать так, чтобы таск запускался, допустим, каждые 2 миллисекунды?

разные способы есть. Зависит от того насколько точно нужно запускать - по 2мс фрэйму или через 2 мс после завершения. Опять же и там и там есть разные способы реализации. Семафоры, сообщения, таймеры, задержки, функции диспетчера (слипы, айдлы). Выбор охрененный

Edited by mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Share this post


Link to post
Share on other sites

STMicroelectronics: электростатический разряд больше не проблема

Защита от статического электричества необходима каждому современному устройству. Компания STMicroelectronics представляет решения, соответствующие стандарту IEC61000-4-2, а также специальное приложение PROTECTION FINDER, которое поможет легкого и эффективно подобрать необходимые компоненты. Рассмотрим практические примеры защиты от ESD, отраслевые стандарты и ряд ключевых параметров важных при проектировании электростатической защиты устройств.
Подробнее

Читать там очень желательно, а еще лучше читать и одновременно пробовать


Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Share this post


Link to post
Share on other sites
24.08.2020 в 20:22, Кот с ружьём сказал:

Установил и подключил FreeRTOS

А какой смысл? Просто чтобы было? Что вообще планируется делать на ртосе? Неужели будет так много задач, что требуется иметь полноценный диспетчер задач и тратить уйму ресурсов МК на ртос?

Share this post


Link to post
Share on other sites

А что мешает сделать ее самому? Один фиг это будет точно такая же псевдомногопоточность, как в ртос.

Понятно. Ты сам не знаешь, нафиг тебе ртос и в принципе не умеешь с STM32 работать. Или ты серьезно думаешь, что ртос даст тебе реальную многопточность на одноядерном и однопоточном МК? Так вот не даст. Код точно так же будет выполняться с разбивкой по времени, только медленнее, чем если писать самому. Ибо вызываться диспетчер задач будет с определенным дискретом времени. К примеру, пришел пакет данных, обработается он не раньше, чем через дискрет времени. Сколько там, 2мс ты хотел? Так вот за 2мс, при нормальном коде, уже успевает сформироваться ответный пакет данных + выполниться действия, заложенные в пакете. Ртос же только начнет смотреть,что же там пришло. И смысл?

Share this post


Link to post
Share on other sites

если бы ртос была не полезна, ее бы не придумывали. Мне лично нравится писать под ось. Очень экономит время. А на счет ресурсов - очередные бредни фанатиков. Прерывания работают ровно с той же скоростью и мифические отклики на пакеты не менее резво. Все что делает ртос - как правило отвечает за обработку уже поступивших данных и интерфейс.

Нет нормального опыта работы и понимания смысла инструмента, так хоть не комментировал бы

Edited by mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Share this post


Link to post
Share on other sites
8 минут назад, mail_robot сказал:

если бы ртос была не полезна, ее бы не придумывали.

Скажи еще тоже самое про HAL и SPL. Придумывают, потому что могут, а не потому, что оно полезное.

 

9 минут назад, mail_robot сказал:

Очень экономит время.

Тебе все экономит время, при этом на всех форумах у тебя репутация говнокдера. Не находишь это странным? И что ты нам на ртос пишешь? Мигаешь диодами и щелкаешь релюхами? Так ртос для этого не нужен.

 

9 минут назад, mail_robot сказал:

на счет ресурсов - очередные бредни фанатиков.

Бредишь пока что только ты.

 

10 минут назад, mail_robot сказал:

мифические отклики на пакеты не менее резво.

А как прерывания относятся к отклику на пакеты?

 

11 минут назад, mail_robot сказал:

Все что делает ртос - как правило отвечает за обработку уже поступивших данных и интерфейс.

Ну и нах она нужна тогда, если ровно тоже самое можно делать и без нее?

 

12 минут назад, mail_robot сказал:

Нет нормального опыта работы и понимания смысла инструмента, так хоть не комментировал бы

В отличии от тебя - есть. Поэтому я прекрасно понимаю, что ртос нифиг не уперлась в STM32. Все, что она дает - псевдопараллельность с бестолково огромными тайм слотами. Выигрыш при этом нулевой.

Share this post


Link to post
Share on other sites
Только что, Кот с ружьём сказал:

Чего ты хейтеришь RTOS?

Чего, чего я делаю? По русски изъясняйся.

 

Только что, Кот с ружьём сказал:

Свое мнение о нем пиши в другом месте. Например в ВК.

Тебя спросить забыл, где мне писать. Скорее ты отсюда вылетишь и пойдешь плакаться в ВК.

 

Только что, Кот с ружьём сказал:

говорить не буду

Еще бы. Они 100% настолько днищенские, что для них не то что ртос, для них STM32 даже не нужен. Ибо с твоими знаниями ты ничего сложного написать не смог бы.

 

Я вообще не могу понять, чего ты ждешь от ртос. Максимум, что она даст - твои задачи будут выполняться в строгом соответствии с приоритетом, что и самому можно без проблем сделать. ВСЕ. Никакой многопоточности у тебя как не было, так и не будет. Не умеет этого МК, хоть какую ОС на него накати, многопточности НЕ будет. Будет разделение процессов по времени. А нужна реальная многопоточность - ставь ПЛИС.

Share this post


Link to post
Share on other sites

Это правильно. Когда знания нулевые, лучше молчать. И ты явно не понимаешь разницу между полноценной ОС и ОС для МК. Так что учись писать нормальный код, тогда и ртос не понадобится.

Share this post


Link to post
Share on other sites

Какой ты интересный человек. Значит ты будешь на этом бабки зарабатывать, а учиться хочешь бесплатно? Ну тогда я хочу чтобы мне в магазинах еду на халяву давали. О, и бензин тоже на заправках:crazy:

Share this post


Link to post
Share on other sites

Фанатики такие фанатики )

54 минуты назад, BARS_ сказал:

на всех форумах у тебя репутация говнокдера

вот тут я тебя за язык то и поймал. Звиздунишко ты братец :bye:


Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Share this post


Link to post
Share on other sites
21 минуту назад, BARS_ сказал:

Значит ты будешь на этом бабки зарабатывать, а учиться хочешь бесплатно

бери все и не отдавай ничего

Share this post


Link to post
Share on other sites
Только что, mail_robot сказал:

фанатики

Если кто и фанатик, так ты. Сколько раз ты тут брызгал слюной, доказывая, что HAL и SPL манна небесная? Причем доводов в их пользу ровно ноль. Ты просто не можешь честно взять и сказать, что руки кривые и мозгов не хватает даташит прочесть. Ты эти любы используешь просто потому что. С ртос у тебя ровно такая же ситуация.

 

1 минуту назад, mail_robot сказал:

Звиздунишко ты братец

Серьезно? Прогуляемся по форумам? Можно начать с того же easyelectronics. Тебя там прям любят и совсем ссанными тапками не кидают:D Уже все давно увидели, что ты такое, мыша.

 

2 минуты назад, Кот с ружьём сказал:

бери все

Очень хреновый подход. 

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • Вам даже на другом сайте не ответили -уж очень спесыфическая МС
    • @Семён Лепило @Praktic спасибо, наконец-то дельные советы. А не пустая болтовня что была до... Ещё раз подтверждающая теорию, что пустые бидоны слишком громко звенят. Если вы знаете, то вы дали ответ. А если они не знают ответа, то будут миллионы "умных" комментариев типа "гугл знает", "зачем тебе это", "я бы купил" и т.п. всё но не по делу. И вообще кажется, что это отвечали боты форума. Уж слишком однообразно они отвечают. 
    • @oleg1ma На каком участке схемы показать? На выходе, где подключается АКБ "0".  @Ahneus Импульсы с TL есть, получается она живая, что и где еще можно проверить? Покажите пожалуйста на схеме, или типовой схеме, какой участок проверить!
    • к174ун7 или пятиножки, худа- муда, Никитин- бининин, .. не надо, это не сложно, это доступно единицам (из Гуру) идешь на помойку, откусываешь плату из телевизора, пилишь ИМС с пп и применяешь (на соплях)
    • Гальванически омедненая сталь.
    • Тут есть нюанс!! Ультразвуковой - это совсем не значит что бесшумный! "Суслика не видно, а он есть!!" (с) Действующий свисток Гальтона мы не слышим, а от него даже загорается бумага. С уважением, Сергей
    • Обороты считаются в МИНУТУ, а герцы - в СЕКУНДУ! Так что 11000/60=183 Гц. Тоже немало, но не супер-много.
×
×
  • Create New...