Index: firmware/source/sys_core.asm =================================================================== diff -u -rabb9687e52d9db5df1abe7626ba04a6d431ba823 -rdeef095c63fe86de42a7e052e1b9985b0118b02e --- firmware/source/sys_core.asm (.../sys_core.asm) (revision abb9687e52d9db5df1abe7626ba04a6d431ba823) +++ firmware/source/sys_core.asm (.../sys_core.asm) (revision deef095c63fe86de42a7e052e1b9985b0118b02e) @@ -134,7 +134,36 @@ .endasmfunc +;------------------------------------------------------------------------------- +; +; Copy the Flash API from flash to SRAM. +; + .def _copyAPI2RAM_ + .asmfunc + +_copyAPI2RAM_ + + .ref apiLoadStart +flash_load .word apiLoadStart + .ref apiRunStart +flash_run .word apiRunStart + .ref apiLoadSize +flash_size .word apiLoadSize + + ldr r0, flash_load + ldr r1, flash_run + ldr r2, flash_size + add r2, r1, r2 +copy_loop1: + ldr r3, [r0], #4 + str r3, [r1], #4 + cmp r1, r2 + blt copy_loop1 + bx lr + + .endasmfunc + ;------------------------------------------------------------------------------- ; Initialize Stack Pointers ; SourceId : CORE_SourceId_002