};
static const uint8_t loader_code_stm32l[] = {
-
- /* based on openocd.git/contrib/loaders/flash/stm32lx.S
- r0, input, source addr
- r1, input, dest addr
- r2, input, word count
- r2, output, remaining word count
- */
-
- 0x00, 0xbf, // nop /* to make loader length % 4 = 0 */
- 0x04, 0xe0, // b test_done /* Go to compare */
- //write_word
- 0x04, 0x68, // ldr r4, [r0] /* Load one word from address in r0 */
- 0x0c, 0x60, // str r4, [r1] /* Store the word to address in r1 */
- 0x04, 0x30, // adds r0, #4 /* Increment r0 */
- 0x04, 0x31, // adds r1, #4 /* Increment r1 */
- 0x01, 0x3a, // subs r2, #1 /* Decrement r2 */
- //test_done:
- 0x00, 0x2a, // cmp r2, #0 /* Compare r2 to 0 */
- 0xf8, 0xd8, // bhi write_word /* Loop if above 0 */
- 0x00, 0xbe // bkpt #0x00 /* Set breakpoint to exit */
+ // flashloaders/stm32lx.s
+
+ 0x04, 0xe0, // b test_done ; Go to compare
+ // write_word:
+ 0x04, 0x68, // ldr r4, [r0] ; Load one word from address in r0
+ 0x0c, 0x60, // str r4, [r1] ; Store the word to address in r1
+ 0x04, 0x30, // adds r0, #4 ; Increment r0
+ 0x04, 0x31, // adds r1, #4 ; Increment r1
+ 0x01, 0x3a, // subs r2, #1 ; Decrement r2
+ // test_done:
+ 0x00, 0x2a, // cmp r2, #0 ; Compare r2 to 0
+ 0xf8, 0xd8, // bhi write_word ; Loop if above 0
+ 0x00, 0xbe, // bkpt #0x00 ; Set breakpoint to exit
+ 0x00, 0x00
};
static const uint8_t loader_code_stm32f4[] = {