Маршрутизатор данных между узлами, настроенными на разные интерфейсы. Самостоятельный embedded‑проект. Предназначен для сборки в IAR EWARM без наличия аппаратуры. Все аппаратно‑зависимые части вынесены в заглушки.
App/— минимальныйmain.cиsystem_stm32g4xx.c.Common/— все модули из общего каталога (TransparentChannel, TransportProtocol, Interfaces, lib, Sys).Config/— сетевые настройки (TcConf.h) и конфигурация CAN FD (canfd_conf.h).Platform/— заглушки HAL и CAN FD (hal_stub.*,canfd_stub.*).EWARM/— проект IAR (workspace и настройки линкера/стартапа).External/SEGGER_RTT/— место для исходников SEGGER RTT.
- IAR Embedded Workbench for ARM.
- SEGGER RTT как внешняя зависимость (исходники разместить в
External/SEGGER_RTT). - HAL — опционально (по умолчанию используются заглушки).
- Откройте
EWARM/Project.eww. - Убедитесь, что добавлены исходники SEGGER RTT (или поправьте пути в настройках проекта).
- Соберите проект.
- Workspace:
EWARM/Project.eww - Проект:
EWARM/DebugCore_Common_Embedded_IAR.ewp
Проект по умолчанию использует:
- заглушки HAL (
Platform/hal_stub.*), - заглушки CAN FD (
Platform/canfd_stub.*).
Это позволяет собирать проект без реального железа и драйверов.
Файл Config/TcConf.h задаёт:
- ID узла,
- диапазоны CobID,
- лимиты на количество соединений и устройств,
- максимальный размер пакета.
Если нужно подключить реальные драйверы:
- добавьте HAL в проект и определите
USE_HAL_DRIVER, - замените заглушки CAN FD на реальные драйверы и адаптируйте
InterfaceCanFd.*.
- Проект рассчитан на STM32G474 (наследовано из исходной конфигурации). При смене MCU обновите стартап и линкер‑скрипты в
EWARM/. - SEGGER RTT в репозиторий не включён — добавляется отдельно.