Имейте в виду, до меня человек спрашивал. Я, к сожалению, не совсем понял вопроса, поэтому не могу ответить.
Cortex M3, gcc, С++.
Сразу уточню, что проект рабочий, все отлично работает.
Хочу в прерываниях использовать вызовы к статическим методам и прочее подобное типа Device::isCh1Powered().
Обработчики пишу на C++, соответственно без extern "C".
Беру и в таблицу векторов прерываний записываю замангленные имена обработчиков.
Чую, все может слететь при смене тулчейна, например. И вообще может есть более элегантное решение?
Чуть менее эффективно, но более надежно - написать wrapper на C, который только и делает, что вызывает статический C++ метод. А в таблицу векторов уже прописать адрес этого wrapper'а.
Спасибо. Подумаю над этим.
Где-то находил решение и оно было очень простое. Кажется, там было достаточно в s файле прописать Devicd::isChPowered
Обсуждают сегодня