Адрес файла карты GCC для ISR отличается от значения памяти - PullRequest
0 голосов
/ 22 мая 2018

Адрес для ISR, показанного на карте GCC, равен 0x00001328.

.text.USART0_RX_IRQHandler
            0x00001328       0xe4 ./Source/interrupts_new.o
            0x00001328                USART0_RX_IRQHandler

Однако значение, фактически загруженное в вектор ISR при 0x0000006C, равно 0x00001329.

0x00000060 000012ED 00001301 00001315 00001329 í ...........) ...

Я впервые это заметил (или даже посмотрел).В порядке?Это проблема выравнивания или проблема большого пальца?

Спасибо.

1 Ответ

0 голосов
/ 22 мая 2018

Показывает ОК, что ISR использует набор команд THUMB.

Четные адреса - ARM, нечетные - THUMB.

Все правильно

Фактическая подпрограмма находится по адресу addr & 0xffffff0c - т.е. с обнулением последних двух битов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...