Добрый день.
Имеется проект (LPC1820), в котором код разбит на две части: ядро и пользовательская программа. Эти части о существовании друг-друга "не знают",
компилируются и загружаются в флеш-память независимо друг от друга.
С железом МК работает исключительно ядро, а пользовательская программа общается с ядром через вызовы SVI.
С внешним миром устройство общается по USB:
1. MSC-класс работает с NAND напрямую из прерываний USB
2. Custom-класс передает данные между ПК и устройством. Для этого обработчик прерывания вызывает подпрограмму из пользовательского кода
(она расположена по фиксированному адресу). Все это реализуется через подмену стекового фрейма при выходе из прерывания.
Мне нужно исправить один баг в ядре - MSC не работает с транзакциями 512 байт. Возникли сомнения, что смогу вставить в этот винегрет "проверенный" USB-стек, поэтому вопрос: можно ли реализовать подобную функциональность более человечески (на более-менее распространенной оси или еще как-нибудь)?
Спасибо