Небольшая программка для выполнения в памяти AT91SAM7SE512 (Keil, RealView) заливается с помощью интерфейса SAM-BA и запускается на выполнение (custom прошивальщик навешенной на микроконтроллер NAND Flash). При использовании стандартного startup.s кода после передачи управления этой програмке возврата к интерфейсу SAM-BЫ естественно не происходит. Использую упрощённый startup.s:
AREA reset, CODE, READONLY EXPORT __ENTRY __ENTRY InitReset ldr sp, = TOP_OF_MEMORY ; TOP_OF_MEMORY SETA 0x208000 stmfd sp!, {lr} IMPORT main bl main ldmia sp!, {r0}^ bx r0 END
В попытке собрать проект ассемблер выдаёт: forced user mode transfer with write-back to base (для строки ldmia sp!, {r0}^)
Собственно понять его (ассемблер) можно, но как собрать проект?
|