FX-RTOS для Cortex-M0
25.12.2019 13:13:29
В примерах есть FX-RTOS для Cortex-M3 и Cortex-M4.
Где взять библиотеку libfxrtos.a для Cortex-M0? Нужна библиотека под GCC для STM32CubeIDE. |
|
|
|
26.12.2019 14:22:12
Сергей, здравствуйте.
Архив с библиотекой и заголовочным файлом: Скоро мы выложим на сайте демо-проекты для плат с процессорами на cortex-m0. Для STM32CubeIDE алгоритм добавления библиотеки FX-RTOS такой же как в других IDE:
Справа выбираем “C/C++ Build” затем, “Settings” и на закладке “Tool Settings” переходим в “MCU GCC Linker”/”Libraries”. Так как ОСРВ нужна во всех конфигурациях Release и Debug, то нужно указать для какой конфигурации меняем настройки - [ All configurations ] Добавляем библиотеку в окне “Additional object files”. Путь к библиотеке укажем относительно расположения рабочего пространства (Workspace): Далее подставить startup.s системные обработчики PendSV_Handler и SysTick_Handler, и описать fx_intr_handler для пользовательских прерыванийЧтобы запустилась ОС, нужно добавить вызов функции fx_kernel_entry() в main() после инициализации контроллера. Первая пользовательская функция fx_app_init должна быть описана в main.c, она будет вызываться ядром ОС. |
|
|
|
26.12.2019 15:49:21
Дмитрий Алексеев, спасибо!
Почти заработало, но в STM32F030C6 (4k RAM) не влезает... Сделал пустой проект библиотеки LL (не HAL): Потом подключил FX-RTOS (без тасков) - получил ошибку, типа не хватает памяти RAM: Не хватает 624 байта! Уменьшил стек, т.к. у тасков он свой будет: Тут вопрос - на сколько можно уменьшить эти значения? В итоге, влезло, но совсем впритык: Как-то много памяти забрала ось - посмотрел, мап-файл и возникло ещё несколько вопросов: 1. fx_app_timer забрал 0x694 байта! Как настроить, чтобы он меньше брал? 2. hal_intr_stack забрал 0x400 байт - Тоже можно уменьшить, и судя по названию, это стек для прерываний? И как уменьшить? 3. Использует FX-RTOS Heap? Может его вообще в 0 поставить? |
|
|
|
Читают тему