Перейти к содержанию

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


Рекомендуемые сообщения

здравствуйте! пытаюсь запустить 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) непонятно. помогите пожалуйста

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

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

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

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

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

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

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

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

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

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

 

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

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

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

 

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

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

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

 

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

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

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

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

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

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

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

Ссылка на комментарий
Поделиться на другие сайты

Литиевые аккумуляторы EVE Energy и решения для управления перезаряжаемыми источниками тока (материалы вебинара)

Опубликованы материалы вебинара Компэл, посвященного литиевым аккумуляторам EVE Energy и решениям для управления перезаряжаемыми источниками тока.

На вебинаре мы представили информацию не только по линейкам аккумуляторной продукции EVE, но и по решениям для управления ею, что поможет рассмотреть эти ХИТ в качестве дополнительной альтернативы для уже выпускающихся изделий. Также рассмотрели нюансы работы с производителем и сервисы, предоставляемые Компэл по данной продукции. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

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

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

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

 

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

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

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

Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

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

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

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

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

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

 

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

Ссылка на комментарий
Поделиться на другие сайты

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

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

HAL от другого таймера работает

Изменено пользователем Стальной
Ссылка на комментарий
Поделиться на другие сайты

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

Изменено пользователем BARS_
Ссылка на комментарий
Поделиться на другие сайты

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

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

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

Изменено пользователем Стальной
Ссылка на комментарий
Поделиться на другие сайты

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 функция, работа которой по итогу все равно сведется к тупой записи в ровно в тот же регистр. Так в чем смысл? 

Ссылка на комментарий
Поделиться на другие сайты

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

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

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

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

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

А так?

да, так скачалось. только mx висит почему то на этом месте... что дома, что тут на работе. месяц назад ставил, и mx и ide1030530031_.png.0b7cdfa4c6f544878e2d22798458936d.png

Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

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

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

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

Ссылка на комментарий
Поделиться на другие сайты

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

 

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

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

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

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...