Дмитрий Алексеев (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
как можно протестировать?
 
Михаил, добрый день. В документации по портированию freemodbus (https://github.com/cwalter-at/freemodbus/blob/master/doc/porting.dox) сказано, что для данной библиотеки от ОС требуется функция оповещения о событии: xMBPortEventInit, xMBPortEventPost, xMBPortEventGet.
В порте для freertos используется очередь сообщений длиной в 1 сообщение: https://github.com/cwalter-at/freemodbus/blob/master/demo/STR71X/port/portevent.c В случае FX-RTOS самым оптимальным для такого простого оповещения использовать семафор.
Тогда код должен быть примерно такой:
Код
#include "mb.h"
#include "mbport.h"

#include <FXRTOS.h>

fx_sem_t sem_event;

BOOL
xMBPortEventInit( void )
{
    int status = fx_sem_init(&sem_event, 0, 1, FX_SYNC_POLICY_FIFO);
    return (status == 0) ? TRUE : FALSE;
}

BOOL
xMBPortEventPost( eMBEventType eEvent )
{
    int status = fx_sem_post(&sem_event);
    return (status == 0) ? TRUE : FALSE;
}

BOOL
xMBPortEventGet( eMBEventType * eEvent )
{
    int status = fx_sem_timedwait(&sem_event, FX_THREAD_INFINITE_TIMEOUT);
    return (status == 0) ? TRUE : FALSE;
}

Обработчики прерываний UART и таймера остаются те же, но вызываются централизованного обработчика fx_intr_handler() (см. примеры)

Если у вас STM32F3, можно скачать пример для stm32f302, и адаптировать под вашу модель. Там есть пример использования прерывания.

https://github.com/Eremex/fxrtos-examples/releases/download/v0.1/fxrtos-st-stm32f302.zip

Примеры использования API:

https://github.com/Eremex/fxrtos-examples/blob/main/api

Руководства:

https://www.eremex.ru/products/fx-rtos/#database

FX-RTOS для Cortex-M0
 
Код
1. fx_app_timer забрал 0x694 байта! Как настроить, чтобы он меньше брал?
2. hal_intr_stack забрал 0x400 байт - Тоже можно уменьшить, и судя по названию, это стек для прерываний?
Размеры стеков прерываний и таймерного потока настраиваются при сборке libfxrtos.a из исходных текстов. В демо-версии изменение этих опций не предусмотрено.
Код
3. Использует FX-RTOS Heap? Может его вообще в 0 поставить?
Не использует, можно ставить в 0.
FX-RTOS для Cortex-M0
 
Сергей, здравствуйте.


Архив с библиотекой и заголовочным файлом: standard-cortex-m0-GNU-tools

Скоро мы выложим на сайте демо-проекты для плат с процессорами на cortex-m0.
Для STM32CubeIDE алгоритм добавления библиотеки FX-RTOS такой же как в других IDE:
  1. Скопировать фалы FXRTOS.h и libfxrtos.a в проект.

  2. Указать линковщику, откуда брать библиотеку (файл libfxrtos.a). В свойствах проекта открываем настройки компилятора:


Справа выбираем “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, она будет вызываться ядром ОС.
как можно протестировать?
 
Для знакомства с FX-RTOS доступны демо-версии, которые включают скомпилированную библиотеку и заголовочный файл ОС, демо-приложение (которое зависит от возможностей аппаратного обеспечения), а также сконфигурированный проект для использования с определенным инструментарием и оборудованием. Описание функций API и руководство пользователя представлены в разделе документации.

Последнюю версию инструментария GNU для платформы ARM можно скачать на сайте ARM.
стоимость лицензий
 
Цитата
alex_835 написал:
Актуальный прайс на FX-RTOS? на запрос прайса на http://fxrtos.ru не ответили
Уважаемый alex_835

Варианты лицензий и их стоимость можно запросить на странице:
https://www.eremex.ru/download-or-buy/#fx-rtos
Страницы: 1

Будьте в курсе новостей и спецпредложений

Авторизация
Чтобы продолжить покупку, пожалуйста, авторизируйтесь на сайте.
Забыли пароль?