, если вы посмотрите на ARM ARM (Справочное руководство по архитектуре ARM, просто google "arm arm"), Модель программистов -> Режимы процессора и Регистры. Находясь в режиме прерывания, вы получаете привилегию, так что вы можете переключиться с режима отмены на супервизор, а затем сделать копию r13, затем вернуться в режим прерывания и сбросить стек из копии r13. Ваш r14 также сообщает вам, где произошел прерывание.
Я бы не удивился, если бы этот прерывание было из-за выравнивания. Попытка чтения / записи слова с адресом с чем-то отличным от нулей в младших двух битах или полусловом с lsbit набора адресов. На самом деле, если вы берете регистр связи и дамп регистров (r0-r12), так как прерывание и пользователь / супервизор используют одно и то же пространство регистров, вы можете посмотреть на инструкцию, которая вызвала прерывание, и адрес, чтобы увидеть, действительно ли это было проблема выравнивания или что-то еще. Обратите внимание, что на ПК впереди одна, две или три инструкции, в зависимости от режима большого пальца или руки, в которой произошел прерывание, если вы вообще не используете большой палец, то об этом не о чем беспокоиться.