Написал функцию обновления firmware, и вот такая бяка приключилась:

Если в отладчике поставить брейк поинт на эту функцию и сделать Step over, то все проходит нормально, все заливается и работает на ура, но если отправить девайс в "свободный" полет, то при выполнении этой функции он сваливается в Data abort, в чем может быть проблема?
Прерывания вроде запрещены (у Advanced Interrupt Controller'а).


Update:

Вроде разобрался - вызов функции производился из флеша, а сама функция находилась в ОЗУ, при возврате, соответственно проц выпадал неизвестно куда smile.gif поставил ресет после завершения обновления.