Use RCC_CFGR_SW helper function to set software clock

This commit is contained in:
Alexander Heldt
2024-12-30 11:48:38 +01:00
parent 11f469564f
commit 3aad7271a1
6 changed files with 141 additions and 150 deletions

View File

@@ -195,29 +195,22 @@ system_clock_init:
ldr r3, [r3, #8]
ldr r2, .L5
.loc 1 68 40
bic r3, r3, #3
str r3, [r2, #8]
.loc 1 69 33
ldr r3, .L5
ldr r3, [r3, #8]
ldr r2, .L5
.loc 1 69 40
orr r3, r3, #2
str r3, [r2, #8]
.loc 1 73 9
.loc 1 72 9
nop
.L4:
.loc 1 73 42 discriminator 1
.loc 1 72 42 discriminator 1
ldr r3, .L5
ldr r3, [r3, #8]
.loc 1 73 49 discriminator 1
.loc 1 72 49 discriminator 1
lsrs r3, r3, #2
.loc 1 73 55 discriminator 1
.loc 1 72 55 discriminator 1
and r3, r3, #3
.loc 1 73 65 discriminator 1
.loc 1 72 65 discriminator 1
cmp r3, #2
bne .L4
.loc 1 74 1
.loc 1 73 1
nop
nop
mov sp, r7
@@ -246,7 +239,7 @@ system_clock_init:
.type main, %function
main:
.LFB1:
.loc 1 76 16
.loc 1 75 16
.cfi_startproc
@ args = 0, pretend = 0, frame = 8
@ frame_needed = 1, uses_anonymous_args = 0
@@ -258,56 +251,56 @@ main:
.cfi_def_cfa_offset 16
add r7, sp, #0
.cfi_def_cfa_register 7
.loc 1 77 3
.loc 1 76 3
bl system_clock_init
.loc 1 78 3
.loc 1 77 3
bl tim4_init
.loc 1 80 3
.loc 1 79 3
bl tim4_start
.loc 1 82 12
.loc 1 81 12
movw r3, #525
strh r3, [r7, #2] @ movhi
.loc 1 83 33
.loc 1 82 33
ldr r3, .L10
ldr r3, [r3, #48]
.loc 1 83 57
.loc 1 82 57
ldrh r2, [r7, #2]
lsrs r2, r2, #8
uxth r2, r2
mov r1, r2
.loc 1 83 49
.loc 1 82 49
movs r2, #1
lsls r2, r2, r1
mov r1, r2
.loc 1 83 33
.loc 1 82 33
ldr r2, .L10
.loc 1 83 43
.loc 1 82 43
orrs r3, r3, r1
str r3, [r2, #48]
.loc 1 84 3
.loc 1 83 3
ldrh r3, [r7, #2]
movs r1, #1
mov r0, r3
bl gpio_set_mode
.loc 1 86 54
.loc 1 85 54
ldr r3, .L10+4
ldr r3, [r3, #36]
.loc 1 86 12
.loc 1 85 12
strh r3, [r7, #6] @ movhi
.loc 1 87 7
.loc 1 86 7
movs r3, #0
strb r3, [r7, #5]
.L9:
.loc 1 89 39
.loc 1 88 39
ldr r3, .L10+4
ldr r2, [r3, #36]
.loc 1 89 45
.loc 1 88 45
ldrh r3, [r7, #6]
subs r3, r2, r3
.loc 1 89 5
.loc 1 88 5
cmp r3, #249
bls .L9
.loc 1 90 3
.loc 1 89 3
ldrb r3, [r7, #5] @ zero_extendqisi2
cmp r3, #0
ite ne
@@ -316,23 +309,23 @@ main:
uxtb r3, r3
eor r3, r3, #1
uxtb r3, r3
.loc 1 90 10
.loc 1 89 10
strb r3, [r7, #5]
ldrb r3, [r7, #5]
and r3, r3, #1
strb r3, [r7, #5]
.loc 1 91 3
.loc 1 90 3
ldrb r2, [r7, #5] @ zero_extendqisi2
ldrh r3, [r7, #2]
mov r1, r2
mov r0, r3
bl gpio_write
.loc 1 93 45
.loc 1 92 45
ldr r3, .L10+4
ldr r3, [r3, #36]
.loc 1 93 11
.loc 1 92 11
strh r3, [r7, #6] @ movhi
.loc 1 89 5
.loc 1 88 5
b .L9
.L11:
.align 2
@@ -860,7 +853,7 @@ main:
.uleb128 0x12
.4byte .LASF1005
.byte 0x1
.byte 0x4c
.byte 0x4b
.byte 0x5
.4byte 0x7a
.4byte .LFB1
@@ -871,7 +864,7 @@ main:
.uleb128 0x13
.ascii "led\000"
.byte 0x1
.byte 0x52
.byte 0x51
.byte 0xc
.4byte 0x88
.uleb128 0x2
@@ -879,7 +872,7 @@ main:
.sleb128 -14
.uleb128 0xc
.4byte .LASF1000
.byte 0x56
.byte 0x55
.byte 0xc
.4byte 0x88
.uleb128 0x2
@@ -887,7 +880,7 @@ main:
.sleb128 -10
.uleb128 0xc
.4byte .LASF1001
.byte 0x57
.byte 0x56
.byte 0x7
.4byte 0x3cd
.uleb128 0x2