sundownhunter 0 21 августа, 2023 Опубликовано 21 августа, 2023 · Жалоба Еще один вопрос по PIC24. Есть проект бутлоадера, созданного на базе MCC 16-bit bootloader (чтобы не запариваться с линкером и так далее). Есть проект Application, в котором указано, что используется этот самый бутлоадер. И там и там используются прерывания UART1 RX. При переходе из Bootloader'а в приложение, прерывания, само собой не работают (срабатывают в бутлоадере, как я понимаю, потому что они жестко прописаны в ROM). Как заставить работать прерывания и там и там? Пробовал использовать альтернативную таблицу прерываний ( выставив необходимые биты согласно этому документу ), вкорячив в бутлоадере после инициализиции INTCON2bits.AIVTEN = 1; в бутлоадере _AltU1RXInterrupt вызывается, но при переходе в приложение и возврат на дефолтную таблицу (INTCON2bits.AIVTEN = 0) - в приложении Target Halted. Наоборот (в бутлоадере - дефолтная, в приложении - альтернативная) - тоже не работает. Как вообще использовать прерывания и там и там? Есть ли такая возможность? Подскажите \ посоветуйте \ может пример у кого есть ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kan35 7 1 сентября, 2023 Опубликовано 1 сентября, 2023 (изменено) · Жалоба Я не эксперт по PIC24 если что. Но наверное, стоит пере-проверить как отлинковываются прерывания в соответствие с установленным BSLIM... основное и дополнительно, чтобы были на своих местах. И я так понимаю, что это два разных проекта. И по моему опыту на PIC18 - в котором было только стирание памяти целиком в MPLAB, поэтому пришлось перед прошивкой делать слияние обоих hex файлов. А хотел как в STM32 - грузить по-очереди... То есть грузить по очереди бутлодер и приложение не получается в MPLAB для PIC18... Я к тому, что может быть что-то недопрошивается у Вас? Изменено 1 сентября, 2023 пользователем kan35 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться