ВОПРОС Перенос usb-cdc с stm32 на gd32

Dizzy

МЕСТНЫЙ
ПРОВЕРЕННЫЙ
Регистрация
03.02.2025
Сообщения
23
Реакции
14
Баллы
13
Город
Брест
Имя
Дмитрий
Собственно, уперся в сабж при переносе проекта из stm32 (cube) на GD32 (Platformio) и закопался на ровном месте. Конкретно взятый gd32, имеет почти полное соответствие по адресам, структурам и назначению регистров с stm32 в части usb. Есть незначительные отличия в тактировании, полный список отличий составлять было лень. В результате, проект завелся под gd32-spl, осталось только реализовать вкусные плюшки. У gd32 есть своя библиотека usb, представлена всего тремя пользовательскими функциями и кардинально отличается от аналогичной библиотеки stm. (в ардуиновском loop было бы вполне юзабельно)
Что делал:
1. Подключил библиотеки gd32 usbd, заглушил вызовы cdc_transmit_fs, подменил Init. Устройство подключается, определяется. Как быть дальше с таким куцым набором функций, выведенных наружу, при необходимости работать даже с CDC_SET_CONTROL_LINE_STATE, я не знаю.
2. Решил оставить все на stm библиотеках, но взять от HAL только минимально необходимое, соскладировав в отдельный файл. И снова фиаско. Зависимость от CMSIS+HAL такая, что их нужно втащить чуть ли не полностью, при этом нужно разруливать конфликты с GD32 CMSIS+SPL. Когда файл с HAL-функциями стал больше 2000 строк, а ошибок "inplicit declaration" перевалило за 2 сотни, от этой идеи пришлось отказаться.

Надеюсь, у кого-нибудь возникнет идея, как без титанических усилий достичь желаемого?
 
Сверху Снизу
Обнаружен блокировщик рекламы AdBlock

МЫ ДОГАДЫВАЕМСЯ, ЧТО РЕКЛАМА ВАС РАЗДРАЖАЕТ!

Конечно, Ваше программное обеспечение для блокировки рекламы отлично справляется с блокировкой рекламы на нашем сайте, но оно также блокирует полезные функции. Мы стараемся для Вас и не обязываем Вас донатить и скидывать денег на наши кошельки, чтобы пользоваться форумом, но реклама это единственное, что позволяет поддерживать проект и развивать его.

Спасибо за Ваше понимание!

Я отключил свой AdBlock    Нет, я не буду ничего отключать