Jump to content

freeRTOS, не получается скомпилировать пустой код.


Recommended Posts

здравствуйте! пытаюсь запустить freeRTOS на чипе F105RBT6 и плате нуклео H743ZI2. собираю как делают чуваки с ютуба: в middlewire ставлю CMSIS v.1 или v.2 (по-разному пробовал), systick меняю на любой другой таймер, из GPIO выбираю 1-2 ноги (чтоб запустить 2 блинка параллельно и потестить), пробовал эту штуку -> USE_NEWLIB_REENTRANT ставить в энейбл/дисейбл. собирается код, а когда его компилирую вываливаются такие ошибки.
567589385_.png.b40a092c27f6a0819187fe9de298d364.png
на сайте freertos.org можно скачать zip-архив со всякими штуками, но куда их пихать (и надо ли это для cube IDE) непонятно. помогите пожалуйста

Link to comment
Share on other sites

9 часов назад, Стальной сказал:

Русских букв нет в путях к файлам?

Можно проект выгрузить сюда?

RTOS.zip
Не, русских нет. Проходили уже, при первоначальном освоении куба, все снес и специально поставил в самый корень)
C:\ST\STM32CubeIDE_1.9.0\PROJECTS\RTOS
Есть еще тут
C:\Users\Я\.stm32cubeide\.eclipse.mx\.log.txt
По этому пути есть буква "Я", но там тхт-файлы, не системные. По всему остальному функционалу куба жаловаться не на что - прогает без проблем.

Link to comment
Share on other sites

LED-драйверы MEAN WELL – выбор больше, стоимость ниже

Компэл расширил и существенно пополнил склад LED-драйверами компании MEAN WELL, одновременно снизив цену на них. В настоящий момент на складе представлена широкая линейка продукции для наружного (семейства HLG, ELG, XLG, LPC, LPV), и для внутреннего (APC, LCM, SLD, APV) освещения.

Имеется большой выбор моделей с различными режимами стабилизации выходных параметров. Кроме того, есть в наличии и линейка DC/DC-драйверов, как понижающих (семейство LDD), так и повышающих (семейство LDH).

Подробнее>>

Самый просто способ все скомпилить - выкинуть нафиг убожество под названием куб и поставить Keil или VisualStudio. Кроме этого никогда не использовать HAL и SPL. Сразу после этого все проблемы с компиляцией пропадут.

12 часов назад, Андрей Гараж сказал:

systick меняю на любой другой таймер

Чта? Он должен висеть строго на одном таймере, а именно SysTick.

 

12 часов назад, Андрей Гараж сказал:

вываливаются такие ошибки.

Ну так там написано чего не хватает. В чем проблема?

 

12 часов назад, Андрей Гараж сказал:

можно скачать zip-архив со всякими штуками, но куда их пихать

А прочесть инструкцию, которых в инете пруд пруди религия не позволяет? Или лень?

 

12 часов назад, Андрей Гараж сказал:

чуваки с ютуба

Учиться по ютьюбу самое худшее, что можно придумать...

Link to comment
Share on other sites

Литиевые батарейки FANSO в беспроводных датчиках

Литиевые батарейки различного химического состава и разных типоразмеров широко используются в беспроводных датчиках систем сбора данных, промышленной автоматики и систем умного дома. Широкий спектр таких батареек производит не прекратившая поставки в Россию китайская компания Fanso, входящая во всемирно известный концерн по производству электрохимических элементов питания EVE.

Читать подробнее >>

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

Ну так там написано чего не хватает. В чем проблема?

там написано, и даже создается папка middleware, в которой есть эти файлы. но почему он их не подхватывает, если сам же и создает? да и если по очереди, включать каждую папку из этой папки в проект принудительно (ПКМ -> Add/remove include path) в итоге вываливается в ошибку, что компилятор не понимает что такое osDelay();
 

Link to comment
Share on other sites

Широкий выбор продукции MEAN WELL для промавтоматики на складе КОМПЭЛ

Компания КОМПЭЛ наращивает объем поставок источников питания MEAN WELL для промышленной автоматизации. Компания MEAN WELL не планирует уходить с рынка РФ, а ее продукция широко применяется в сфере промавтоматики (монтаж на DIN-рейку) и рекомендована в качестве замены других брендов и для применения в новых разработках.

Представляем ассортимент продукции MEAN WELL на складе КОМПЭЛ для надежного и бесперебойного электропитания устройств промавтоматики.

Подробнее>>

12 минут назад, Андрей Гараж сказал:

компилятор не понимает что такое osDelay();

Я же говорю, выкинь нафиг куб и все эти бестолковые прослойки типа cmsis_os. Нафиг они там нужны? Чтобы вместо vTaskDelay() писать osDelay? И смысл? Лишнее время тратить на вызов лишней функции-оболочки? Тем более в документации на RTOS будет описание родных функций ОС, без всяких прослоек.

 

14 минут назад, Андрей Гараж сказал:

но почему он их не подхватывает, если сам же и создает?

Да по тому, что это Eclipse, а он кривой.

Link to comment
Share on other sites

Мощный универсальный неизолированный стабилизатор MORNSUN

Компания MORNSUN разработала универсальный понижающе-повышающий неизолированный стабилизатор (DC/DC-преобразователь) с выходным током до 10 А — KUB4836EB-10A. Этот стабилизатор можно использовать при входном напряжении в диапазоне 9…60 В (питающие шины с номинальным значением напряжения 12/24/48 В), а выходное напряжение можно подстраивать в диапазоне от 0 до 60 В. Преобразователь выполнен в корпусе 1/8 Brick с возможностью установки на печатную плату, имеется разновидность для монтажа на шасси — KUB4836EBF-10A.

Читать подробнее >>

43 минуты назад, Alex сказал:

В настройках проекта нужно прописывать пути к хидерам и сорсам.

Куб сам настраивает

1 час назад, BARS_ сказал:

Он должен висеть строго на одном таймере, а именно SysTick.

 

Нет, если работает freertos

Link to comment
Share on other sites

Только что, Стальной сказал:

Нет, если работает freertos

Ээээ, freertos должен тактироваться от SysTick

Link to comment
Share on other sites

HAL ни от чего не работает. Это тупой набор оберток на стандартными регистрами. Бессмысленный и беспощадный. Да, он там дает что-то вроде _delay_ms(), что в RTOS вообще не нужно.

Edited by BARS_
Link to comment
Share on other sites

@BARS_ Нет, таймер нужен, по нему считаются задержки. И он не такой уж и бессмысленный, если им правильно пользоваться.298239249_.thumb.jpg.0dffe46b2ebdd514c03d9de1dba7ba96.jpg

@Андрей Гараж  вот чистый проект, есть файлы под CubeIDE и IAR. Я проверил в  IAR, собирается.

https://disk.yandex.ru/d/ewdoqTdoNSHT7Q

Edited by Стальной
Link to comment
Share on other sites

2 минуты назад, Стальной сказал:

Нет, таймер нужен, по нему считаются задержки.

Для RTOS они НЕ нужны. У RTOS для этого есть vTaskDelay() и свой системный таймер.

 

3 минуты назад, Стальной сказал:

И он не такой уж и бессмысленный

Более чем бессмысленный. Из минусов

  1. Огромная куча лишнего кода большая часть которого тупо проверяет, а туда ли программист пытается поставить бит.
  2. Огромная куча лишних файлов.
  3. Малейшее отсутствие возможности проверить настройки регистров по даташиту.
  4. Огромная куча лишнего когда при настройке периферии. Например, вот так выглядит настройка целого порта без HAL:
	GPIOB->MODER = 1<<30 | 1<<28 | 1<<26 | 1<<24 | 1<<22 | 1<<18 | 1<<16 | 1<<10 | 1<<8 | 1<<6 | 1<<2 | 1<<0;

Одна строка кода. И еще по одной на OTYPER и OSPEEDR. А HAL сколько страниц кода на этой займет? Аналогично в 3-5 строк настраивается большая часть интерфейсов. Плюс в HAL и SPL полно багов. А главное, на настройке МК вся работа HAL заканчивается. Ибо с интерфейсами он работает медленно, т.к. та же отправка через UART в виде простой записи в регистр USART1->DR выполнится на порядок быстрее, чем огромная HAL функция, работа которой по итогу все равно сведется к тупой записи в ровно в тот же регистр. Так в чем смысл? 

Link to comment
Share on other sites

6 минут назад, Стальной сказал:

не используйте функции HAL в этом месте

Тогда смысл его вообще использовать? Настроить железо без него быстрее и выглядит код читабельнее и информативнее. Быстро работать HAL тоже не умеет. Так в чем смысл?

Link to comment
Share on other sites

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

Link to comment
Share on other sites

Я вот что-то никак не пойму зачем вы полезли в такую сложную вещь, как RTOS не умея элементарно обращаться с IDE? Ну начните вы с простых проектов. Поставьте VisualStudio, там конструктор кода лучше работает. Что вы вцепились в этот калокуб?

Link to comment
Share on other sites

38 минут назад, Стальной сказал:

Я собирал в версии 5 6 1

тоже думал про версии, но пробовал экспортировать ваш проект и в том виде как есть и с пересборкой под мою 6ю версию. все равно виснет на coping library files. попробовал сейчас собрать другой проект, новый и без FreeRTOS, сборка завершается нормально.
может конечно я усложняю, но вдруг mx что то пытается подскачать? у "парней с ютуба" это происходит неявно, потому они об этом и не говорят. но сам куб ide и мх я скачивал через браузерный vpn, тк st-шники заблокировали российские ip в связи с "событиями" (выводится сообщение что файлы не доступны). а на самом компе vpn-а нет, вот mx и ide не могут достучаться куда надо.

Link to comment
Share on other sites

Мыши плакали, кололись, но продолжали жрать кактус. Ну-ну.

 

3 минуты назад, Андрей Гараж сказал:

тк st-шники заблокировали российские ip в связи с "событиями"

Мммм, отличная идея попользоваться глючным, наполовину заблоченным г..ом. И только по тому, что какой-то идиот с ютьюба тоже его использует. В то время как тот же VisualStudio ничем не заблокирован, имеет интеграцию с калокубом и прекрасно генерит проекты с HAL и прочим шлаком. Но для него нет стада макак с ютьюба, придется самому думать и кнопочки нажимать. Плюс сейчас все идет к тому, что вместо STM будем юзать китайские МК, а там калокубов. HAL и прочей шляпы и близко нет. И начнется кризис среди неокрепших умов "программистов", не умеющих настраивать МК по даташиту...

Link to comment
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
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
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...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...