здравствуйте! пытаюсь запустить freeRTOS на чипе F105RBT6 и плате нуклео H743ZI2. собираю как делают чуваки с ютуба: в middlewire ставлю CMSIS v.1 или v.2 (по-разному пробовал), systick меняю на любой другой таймер, из GPIO выбираю 1-2 ноги (чтоб запустить 2 блинка параллельно и потестить), пробовал эту штуку -> USE_NEWLIB_REENTRANT ставить в энейбл/дисейбл. собирается код, а когда его компилирую вываливаются такие ошибки.
на сайте freertos.org можно скачать zip-архив со всякими штуками, но куда их пихать (и надо ли это для cube IDE) непонятно. помогите пожалуйста
Добрый вечер! А можете проект выложить?
@aveal Отправил на почту. Вы уже кому-то помогли с похожей проблемой, там ваш адрес был)
@andrej-garazh да, точно, прошу прощения)
Я поменял на v2 и путь добавил в "Include paths" - "../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F"
@aveal да вроде тоже самое сделал. хедеры находит, но при этом ругается на osDelay() и прочие ф-ции, которых в пустом коде и так немного, но и их не признает. (я так понял)
@aveal да, сейчас создал совсем новый проект. на CMSIS v.2, протыкал все сгенерированные папочки с РТОСом правой кнопкой мыши и нажал "add/remove include path...". такая же картина - не видит osDelay(). 😫
@andrej-garazh странно, у меня собралось, в main.c cmsis_os.h по идее подключается, далее cmsis_os2.h, а там уже osDelay(). Вот пути на всякий случай, но я только тот добавлял руками:
@aveal блин... изначально я добавлял все вот таким образом
они появлялись вот тут
теперь я думаю что делал не совсем так как надо. нужно ему прямо тут, в компилятор прописать? если только эту строку добавить, то нифига не собирается. опять ругается на "FreeRTOS.h: No such file or directory". Добавил сюда все папки из "Middlewires". Результат такой:
что я не так делаю? в видосах с ютуба никто дополнительно ничего не прописывал))
я его все таки задолбал! подключая и удаляя папки (в какой то момент даже рандомно), начал замечать что количество ошибок после компиляции меняется. стал думать и убивать их по очереди. видно я переборщил и указал в include paths больше чем надо, тк стал ругаться на множественные определения некоторых ф-ций. удалил общий для них файл в core/src/system_stm32xx.c (или как то так он назывался). оставались ошибки про osDelay() oskernelstart(), тогда просто добавил сюда
всю папку целиком и все скомпилилось без ошибок.
потом пересобрал проект добавив еще 2 taskа (пришлось снова удалить core/src/system_stm32xx.c, т.к. он появился) и удалось поморгать 3мя диодами с разной частотой. у меня на это ушло 3 суток 😶
и теперь появился вопрос, что же я сделал ТАК?)
Можно попробовать прямо с нуля еще раз создать проект, вообще вручную ничего не добавлять только через CubeMx и посмотреть, что будет)
попробовал, все так же висит на этом моменте(
не понимаю что ему еще надо, все пакеты какие надо установлены (вроде)