Цитата(Сергей Борщ @ Dec 16 2011, 09:57)

Спуститесь еще на уровень ниже. Поройдите по дизассемблированному коду и определите - на какой конкретно команде происходит прокол и что находится в используемых регистрах.
[тут ерунду написал, удалил]
В указанной вами строке используется чтение SCB->AIRCR, надо смотреть - действительно ли по этому адресу производится чтение и если нет - разбираться почему.
спустился ниже:
Код
123: tmppriority = (0x700 - ((SCB->AIRCR) & (uint32_t)0x700))>> 0x08;
0x08000568 4C1B LDR r4,[pc,#108] ; @0x080005D8 <- Вылетает здесь
0x0800056A 6824 LDR r4,[r4,#0x00]
0x0800056C F40464E0 AND r4,r4,#0x700
0x08000570 F5C464E0 RSB r4,r4,#0x700
0x08000574 EA4F2114 LSR r1,r4,#8