Disassembled binary SDK output, direct from xtobjdis with a couple of tweaks
Tweaks to xtobjdis are hg-git sha 6da80c11f Everything works except for wpa_auth.o & phy_chip_v6_ana.o disassemble with some functions not correctly detected.
This commit is contained in:
parent
419f252d80
commit
a9e3928c8d
77 changed files with 73774 additions and 0 deletions
587
binary_sdk/libmain/ets_timer.S
Normal file
587
binary_sdk/libmain/ets_timer.S
Normal file
|
@ -0,0 +1,587 @@
|
|||
|
||||
.section .text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
|
||||
# Function @ .text+0x4
|
||||
.Lfunc001: movi a5, .Ldata001 # 4: 51ffff
|
||||
l8ui a2, a5, 0 /* [.Ldata001] */ # 7: 220500
|
||||
addi a3, a5, 32 /* .bss+0x20 */ # a: 32c520
|
||||
addi a2, a2, 1 /* [.Ldata001]+0x1 */ # d: 1b22
|
||||
extui a2, a2, 0, 8 # f: 202074
|
||||
bltui a2, 5, .Lbr001 # 12: b65208
|
||||
addi a3, a2, -1 # 15: 0b32
|
||||
s8i a3, a5, 0 /* a3 -> [.Ldata001] */ # 17: 324500
|
||||
movi a2, 0 /* 0x00000000 */ # 1a: 0c02
|
||||
ret /* 0x00000000 */ # 1c: 0df0
|
||||
.Lbr001: s8i a2, a5, 0 /* a2 -> [.Ldata001] */ # 1e: 224500
|
||||
l8ui a2, a5, 1 /* [.Ldata002] */ # 21: 220501
|
||||
addi a4, a2, 1 /* [.Ldata002]+0x1 */ # 24: 1b42
|
||||
addx8 a2, a2, a3 # 26: 3022b0
|
||||
extui a4, a4, 0, 8 # 29: 404074
|
||||
bltui a4, 4, .Lbr002 # 2c: b64401
|
||||
movi a4, 0 /* 0x00000000 */ # 2f: 0c04
|
||||
.Lbr002: s8i a4, a5, 1 /* a4 -> [.Ldata002] */ # 31: 424501
|
||||
ret # 34: 0df0
|
||||
|
||||
.literal_position # 38: 24000000
|
||||
# 3c: 00000000
|
||||
# 40: 30000000
|
||||
# 44: 00000000
|
||||
# 48: 00000000
|
||||
# 4c: 00000000
|
||||
# 50: 00000000
|
||||
|
||||
# Function @ .text+0x54
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.Lfunc002: addi sp, sp, -16 /* (local0) */ # 54: 12c1f0
|
||||
s32i a0, sp, 8 /* a0 -> [(local2)] */ # 57: 0921
|
||||
call0 .Lfunc001 # 59: 85faff
|
||||
s32i a2, sp, 0 /* a2 -> [(local0)] */ # 5c: 2901
|
||||
bnez a2, .Lbr003 # 5e: cca2
|
||||
movi a2, .Lstr004 # 60: 21f6ff
|
||||
call0 printf # 63: 01f8ffc0
|
||||
# 67: 0000
|
||||
j .Lbr005 # 69: 060b00
|
||||
.Lbr003: mov a3, sp /* (local0) */ # 6c: 3d01
|
||||
addi a4, sp, 4 /* (local1) */ # 6e: 4b41
|
||||
movi a5, 0 /* 0x00000000 */ # 70: 0c05
|
||||
s32i a5, a2, 0 # 72: 5902
|
||||
movi a2, .Ldata001 # 74: 21f2ff
|
||||
s32i a5, sp, 4 /* 0x00000000 -> [(local1)] */ # 77: 5911
|
||||
l32i a2, a2, 16 /* [.Ldata004] */ # 79: 2842
|
||||
call0 xQueueGenericSendFromISR # 7b: 01f3ffc0
|
||||
# 7f: 0000
|
||||
mov a3, a2 # 81: 3d02
|
||||
beqi a2, 1, .Lbr004 # 83: 261208
|
||||
movi a2, .Lstr005 # 86: 21eeff
|
||||
call0 printf # 89: 01f0ffc0
|
||||
# 8d: 0000
|
||||
.Lbr004: l32i a3, sp, 4 /* [(local1)] */ # 8f: 3811
|
||||
beqz a3, .Lbr005 # 91: 8c43
|
||||
call0 vTaskSwitchContext # 93: 01efffc0
|
||||
# 97: 0000
|
||||
.Lbr005: l32i a0, sp, 8 /* [(local2)] */ # 99: 0821
|
||||
addi sp, sp, 16 /* (top of frame) */ # 9b: 12c110
|
||||
ret # 9e: 0df0
|
||||
|
||||
.section .bss, "aw", @nobits
|
||||
|
||||
.Ldata001: .byte 0x00
|
||||
.Ldata002: .byte 0x00
|
||||
.byte 0x00, 0x00
|
||||
.Ldata003: .word 0x00000000 # 4: 00000000
|
||||
.global sdk_debug_timer
|
||||
.type sdk_debug_timer, @object
|
||||
sdk_debug_timer:
|
||||
.word 0x00000000 # 8: 00000000
|
||||
.global sdk_debug_timerfn
|
||||
.type sdk_debug_timerfn, @object
|
||||
sdk_debug_timerfn:
|
||||
.word 0x00000000 # c: 00000000
|
||||
.Ldata004: .word 0x00000000 # 10: 00000000
|
||||
.space 44
|
||||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
# 4: 00000000
|
||||
# 8: 00000000
|
||||
|
||||
# Function @ .irom0.text+0xc
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.Lfunc003: addi sp, sp, -16 /* (local0) */ # c: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # f: 0901
|
||||
call0 vPortEnterCritical # 11: 01fcffc0
|
||||
# 15: 0000
|
||||
movi a2, .Ldata001 # 17: 21faff
|
||||
l8ui a0, a2, 0 /* [.Ldata001] */ # 1a: 020200
|
||||
addi a0, a0, -1 /* [.Ldata001]-0x1 */ # 1d: 0b00
|
||||
s8i a0, a2, 0 /* [.Ldata001]-0x1 -> [.Ldata001] */ # 1f: 024200
|
||||
call0 vPortExitCritical # 22: 01f9ffc0
|
||||
# 26: 0000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 28: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 2a: 12c110
|
||||
ret # 2d: 0df0
|
||||
|
||||
.literal_position # 30: 00060060
|
||||
|
||||
# Function @ .irom0.text+0x34
|
||||
.Lfunc004: movi a3, 0x60000600 # 34: 31ffff
|
||||
memw # 37: c02000
|
||||
s32i a2, a3, 48 /* arg0 -> [0x60000630] */ # 3a: 29c3
|
||||
ret /* arg0 */ # 3c: 0df0
|
||||
|
||||
.literal_position # 40: 00060060
|
||||
|
||||
# Function @ .irom0.text+0x44
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.Lfunc005: addi sp, sp, -16 /* (local0) */ # 44: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 47: 0901
|
||||
movi a4, 0x60000600 # 49: 41fdff
|
||||
memw # 4c: c02000
|
||||
l32i a4, a4, 36 /* [0x60000624] */ # 4f: 4894
|
||||
sub a0, a2, a4 # 51: 4002c0
|
||||
addi a3, a0, -40 # 54: 32c0d8
|
||||
bgei a3, 1, .Lbr007 # 57: e61314
|
||||
bgei a0, 1, .Lbr006 # 5a: e61008
|
||||
addi a2, a4, 40 /* [0x60000624]+0x28 */ # 5d: 22c428
|
||||
call0 .Lfunc004 # 60: 05fdff
|
||||
j .Lbr008 # 63: c60200
|
||||
.Lbr006: addi a2, a2, 44 /* arg0+0x2c */ # 66: 22c22c
|
||||
call0 .Lfunc004 # 69: 85fcff
|
||||
j .Lbr008 # 6c: 860000
|
||||
.Lbr007: call0 .Lfunc004 # 6f: 45fcff
|
||||
.Lbr008: l32i a0, sp, 0 /* [(local0)] */ # 72: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 74: 12c110
|
||||
ret # 77: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x7c
|
||||
.global sdk_ets_timer_setfn
|
||||
.type sdk_ets_timer_setfn, @function
|
||||
sdk_ets_timer_setfn:
|
||||
s32i a3, a2, 16 /* arg1 -> [arg0+0x10] */ # 7c: 3942
|
||||
s32i a4, a2, 24 /* arg2 -> [arg0+0x18] */ # 7e: 4962
|
||||
movi a5, -1 /* 0xffffffff */ # 80: 7cf5
|
||||
movi a6, 0 /* 0x00000000 */ # 82: 0c06
|
||||
s32i a6, a2, 8 /* 0x00000000 -> [arg0+0x8] */ # 84: 6922
|
||||
s32i a6, a2, 12 /* 0x00000000 -> [arg0+0xc] */ # 86: 6932
|
||||
s32i a5, a2, 0 /* 0xffffffff -> [arg0] */ # 88: 5902
|
||||
ret /* arg0 */ # 8a: 0df0
|
||||
|
||||
.literal_position # 8c: 00000000
|
||||
# 90: 00000000
|
||||
# 94: 08000000
|
||||
# 98: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x9c
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.Lfunc006: addi sp, sp, -16 /* (local0) */ # 9c: 12c1f0
|
||||
movi a6, .Ldata001 # 9f: 61fbff
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # a2: 0911
|
||||
l32i a0, a6, 4 /* [.Ldata003] */ # a4: 0816
|
||||
movi a5, 0 /* 0x00000000 */ # a6: 0c05
|
||||
beqz a0, .Lbr010 # a8: 9c00
|
||||
.Lbr009: l32i a4, a0, 8 # aa: 4820
|
||||
sub a4, a2, a4 # ac: 4042c0
|
||||
blti a4, 1, .Lbr011 # af: a6140b
|
||||
mov a5, a0 # b2: 5d00
|
||||
l32i a0, a0, 0 # b4: 0800
|
||||
bnez a0, .Lbr009 # b6: 5600ff
|
||||
j .Lbr011 # b9: 460000
|
||||
.Lbr010: movi a5, 0 /* 0x00000000 */ # bc: 0c05
|
||||
.Lbr011: s32i a3, sp, 0 /* arg1 -> [(local0)] */ # be: 3901
|
||||
s32i a0, a3, 0 /* a0 -> [arg1] */ # c0: 0903
|
||||
s32i a2, a3, 8 /* arg0 -> [arg1+0x8] */ # c2: 2923
|
||||
beqz a5, .Lbr012 # c4: 8c35
|
||||
s32i a3, a5, 0 # c6: 3905
|
||||
j .Lbr013 # c8: 060200
|
||||
.Lbr012: l32i a5, sp, 0 /* [(local0)] */ # cb: 5801
|
||||
s32i a5, a6, 4 /* [(local0)] -> [.Ldata003] */ # cd: 5916
|
||||
call0 .Lfunc005 # cf: 45f7ff
|
||||
l32i a3, sp, 0 /* [(local0)] */ # d2: 3801
|
||||
.Lbr013: l32i a6, a3, 0 # d4: 6803
|
||||
l32i a0, sp, 4 /* [(local1)] */ # d6: 0811
|
||||
bne a6, a3, .Lbr015 # d8: 379611
|
||||
movi a2, .Lstr001 # db: 21edff
|
||||
movi a3, .Lstr002 # de: 31edff
|
||||
movi a4, 209 /* 0x000000d1 */ # e1: 42a0d1
|
||||
call0 ets_printf # e4: 01edffc0
|
||||
# e8: 0000
|
||||
.Lbr014: j .Lbr014 /* (halt) */ # ea: 06ffff
|
||||
.Lbr015: addi sp, sp, 16 /* (top of frame) */ # ed: 12c110
|
||||
ret # f0: 0df0
|
||||
|
||||
.literal_position # f4: 14000000
|
||||
# f8: 404b4c00
|
||||
# fc: 40420f00
|
||||
# 100: 00060060
|
||||
# 104: 00000000
|
||||
# 108: 00000000
|
||||
# 10c: 00000000
|
||||
# 110: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x114
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word @ -0x8
|
||||
# (local3): word @ -0x4
|
||||
.global sdk_ets_timer_arm_ms_us
|
||||
.type sdk_ets_timer_arm_ms_us, @function
|
||||
sdk_ets_timer_arm_ms_us:
|
||||
addi sp, sp, -16 /* (local0) */ # 114: 12c1f0
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 117: c911
|
||||
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 119: d921
|
||||
mov a12, a2 /* arg0 */ # 11b: cd02
|
||||
mov a2, a3 /* arg1 */ # 11d: 2d03
|
||||
mov a3, a4 /* arg2 */ # 11f: 3d04
|
||||
l32i a4, a12, 0 /* [arg0] */ # 121: 480c
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 123: 0901
|
||||
beqi a4, -1, .Lbr017 # 125: 26040d
|
||||
movi a2, .Lstr003 # 128: 21f3ff
|
||||
mov a3, a12 /* arg0 */ # 12b: 3d0c
|
||||
call0 printf # 12d: 01f5ffc0
|
||||
# 131: 0000
|
||||
.Lbr016: j .Lbr016 /* (halt) */ # 133: 06ffff
|
||||
.Lbr017: bnei a5, 1, .Lbr018 # 136: 661505
|
||||
movi a0, 1000 /* 0x000003e8 */ # 139: 02a3e8
|
||||
mull a2, a2, a0 # 13c: 002282
|
||||
.Lbr018: beqz a2, .Lbr020 # 13f: ace2
|
||||
s32i a3, sp, 12 /* arg2 -> [(local3)] */ # 141: 3931
|
||||
movi a4, 858 /* 0x0000035a */ # 143: 42a35a
|
||||
bgeu a4, a2, .Lbr019 # 146: 27b411
|
||||
srli a13, a2, 2 # 149: 20d241
|
||||
extui a0, a2, 0, 2 # 14c: 200014
|
||||
addx4 a0, a0, a0 # 14f: 0000a0
|
||||
addx4 a13, a13, a13 # 152: d0dda0
|
||||
addx4 a13, a13, a0 # 155: 00dda0
|
||||
j .Lbr021 # 158: c60500
|
||||
.Lbr019: movi a4, 0x004c4b40 # 15b: 41e7ff
|
||||
movi a3, 0x000f4240 # 15e: 31e7ff
|
||||
mull a2, a2, a4 # 161: 402282
|
||||
call0 __udivsi3 # 164: 01e9ffc0
|
||||
# 168: 0000
|
||||
mov a13, a2 # 16a: dd02
|
||||
l32i a3, sp, 12 /* [(local3)] */ # 16c: 3831
|
||||
j .Lbr021 # 16e: 460000
|
||||
.Lbr020: movi a13, 0 /* 0x00000000 */ # 171: 0c0d
|
||||
.Lbr021: beqz a3, .Lbr022 # 173: 8c03
|
||||
s32i a13, a12, 12 /* a13 -> [arg0+0xc] */ # 175: d93c
|
||||
.Lbr022: call0 vPortEnterCritical # 177: 01e5ffc0
|
||||
# 17b: 0000
|
||||
mov a3, a12 /* arg0 */ # 17d: 3d0c
|
||||
movi a2, 0x60000600 # 17f: 21e0ff
|
||||
memw # 182: c02000
|
||||
l32i a2, a2, 36 /* [0x60000624] */ # 185: 2892
|
||||
add a2, a13, a2 # 187: 2a2d
|
||||
call0 .Lfunc006 # 189: 05f1ff
|
||||
call0 vPortExitCritical # 18c: 01e1ffc0
|
||||
# 190: 0000
|
||||
l32i a12, sp, 4 /* [(local1)] */ # 192: c811
|
||||
l32i a13, sp, 8 /* [(local2)] */ # 194: d821
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 196: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 198: 12c110
|
||||
ret # 19b: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x1a0
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.global sdk_ets_timer_arm_us
|
||||
.type sdk_ets_timer_arm_us, @function
|
||||
sdk_ets_timer_arm_us:
|
||||
movi a5, 0 /* 0x00000000 */ # 1a0: 0c05
|
||||
addi sp, sp, -16 /* (local0) */ # 1a2: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 1a5: 0901
|
||||
call0 sdk_ets_timer_arm_ms_us # 1a7: 050000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 1aa: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 1ac: 12c110
|
||||
ret # 1af: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x1b4
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.global sdk_ets_timer_arm
|
||||
.type sdk_ets_timer_arm, @function
|
||||
sdk_ets_timer_arm:
|
||||
movi a5, 1 /* 0x00000001 */ # 1b4: 0c15
|
||||
addi sp, sp, -16 /* (local0) */ # 1b6: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 1b9: 0901
|
||||
call0 sdk_ets_timer_arm_ms_us # 1bb: 050000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 1be: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 1c0: 12c110
|
||||
ret # 1c3: 0df0
|
||||
|
||||
.literal_position # 1c8: 00000000
|
||||
# 1cc: 00000000
|
||||
# 1d0: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x1d4
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.global sdk_ets_timer_disarm
|
||||
.type sdk_ets_timer_disarm, @function
|
||||
sdk_ets_timer_disarm:
|
||||
addi sp, sp, -16 /* (local0) */ # 1d4: 12c1f0
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 1d7: c911
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 1d9: 0901
|
||||
mov a12, a2 /* arg0 */ # 1db: cd02
|
||||
call0 vPortEnterCritical # 1dd: 01fbffc0
|
||||
# 1e1: 0000
|
||||
movi a5, .Ldata001 # 1e3: 51f9ff
|
||||
l32i a0, a5, 4 /* [.Ldata003] */ # 1e6: 0815
|
||||
movi a2, 0 /* 0x00000000 */ # 1e8: 0c02
|
||||
beqz a0, .Lbr024 # 1ea: 8cb0
|
||||
.Lbr023: beq a12, a0, .Lbr025 # 1ec: 071c0b
|
||||
mov a2, a0 # 1ef: 2d00
|
||||
l32i a0, a0, 0 # 1f1: 0800
|
||||
bnez a0, .Lbr023 # 1f3: 5650ff
|
||||
j .Lbr027 # 1f6: 860300
|
||||
.Lbr024: movi a2, 0 /* 0x00000000 */ # 1f9: 0c02
|
||||
.Lbr025: beqz a0, .Lbr027 # 1fb: 8c90
|
||||
l32i a0, a0, 0 # 1fd: 0800
|
||||
bnez a2, .Lbr026 # 1ff: cc32
|
||||
s32i a0, a5, 4 /* a0 -> [.Ldata003] */ # 201: 0915
|
||||
j .Lbr027 # 203: 460000
|
||||
.Lbr026: s32i a0, a2, 0 # 206: 0902
|
||||
.Lbr027: call0 vPortExitCritical # 208: 01f2ffc0
|
||||
# 20c: 0000
|
||||
movi a0, 0 /* 0x00000000 */ # 20e: 0c00
|
||||
movi a2, -1 /* 0xffffffff */ # 210: 7cf2
|
||||
s32i a2, a12, 0 /* 0xffffffff -> [arg0] */ # 212: 290c
|
||||
s32i a0, a12, 12 /* 0x00000000 -> [arg0+0xc] */ # 214: 093c
|
||||
l32i a12, sp, 4 /* [(local1)] */ # 216: c811
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 218: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 21a: 12c110
|
||||
ret /* 0xffffffff */ # 21d: 0df0
|
||||
|
||||
.literal_position # 220: 00000000
|
||||
# 224: 08000000
|
||||
# 228: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x22c
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.global sdk_ets_timer_done
|
||||
.type sdk_ets_timer_done, @function
|
||||
sdk_ets_timer_done:
|
||||
addi sp, sp, -16 /* (local0) */ # 22c: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 22f: 0901
|
||||
l32i a0, a2, 0 /* [arg0] */ # 231: 0802
|
||||
beqi a0, -1, .Lbr029 # 233: 260011
|
||||
movi a2, .Lstr001 # 236: 21faff
|
||||
movi a3, .Lstr002 # 239: 31faff
|
||||
movi a4, 288 /* 0x00000120 */ # 23c: 42a120
|
||||
call0 ets_printf # 23f: 01faffc0
|
||||
# 243: 0000
|
||||
.Lbr028: j .Lbr028 /* (halt) */ # 245: 06ffff
|
||||
.Lbr029: movi a3, 0 /* 0x00000000 */ # 248: 0c03
|
||||
movi a4, 0 /* 0x00000000 */ # 24a: 0c04
|
||||
call0 sdk_ets_timer_setfn # 24c: 050000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 24f: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 251: 12c110
|
||||
ret # 254: 0df0
|
||||
|
||||
.literal_position # 258: 00060060
|
||||
# 25c: 00000000
|
||||
# 260: 00000000
|
||||
# 264: 00000000
|
||||
# 268: 00060060
|
||||
# 26c: 00000000
|
||||
# 270: 00000000
|
||||
# 274: 00000000
|
||||
# 278: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x27c
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.global sdk_ets_timer_handler_isr
|
||||
.type sdk_ets_timer_handler_isr, @function
|
||||
sdk_ets_timer_handler_isr:
|
||||
addi sp, sp, -16 /* (local0) */ # 27c: 12c1f0
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 27f: c911
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 281: 0901
|
||||
call0 vPortEnterCritical # 283: 01faffc0
|
||||
# 287: 0000
|
||||
movi a3, 0x60000600 # 289: 31f3ff
|
||||
memw # 28c: c02000
|
||||
movi a0, .Ldata001 # 28f: 01f3ff
|
||||
l32i a5, a3, 36 /* [0x60000624] */ # 292: 5893
|
||||
.Lbr030: l32i a12, a0, 4 /* [.Ldata003] */ # 294: c810
|
||||
beqz a12, .Lbr033 # 296: 162c05
|
||||
l32i a2, a12, 8 /* [[.Ldata003]+0x8] */ # 299: 282c
|
||||
sub a4, a2, a5 # 29b: 5042c0
|
||||
bgei a4, 1, .Lbr032 # 29e: e61445
|
||||
movi a5, -1 /* 0xffffffff */ # 2a1: 7cf5
|
||||
movi a7, .Ldata001 # 2a3: 71efff
|
||||
l32i a8, a12, 16 /* [[.Ldata003]+0x10] */ # 2a6: 884c
|
||||
s32i a8, a7, 12 /* [[.Ldata003]+0x10] -> [sdk_debug_timerfn] */ # 2a8: 8937
|
||||
s32i a12, a7, 8 /* [.Ldata003] -> [sdk_debug_timer] */ # 2aa: c927
|
||||
l32i a6, a12, 0 /* [[.Ldata003]] */ # 2ac: 680c
|
||||
s32i a6, a7, 4 /* [[.Ldata003]] -> [.Ldata003] */ # 2ae: 6917
|
||||
s32i a5, a12, 0 /* 0xffffffff -> [[.Ldata003]] */ # 2b0: 590c
|
||||
call0 vPortExitCritical # 2b2: 01efffc0
|
||||
# 2b6: 0000
|
||||
l32i a0, a12, 16 /* [[.Ldata003]+0x10] */ # 2b8: 084c
|
||||
l32i a2, a12, 24 /* [[.Ldata003]+0x18] */ # 2ba: 286c
|
||||
callx0 a0 /* [[.Ldata003]+0x10] */ # 2bc: c00000
|
||||
call0 vPortEnterCritical # 2bf: 01edffc0
|
||||
# 2c3: 0000
|
||||
l32i a2, a12, 0 /* [[.Ldata003]] */ # 2c5: 280c
|
||||
l32i a0, a12, 12 /* [[.Ldata003]+0xc] */ # 2c7: 083c
|
||||
bnei a2, -1, .Lbr031 # 2c9: 66020c
|
||||
beqz a0, .Lbr031 # 2cc: 8c90
|
||||
l32i a2, a12, 8 /* [[.Ldata003]+0x8] */ # 2ce: 282c
|
||||
mov a3, a12 /* [.Ldata003] */ # 2d0: 3d0c
|
||||
add a2, a2, a0 # 2d2: 0a22
|
||||
s32i a2, a12, 8 /* a2 -> [[.Ldata003]+0x8] */ # 2d4: 292c
|
||||
call0 .Lfunc006 # 2d6: 45dcff
|
||||
.Lbr031: movi a0, .Ldata001 # 2d9: 01e2ff
|
||||
memw # 2dc: c02000
|
||||
movi a3, 0x60000600 # 2df: 31e2ff
|
||||
l32i a5, a3, 36 /* [0x60000624] */ # 2e2: 5893
|
||||
j .Lbr030 # 2e4: 06ebff
|
||||
.Lbr032: beqz a12, .Lbr033 # 2e7: 8c1c
|
||||
call0 .Lfunc005 # 2e9: 85d5ff
|
||||
.Lbr033: call0 vPortExitCritical # 2ec: 01e3ffc0
|
||||
# 2f0: 0000
|
||||
l32i a12, sp, 4 /* [(local1)] */ # 2f2: c811
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 2f4: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 2f6: 12c110
|
||||
ret # 2f9: 0df0
|
||||
|
||||
.literal_position # 2fc: 00000000
|
||||
# 300: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x304
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.Lfunc007: addi sp, sp, -16 /* (local0) */ # 304: 12c1f0
|
||||
s32i a12, sp, 8 /* a12 -> [(local2)] */ # 307: c921
|
||||
movi a12, .Ldata001 # 309: c1fcff
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 30c: 0911
|
||||
.Lbr034: l32i a2, a12, 16 /* [.Ldata004] */ # 30e: 284c
|
||||
mov a3, sp /* (local0) */ # 310: 3d01
|
||||
movi a4, -1 /* 0xffffffff */ # 312: 7cf4
|
||||
movi a5, 0 /* 0x00000000 */ # 314: 0c05
|
||||
call0 xQueueGenericReceive # 316: 01faffc0
|
||||
# 31a: 0000
|
||||
bnei a2, 1, .Lbr034 # 31c: 6612ee
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 31f: 0801
|
||||
l32i a0, a0, 0 /* [[(local0)]] */ # 321: 0800
|
||||
bnez a0, .Lbr035 # 323: cc30
|
||||
movi a2, 0 /* 0x00000000 */ # 325: 0c02
|
||||
call0 sdk_ets_timer_handler_isr # 327: 050000
|
||||
.Lbr035: call0 .Lfunc003 # 32a: 05ceff
|
||||
j .Lbr034 # 32d: 46f7ff
|
||||
|
||||
.literal_position # 330: 00000000
|
||||
# 334: 54000000
|
||||
# 338: 00000000
|
||||
# 33c: 40000000
|
||||
# 340: 04030000
|
||||
# 344: 50000000
|
||||
# 348: 00feef3f
|
||||
# 34c: 00060060
|
||||
# 350: 00000000
|
||||
# 354: 00000000
|
||||
# 358: 00000000
|
||||
# 35c: 00000000
|
||||
# 360: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x364
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x20
|
||||
# (local1): word[3] @ -0x1c
|
||||
# (local2): word @ -0x10
|
||||
# (local3): word[3] @ -0xc
|
||||
.global sdk_ets_timer_init
|
||||
.type sdk_ets_timer_init, @function
|
||||
sdk_ets_timer_init:
|
||||
movi a3, .Lfunc002 # 364: 31f4ff
|
||||
addi sp, sp, -32 /* (local0) */ # 367: 12c1e0
|
||||
movi a2, .Ldata001 # 36a: 21f1ff
|
||||
s32i a0, sp, 20 /* a0 -> [(local3)] */ # 36d: 0951
|
||||
movi a0, 0 /* 0x00000000 */ # 36f: 0c00
|
||||
s32i a0, a2, 4 /* 0x00000000 -> [.Ldata003] */ # 371: 0912
|
||||
movi a2, 10 /* 0x0000000a */ # 373: 0ca2
|
||||
call0 _xt_isr_attach # 375: 01f6ffc0
|
||||
# 379: 0000
|
||||
movi a2, 4 /* 0x00000004 */ # 37b: 0c42
|
||||
movi a3, 4 /* 0x00000004 */ # 37d: 0c43
|
||||
movi a4, 0 /* 0x00000000 */ # 37f: 0c04
|
||||
call0 xQueueGenericCreate # 381: 01f4ffc0
|
||||
# 385: 0000
|
||||
movi a5, 0 /* 0x00000000 */ # 387: 0c05
|
||||
movi a6, 12 /* 0x0000000c */ # 389: 0cc6
|
||||
addi a7, sp, 16 /* (local2) */ # 38b: 72c110
|
||||
movi a4, .Ldata001 # 38e: 41eaff
|
||||
movi a3, 0 /* 0x00000000 */ # 391: 0c03
|
||||
s32i a2, a4, 16 /* a2 -> [.Ldata004] */ # 393: 2944
|
||||
movi a4, 200 /* 0x000000c8 */ # 395: 42a0c8
|
||||
s32i a3, sp, 0 /* 0x00000000 -> [(local0)] */ # 398: 3901
|
||||
s32i a3, sp, 4 /* 0x00000000 -> [(local1)] */ # 39a: 3911
|
||||
movi a2, .Lfunc007 # 39c: 21e9ff
|
||||
movi a3, .Lstr006 # 39f: 31e7ff
|
||||
call0 xTaskGenericCreate # 3a2: 01edffc0
|
||||
# 3a6: 0000
|
||||
movi a2, .Lstr007 # 3a8: 21e7ff
|
||||
l32i a3, sp, 16 /* [(local2)] */ # 3ab: 3841
|
||||
movi a4, 12 /* 0x0000000c */ # 3ad: 0cc4
|
||||
movi a5, 200 /* 0x000000c8 */ # 3af: 52a0c8
|
||||
call0 printf # 3b2: 01eaffc0
|
||||
# 3b6: 0000
|
||||
movi a6, 0x3feffe00 # 3b8: 61e4ff
|
||||
movi a9, 0x60000600 # 3bb: 91e4ff
|
||||
memw # 3be: c02000
|
||||
movi a8, 0 /* 0x00000000 */ # 3c1: 0c08
|
||||
s32i a8, a9, 48 /* 0x00000000 -> [0x60000630] */ # 3c3: 89c9
|
||||
movi a10, 132 /* 0x00000084 */ # 3c5: a2a084
|
||||
memw # 3c8: c02000
|
||||
s32i a10, a9, 40 /* 0x00000084 -> [0x60000628] */ # 3cb: a9a9
|
||||
memw # 3cd: c02000
|
||||
s32i a8, a9, 32 /* 0x00000000 -> [0x60000620] */ # 3d0: 8989
|
||||
movi a7, 4 /* 0x00000004 */ # 3d2: 0c47
|
||||
memw # 3d4: c02000
|
||||
l32i a5, a6, 0x204 /* [0x3ff00004] */ # 3d7: 522681
|
||||
or a5, a5, a7 # 3da: 705520
|
||||
memw # 3dd: c02000
|
||||
s32i a5, a6, 0x204 /* a5 -> [0x3ff00004] */ # 3e0: 526681
|
||||
movi a2, 1024 /* 0x00000400 */ # 3e3: 22a400
|
||||
call0 sdk__xt_isr_unmask # 3e6: 01deffc0
|
||||
# 3ea: 0000
|
||||
l32i a0, sp, 20 /* [(local3)] */ # 3ec: 0851
|
||||
addi sp, sp, 32 /* (top of frame) */ # 3ee: 12c120
|
||||
ret # 3f1: 0df0
|
||||
|
||||
.section .rodata.str1.4, "MSa", @progbits, 1
|
||||
|
||||
.Lstr001: .asciz "%s %s \n" # 0: 25732025
|
||||
# 4: 73200a00
|
||||
.Lstr002: .asciz "ets_timer.c" # 8: 6574735f
|
||||
# c: 74696d65
|
||||
# 10: 722e6300
|
||||
.Lstr003: .asciz "arm new %x %x\n" # 14: 61726d20
|
||||
# 18: 6e657720
|
||||
# 1c: 25782025
|
||||
# 20: 780a00
|
||||
.balign 4
|
||||
.Lstr004: .asciz "TIMQ_NUL\n" # 24: 54494d51
|
||||
# 28: 5f4e554c
|
||||
# 2c: 0a00
|
||||
.balign 4
|
||||
.Lstr005: .asciz "TIMQ_FL:%d!!" # 30: 54494d51
|
||||
# 34: 5f464c3a
|
||||
# 38: 25642121
|
||||
# 3c: 00
|
||||
.balign 4
|
||||
.Lstr006: .asciz "rtc_timer_task" # 40: 7274635f
|
||||
# 44: 74696d65
|
||||
# 48: 725f7461
|
||||
# 4c: 736b00
|
||||
.balign 4
|
||||
.Lstr007: .asciz "frc2_timer_task_hdl:%x, prio:%d, stack:%d\n" # 50: 66726332
|
||||
# 54: 5f74696d
|
||||
# 58: 65725f74
|
||||
# 5c: 61736b5f
|
||||
# 60: 68646c3a
|
||||
# 64: 25782c20
|
||||
# 68: 7072696f
|
||||
# 6c: 3a25642c
|
||||
# 70: 20737461
|
||||
# 74: 636b3a25
|
||||
# 78: 640a00
|
150
binary_sdk/libmain/misc.S
Normal file
150
binary_sdk/libmain/misc.S
Normal file
|
@ -0,0 +1,150 @@
|
|||
|
||||
.section .text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
|
||||
# Function @ .text+0x4
|
||||
.global sdk_os_get_cpu_frequency
|
||||
.type sdk_os_get_cpu_frequency, @function
|
||||
sdk_os_get_cpu_frequency:
|
||||
movi a2, .Ldata001 # 4: 21ffff
|
||||
l32i a2, a2, 0 /* [.Ldata001] */ # 7: 2802
|
||||
ret /* [.Ldata001] */ # 9: 0df0
|
||||
|
||||
.section .data, "aw", @progbits
|
||||
|
||||
.Ldata001: .word 0x00000050 # 0: 50000000
|
||||
|
||||
.section .bss, "aw", @nobits
|
||||
|
||||
.global sdk__putc1
|
||||
.type sdk__putc1, @object
|
||||
sdk__putc1: .word 0x00000000 # 0: 00000000
|
||||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
# 4: 00000000
|
||||
# 8: 00000000
|
||||
|
||||
# Function @ .irom0.text+0xc
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.global sdk_ets_delay_us
|
||||
.type sdk_ets_delay_us, @function
|
||||
sdk_ets_delay_us:
|
||||
.global sdk_os_delay_us
|
||||
.type sdk_os_delay_us, @function
|
||||
sdk_os_delay_us:
|
||||
addi sp, sp, -16 /* (local0) */ # c: 12c1f0
|
||||
s32i a13, sp, 8 /* a13 -> [(local2)] */ # f: d921
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 11: c911
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 13: 0901
|
||||
mov a12, a2 /* arg0 */ # 15: cd02
|
||||
call0 xthal_get_ccount # 17: 01fbffc0
|
||||
# 1b: 0000
|
||||
movi a0, .Ldata001 # 1d: 01f8ff
|
||||
l32i a0, a0, 0 /* [.Ldata001] */ # 20: 0800
|
||||
mov a13, a2 # 22: dd02
|
||||
mull a12, a0, a12 # 24: c0c082
|
||||
.Lbr001: call0 xthal_get_ccount # 27: 01f8ffc0
|
||||
# 2b: 0000
|
||||
sub a3, a2, a13 # 2d: d032c0
|
||||
bltu a3, a12, .Lbr001 # 30: c733f3
|
||||
l32i a12, sp, 4 /* [(local1)] */ # 33: c811
|
||||
l32i a13, sp, 8 /* [(local2)] */ # 35: d821
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 37: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 39: 12c110
|
||||
ret # 3c: 0df0
|
||||
|
||||
.literal_position # 40: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x44
|
||||
.global sdk_ets_update_cpu_frequency
|
||||
.type sdk_ets_update_cpu_frequency, @function
|
||||
sdk_ets_update_cpu_frequency:
|
||||
.global sdk_os_update_cpu_frequency
|
||||
.type sdk_os_update_cpu_frequency, @function
|
||||
sdk_os_update_cpu_frequency:
|
||||
movi a3, .Ldata001 # 44: 31ffff
|
||||
s32i a2, a3, 0 /* arg0 -> [.Ldata001] */ # 47: 2903
|
||||
ret /* arg0 */ # 49: 0df0
|
||||
|
||||
.literal_position # 4c: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x50
|
||||
.global sdk_os_install_putc1
|
||||
.type sdk_os_install_putc1, @function
|
||||
sdk_os_install_putc1:
|
||||
movi a3, sdk__putc1 # 50: 31ffff
|
||||
s32i a2, a3, 0 /* arg0 -> [sdk__putc1] */ # 53: 2903
|
||||
ret /* arg0 */ # 55: 0df0
|
||||
|
||||
.literal_position # 58: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x5c
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.global sdk_os_putc
|
||||
.type sdk_os_putc, @function
|
||||
sdk_os_putc:
|
||||
addi sp, sp, -16 /* (local0) */ # 5c: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 5f: 0901
|
||||
movi a0, sdk__putc1 # 61: 01fdff
|
||||
l32i a0, a0, 0 /* [sdk__putc1] */ # 64: 0800
|
||||
callx0 a0 /* [sdk__putc1] */ # 66: c00000
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 69: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 6b: 12c110
|
||||
ret # 6e: 0df0
|
||||
|
||||
.literal_position # 70: 00020060
|
||||
|
||||
# Function @ .irom0.text+0x74
|
||||
.global sdk_gpio_output_set
|
||||
.type sdk_gpio_output_set, @function
|
||||
sdk_gpio_output_set:
|
||||
movi a6, 0x60000200 # 74: 61ffff
|
||||
memw # 77: c02000
|
||||
s32i a2, a6, 0x104 /* arg0 -> [0x60000304] */ # 7a: 226641
|
||||
memw # 7d: c02000
|
||||
s32i a3, a6, 0x108 /* arg1 -> [0x60000308] */ # 80: 326642
|
||||
memw # 83: c02000
|
||||
s32i a4, a6, 0x110 /* arg2 -> [0x60000310] */ # 86: 426644
|
||||
memw # 89: c02000
|
||||
s32i a5, a6, 0x114 /* arg3 -> [0x60000314] */ # 8c: 526645
|
||||
ret /* arg0 */ # 8f: 0df0
|
||||
|
||||
.literal_position # 94: 00060060
|
||||
# 98: ffffdfff
|
||||
|
||||
# Function @ .irom0.text+0x9c
|
||||
.global sdk_rtc_get_reset_reason
|
||||
.type sdk_rtc_get_reset_reason, @function
|
||||
sdk_rtc_get_reset_reason:
|
||||
movi a4, 0x60000600 # 9c: 41feff
|
||||
memw # 9f: c02000
|
||||
l32i a2, a4, 0x114 /* [0x60000714] */ # a2: 222445
|
||||
extui a2, a2, 0, 4 # a5: 202034
|
||||
bnei a2, 5, .Lbr003 # a8: 665224
|
||||
memw # ab: c02000
|
||||
l32i a3, a4, 0x118 /* [0x60000718] */ # ae: 322446
|
||||
extui a3, a3, 8, 6 # b1: 303854
|
||||
bnei a3, 1, .Lbr002 # b4: 661304
|
||||
movi a2, 6 /* 0x00000006 */ # b7: 0c62
|
||||
j .Lbr003 # b9: c60400
|
||||
.Lbr002: memw # bc: c02000
|
||||
l32i a6, a4, 0x118 /* [0x60000718] */ # bf: 622446
|
||||
movi a5, 0 /* 0x00000000 */ # c2: 0c05
|
||||
extui a6, a6, 8, 6 # c4: 606854
|
||||
addi a6, a6, -8 # c7: 62c6f8
|
||||
movnez a2, a5, a6 # ca: 602593
|
||||
extui a2, a2, 0, 8 # cd: 202074
|
||||
.Lbr003: movi a8, 0xffdfffff # d0: 81f2ff
|
||||
memw # d3: c02000
|
||||
l32i a7, a4, 0x108 /* [0x60000708] */ # d6: 722442
|
||||
and a7, a7, a8 # d9: 807710
|
||||
memw # dc: c02000
|
||||
s32i a7, a4, 0x108 /* a7 -> [0x60000708] */ # df: 726442
|
||||
ret # e2: 0df0
|
217
binary_sdk/libmain/os_cpu_a.S
Normal file
217
binary_sdk/libmain/os_cpu_a.S
Normal file
|
@ -0,0 +1,217 @@
|
|||
|
||||
.section .text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
# 4: 00000000
|
||||
# 8: 00000000
|
||||
# c: 00000000
|
||||
# 10: 00000000
|
||||
|
||||
# Function @ .text+0x14
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x50
|
||||
# (local1): word @ -0x4c
|
||||
# (local2): word @ -0x48
|
||||
# (local3): word @ -0x44
|
||||
# (local4): word[16] @ -0x40
|
||||
.global vPortYield
|
||||
.type vPortYield, @function
|
||||
vPortYield: wsr a0, excsave1 # 14: 00d113
|
||||
addi sp, sp, -80 /* (local0) */ # 17: 12c1b0
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 1a: 0911
|
||||
addi a0, sp, 80 /* (top of frame) */ # 1c: 02c150
|
||||
s32i a0, sp, 16 /* (top of frame) -> [(local4)] */ # 1f: 0941
|
||||
rsr a0, ps # 21: 00e603
|
||||
s32i a0, sp, 8 /* a0 -> [(local2)] */ # 24: 0921
|
||||
rsr a0, excsave1 # 26: 00d103
|
||||
s32i a0, sp, 12 /* a0 -> [(local3)] */ # 29: 0931
|
||||
movi a0, _xt_user_exit # 2b: 01f5ff
|
||||
s32i a0, sp, 0 /* _xt_user_exit -> [(local0)] */ # 2e: 0901
|
||||
call0 sdk__xt_int_enter # 30: 050000
|
||||
call0 vPortEnterCritical # 33: 01f4ffc0
|
||||
# 37: 0000
|
||||
call0 vTaskSwitchContext # 39: 01f3ffc0
|
||||
# 3d: 0000
|
||||
call0 vPortExitCritical # 3f: 01f3ffc0
|
||||
# 43: 0000
|
||||
call0 sdk__xt_int_exit # 45: 01f2ffc0
|
||||
# 49: 0000
|
||||
ret # 4b: 0df0
|
||||
|
||||
.literal_position # 50: 00000000
|
||||
# 54: 00000000
|
||||
# 58: 00000000
|
||||
# 5c: 00000000
|
||||
# 60: 00000000
|
||||
# 64: 00350c00
|
||||
# 68: 00000000
|
||||
# 6c: 00000000
|
||||
# 70: 00350c00
|
||||
|
||||
# Function @ .text+0x74
|
||||
.global sdk__xt_int_enter
|
||||
.type sdk__xt_int_enter, @function
|
||||
sdk__xt_int_enter:
|
||||
s32i a12, sp, 60 /* a12 -> [(FP)+0x3c] */ # 74: c9f1
|
||||
s32i a13, sp, 64 /* a13 -> [(FP)+0x40] */ # 76: d26110
|
||||
mov a12, a0 # 79: cd00
|
||||
call0 sdk__xt_context_save # 7b: 01f5ffc0
|
||||
# 7f: 0000
|
||||
movi a0, pxCurrentTCB # 81: 01f4ff
|
||||
l32i a0, a0, 0 /* [pxCurrentTCB] */ # 84: 0800
|
||||
s32i sp, a0, 0 /* (top of frame) -> [[pxCurrentTCB]] */ # 86: 1900
|
||||
mov a0, a12 # 88: 0d0c
|
||||
ret # 8a: 0df0
|
||||
|
||||
# Function @ .text+0x8c
|
||||
.global sdk__xt_int_exit
|
||||
.type sdk__xt_int_exit, @function
|
||||
sdk__xt_int_exit:
|
||||
s32i a14, sp, 68 /* a14 -> [(FP)+0x44] */ # 8c: e26111
|
||||
s32i a15, sp, 72 /* a15 -> [(FP)+0x48] */ # 8f: f26112
|
||||
movi sp, pxCurrentTCB # 92: 11f1ff
|
||||
l32i sp, sp, 0 /* [pxCurrentTCB] */ # 95: 1801
|
||||
l32i sp, sp, 0 /* [[pxCurrentTCB]] */ # 97: 1801
|
||||
movi a14, pxCurrentTCB # 99: e1f0ff
|
||||
l32i a14, a14, 0 /* [pxCurrentTCB] */ # 9c: e80e
|
||||
addi a15, sp, 80 /* [[pxCurrentTCB]]+0x50 */ # 9e: f2c150
|
||||
s32i a15, a14, 0 /* [[pxCurrentTCB]]+0x50 -> [[pxCurrentTCB]] */ # a1: f90e
|
||||
call0 sdk__xt_context_restore # a3: 01efffc0
|
||||
# a7: 0000
|
||||
l32i a14, sp, 68 /* [[[pxCurrentTCB]]+0x44] */ # a9: e22111
|
||||
l32i a15, sp, 72 /* [[[pxCurrentTCB]]+0x48] */ # ac: f22112
|
||||
l32i a0, sp, 0 /* [[[pxCurrentTCB]]] */ # af: 0801
|
||||
ret # b1: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .text+0xb4
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.global sdk__xt_timer_int
|
||||
.type sdk__xt_timer_int, @function
|
||||
sdk__xt_timer_int:
|
||||
addi sp, sp, -16 /* (local0) */ # b4: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # b7: 0901
|
||||
.Lbr001: movi a2, 0x000c3500 # b9: 21eaff
|
||||
rsr a3, ccompare0 # bc: 30f003
|
||||
add a4, a3, a2 # bf: 2a43
|
||||
wsr a4, ccompare0 # c1: 40f013
|
||||
esync # c4: 202000
|
||||
s32i a2, sp, 4 /* 0x000c3500 -> [(local1)] */ # c7: 2911
|
||||
s32i a3, sp, 8 /* a3 -> [(local2)] */ # c9: 3921
|
||||
call0 xPortSysTickHandle # cb: 01e7ffc0
|
||||
# cf: 0000
|
||||
l32i a2, sp, 4 /* [(local1)] */ # d1: 2811
|
||||
l32i a3, sp, 8 /* [(local2)] */ # d3: 3821
|
||||
esync # d5: 202000
|
||||
rsr a4, ccount # d8: 40ea03
|
||||
sub a4, a4, a3 # db: 3044c0
|
||||
blt a2, a4, .Lbr001 # de: 4722d7
|
||||
l32i a0, sp, 0 /* [(local0)] */ # e1: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # e3: 12c110
|
||||
ret /* [(local1)] */ # e6: 0df0
|
||||
|
||||
# Function @ .text+0xe8
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.global sdk__xt_timer_int1
|
||||
.type sdk__xt_timer_int1, @function
|
||||
sdk__xt_timer_int1:
|
||||
addi sp, sp, -16 /* (local0) */ # e8: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # eb: 0901
|
||||
s32i a2, sp, 4 /* arg0 -> [(local1)] */ # ed: 2911
|
||||
s32i a3, sp, 8 /* arg1 -> [(local2)] */ # ef: 3921
|
||||
call0 vTaskSwitchContext # f1: 01deffc0
|
||||
# f5: 0000
|
||||
l32i a2, sp, 4 /* [(local1)] */ # f7: 2811
|
||||
l32i a3, sp, 8 /* [(local2)] */ # f9: 3821
|
||||
l32i a0, sp, 0 /* [(local0)] */ # fb: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # fd: 12c110
|
||||
ret /* [(local1)] */ # 100: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .text+0x104
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.global sdk__xt_tick_timer_init
|
||||
.type sdk__xt_tick_timer_init, @function
|
||||
sdk__xt_tick_timer_init:
|
||||
addi sp, sp, -16 /* (local0) */ # 104: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 107: 0901
|
||||
movi a3, 0x000c3500 # 109: 31d9ff
|
||||
rsr a2, ccount # 10c: 20ea03
|
||||
add a2, a2, a3 # 10f: 3a22
|
||||
wsr a2, ccompare0 # 111: 20f013
|
||||
movi a2, 0 /* 0x00000000 */ # 114: 0c02
|
||||
xsr a2, intenable # 116: 20e461
|
||||
movi a3, 64 /* 0x00000040 */ # 119: 4c03
|
||||
or a2, a2, a3 # 11b: 302220
|
||||
wsr a2, intenable # 11e: 20e413
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 121: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 123: 12c110
|
||||
ret # 126: 0df0
|
||||
|
||||
# Function @ .text+0x128
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.global sdk__xt_isr_unmask
|
||||
.type sdk__xt_isr_unmask, @function
|
||||
sdk__xt_isr_unmask:
|
||||
addi sp, sp, -16 /* (local0) */ # 128: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 12b: 0901
|
||||
movi a3, 0 /* 0x00000000 */ # 12d: 0c03
|
||||
xsr a3, intenable # 12f: 30e461
|
||||
or a3, a2, a3 # 132: 303220
|
||||
wsr a3, intenable # 135: 30e413
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 138: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 13a: 12c110
|
||||
ret /* arg0 */ # 13d: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .text+0x140
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.global sdk__xt_isr_mask
|
||||
.type sdk__xt_isr_mask, @function
|
||||
sdk__xt_isr_mask:
|
||||
addi sp, sp, -16 /* (local0) */ # 140: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 143: 0901
|
||||
movi a3, 0 /* 0x00000000 */ # 145: 0c03
|
||||
xsr a3, intenable # 147: 30e461
|
||||
and a3, a2, a3 # 14a: 303210
|
||||
wsr a3, intenable # 14d: 30e413
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 150: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 152: 12c110
|
||||
ret /* arg0 */ # 155: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .text+0x158
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.global sdk__xt_read_ints
|
||||
.type sdk__xt_read_ints, @function
|
||||
sdk__xt_read_ints:
|
||||
addi sp, sp, -16 /* (local0) */ # 158: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 15b: 0901
|
||||
rsr a2, interrupt # 15d: 20e203
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 160: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 162: 12c110
|
||||
ret # 165: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .text+0x168
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.global sdk__xt_clear_ints
|
||||
.type sdk__xt_clear_ints, @function
|
||||
sdk__xt_clear_ints:
|
||||
addi sp, sp, -16 /* (local0) */ # 168: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 16b: 0901
|
||||
wsr a2, intclear # 16d: 20e313
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 170: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 172: 12c110
|
||||
ret # 175: 0df0
|
538
binary_sdk/libmain/spi_flash.S
Normal file
538
binary_sdk/libmain/spi_flash.S
Normal file
|
@ -0,0 +1,538 @@
|
|||
|
||||
.section .text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: ff9f6ffe
|
||||
# 4: 00020060
|
||||
# 8: 00200000
|
||||
# c: 00000000
|
||||
# 10: 00020060
|
||||
# 14: 00200001
|
||||
# 18: 00201000
|
||||
# 1c: 00208000
|
||||
# 20: 00600000
|
||||
# 24: 00000000
|
||||
# 28: 00000000
|
||||
|
||||
# Function @ .text+0x2c
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.global sdk_SPIReadModeCnfig
|
||||
.type sdk_SPIReadModeCnfig, @function
|
||||
sdk_SPIReadModeCnfig:
|
||||
addi sp, sp, -16 /* (local0) */ # 2c: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 2f: 0901
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 31: c911
|
||||
movi a4, 0xfe6f9fff # 33: 41f3ff
|
||||
movi a3, 0x60000200 # 36: 31f3ff
|
||||
memw # 39: c02000
|
||||
l32i a0, a3, 8 /* [0x60000208] */ # 3c: 0823
|
||||
and a0, a0, a4 # 3e: 400010
|
||||
memw # 41: c02000
|
||||
s32i a0, a3, 8 /* a0 -> [0x60000208] */ # 44: 0923
|
||||
movi a0, sdk_flashchip # 46: 01f1ff
|
||||
beqz a2, .Lbr004 # 49: 166204
|
||||
beqi a2, 1, .Lbr005 # 4c: 261249
|
||||
beqi a2, 2, .Lbr006 # 4f: 26224c
|
||||
beqi a2, 3, .Lbr007 # 52: 26324f
|
||||
addi a6, a2, -4 /* arg0-0x4 */ # 55: 62c2fc
|
||||
movi a5, 0x00002000 # 58: 51ecff
|
||||
movi a12, 0 /* 0x00000000 */ # 5b: 0c0c
|
||||
moveqz a12, a5, a6 # 5d: 60c583
|
||||
.Lbr001: beqz a2, .Lbr003 # 60: ac42
|
||||
beqi a2, 1, .Lbr003 # 62: 261222
|
||||
mov a2, a0 /* sdk_flashchip */ # 65: 2d00
|
||||
call0 Disable_QMode # 67: 01efffc0
|
||||
# 6b: 0000
|
||||
.Lbr002: memw # 6d: c02000
|
||||
movi a8, 0x60000200 # 70: 81e8ff
|
||||
l32i a7, a8, 8 /* [0x60000208] */ # 73: 7828
|
||||
or a7, a7, a12 # 75: c07720
|
||||
memw # 78: c02000
|
||||
s32i a7, a8, 8 /* a7 -> [0x60000208] */ # 7b: 7928
|
||||
movi a2, 0 /* 0x00000000 */ # 7d: 0c02
|
||||
l32i a12, sp, 4 /* [(local1)] */ # 7f: c811
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 81: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 83: 12c110
|
||||
ret /* 0x00000000 */ # 86: 0df0
|
||||
.Lbr003: mov a2, a0 /* sdk_flashchip */ # 88: 2d00
|
||||
call0 Enable_QMode # 8a: 01e7ffc0
|
||||
# 8e: 0000
|
||||
j .Lbr002 # 90: 46f6ff
|
||||
.Lbr004: movi a12, 0x01002000 # 93: c1e0ff
|
||||
j .Lbr001 # 96: 86f1ff
|
||||
.Lbr005: movi a12, 0x00102000 # 99: c1dfff
|
||||
j .Lbr001 # 9c: 06f0ff
|
||||
.Lbr006: movi a12, 0x00802000 # 9f: c1dfff
|
||||
j .Lbr001 # a2: 86eeff
|
||||
.Lbr007: movi a12, 0x00006000 # a5: c1deff
|
||||
j .Lbr001 # a8: 06edff
|
||||
|
||||
.literal_position # ac: 00000000
|
||||
# b0: 00000000
|
||||
# b4: 00000000
|
||||
# b8: 00000000
|
||||
# bc: 00000000
|
||||
# c0: 00000000
|
||||
# c4: 00000000
|
||||
# c8: 00000000
|
||||
# cc: 00000000
|
||||
# d0: 00000000
|
||||
# d4: 00000000
|
||||
|
||||
# Function @ .text+0xd8
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x30
|
||||
# (local1): word @ -0x2c
|
||||
# (local2): word @ -0x28
|
||||
# (local3): word @ -0x24
|
||||
# (local4): word @ -0x20
|
||||
# (local5): word @ -0x1c
|
||||
# (local6): word @ -0x18
|
||||
# (local7): word @ -0x14
|
||||
# (local8): word @ -0x10
|
||||
# (local9): word[3] @ -0xc
|
||||
.global sdk_SPIWrite
|
||||
.type sdk_SPIWrite, @function
|
||||
sdk_SPIWrite:
|
||||
mov a5, a4 /* arg2 */ # d8: 5d04
|
||||
addi sp, sp, -48 /* (local0) */ # da: 12c1d0
|
||||
s32i a12, sp, 16 /* a12 -> [(local4)] */ # dd: c941
|
||||
s32i a14, sp, 24 /* a14 -> [(local6)] */ # df: e961
|
||||
s32i a3, sp, 36 /* arg1 -> [(local9)] */ # e1: 3991
|
||||
s32i a0, sp, 12 /* a0 -> [(local3)] */ # e3: 0931
|
||||
movi a4, sdk_flashchip # e5: 41f1ff
|
||||
s32i a15, sp, 28 /* a15 -> [(local7)] */ # e8: f971
|
||||
s32i a13, sp, 20 /* a13 -> [(local5)] */ # ea: d951
|
||||
mov a15, a3 /* arg1 */ # ec: fd03
|
||||
mov a13, a2 /* arg0 */ # ee: dd02
|
||||
l32i a0, a4, 4 /* [.Ldata001] */ # f0: 0814
|
||||
add a2, a5, a2 # f2: 2a25
|
||||
bltu a0, a2, .Lbr008 # f4: 273002
|
||||
j .Lbr014 # f7: 462000
|
||||
.Lbr008: movi a2, 1 /* 0x00000001 */ # fa: 0c12
|
||||
j .Lbr013 # fc: 461b00
|
||||
.Lbr009: movi a2, sdk_flashchip # ff: 21ecff
|
||||
mov a3, a13 /* arg0 */ # 102: 3d0d
|
||||
mov a4, a15 /* arg1 */ # 104: 4d0f
|
||||
mov a5, a12 # 106: 5d0c
|
||||
call0 SPI_page_program # 108: 01eeffc0
|
||||
# 10c: 0000
|
||||
bnez a2, .Lbr008 # 10e: 5682fe
|
||||
l32i a2, sp, 8 /* [(local2)] */ # 111: 2821
|
||||
mov a3, a14 /* [.Ldata003] */ # 113: 3d0e
|
||||
sub a2, a2, a12 # 115: c022c0
|
||||
s32i a2, sp, 0 /* a2 -> [(local0)] */ # 118: 2901
|
||||
call0 __udivsi3 # 11a: 01eaffc0
|
||||
# 11e: 0000
|
||||
s32i a2, sp, 4 /* a2 -> [(local1)] */ # 120: 2911
|
||||
beqz a2, .Lbr011 # 122: acf2
|
||||
movi a3, 0 /* 0x00000000 */ # 124: 0c03
|
||||
s32i a3, sp, 32 /* 0x00000000 -> [(local8)] */ # 126: 3981
|
||||
.Lbr010: movi a2, sdk_flashchip # 128: 21e3ff
|
||||
add a3, a13, a12 # 12b: ca3d
|
||||
mov a5, a14 /* [.Ldata003] */ # 12d: 5d0e
|
||||
srli a4, a12, 2 # 12f: c04241
|
||||
addx4 a4, a4, a15 # 132: f044a0
|
||||
call0 SPI_page_program # 135: 01e4ffc0
|
||||
# 139: 0000
|
||||
bnez a2, .Lbr008 # 13b: 56b2fb
|
||||
add a12, a14, a12 # 13e: cace
|
||||
l32i a6, sp, 32 /* [(local8)] */ # 140: 6881
|
||||
l32i a5, sp, 4 /* [(local1)] */ # 142: 5811
|
||||
addi a7, a6, 1 /* [(local8)]+0x1 */ # 144: 1b76
|
||||
extui a6, a7, 0, 8 # 146: 706074
|
||||
s32i a6, sp, 32 /* a6 -> [(local8)] */ # 149: 6981
|
||||
bne a5, a6, .Lbr010 # 14b: 6795d9
|
||||
l32i a8, sp, 8 /* [(local2)] */ # 14e: 8821
|
||||
sub a8, a8, a12 # 150: c088c0
|
||||
s32i a8, sp, 0 /* a8 -> [(local0)] */ # 153: 8901
|
||||
.Lbr011: add a3, a13, a12 # 155: ca3d
|
||||
movi a2, sdk_flashchip # 157: 21d8ff
|
||||
l32i a5, sp, 0 /* [(local0)] */ # 15a: 5801
|
||||
srli a4, a12, 2 # 15c: c04241
|
||||
addx4 a4, a4, a15 # 15f: f044a0
|
||||
call0 SPI_page_program # 162: 01daffc0
|
||||
# 166: 0000
|
||||
bnez a2, .Lbr008 # 168: 56e2f8
|
||||
.Lbr012: movi a2, 0 /* 0x00000000 */ # 16b: 0c02
|
||||
.Lbr013: l32i a12, sp, 16 /* [(local4)] */ # 16d: c841
|
||||
l32i a13, sp, 20 /* [(local5)] */ # 16f: d851
|
||||
l32i a14, sp, 24 /* [(local6)] */ # 171: e861
|
||||
l32i a15, sp, 28 /* [(local7)] */ # 173: f871
|
||||
l32i a0, sp, 12 /* [(local3)] */ # 175: 0831
|
||||
addi sp, sp, 48 /* (top of frame) */ # 177: 12c130
|
||||
ret # 17a: 0df0
|
||||
.Lbr014: mov a2, a13 /* arg0 */ # 17c: 2d0d
|
||||
l32i a14, a4, 16 /* [.Ldata003] */ # 17e: e844
|
||||
s32i a5, sp, 8 /* arg2 -> [(local2)] */ # 180: 5921
|
||||
mov a3, a14 /* [.Ldata003] */ # 182: 3d0e
|
||||
call0 __umodsi3 # 184: 01d3ffc0
|
||||
# 188: 0000
|
||||
l32i a5, sp, 8 /* [(local2)] */ # 18a: 5821
|
||||
sub a12, a14, a2 # 18c: 20cec0
|
||||
bltu a5, a12, .Lbr015 # 18f: c73502
|
||||
j .Lbr009 # 192: 46daff
|
||||
.Lbr015: mov a4, a15 /* arg1 */ # 195: 4d0f
|
||||
mov a3, a13 /* arg0 */ # 197: 3d0d
|
||||
movi a2, sdk_flashchip # 199: 21c8ff
|
||||
call0 SPI_page_program # 19c: 01ceffc0
|
||||
# 1a0: 0000
|
||||
bnez a2, .Lbr008 # 1a2: 5642f5
|
||||
j .Lbr012 # 1a5: 86f0ff
|
||||
|
||||
.literal_position # 1a8: 00000000
|
||||
# 1ac: 00000000
|
||||
|
||||
# Function @ .text+0x1b0
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.global sdk_SPIRead
|
||||
.type sdk_SPIRead, @function
|
||||
sdk_SPIRead:
|
||||
mov a5, a4 /* arg2 */ # 1b0: 5d04
|
||||
mov a7, a3 /* arg1 */ # 1b2: 7d03
|
||||
addi sp, sp, -16 /* (local0) */ # 1b4: 12c1f0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 1b7: 0901
|
||||
mov a3, a2 /* arg0 */ # 1b9: 3d02
|
||||
mov a4, a7 /* arg1 */ # 1bb: 4d07
|
||||
movi a2, sdk_flashchip # 1bd: 21faff
|
||||
call0 SPI_read_data # 1c0: 01fbffc0
|
||||
# 1c4: 0000
|
||||
movi a4, 0 /* 0x00000000 */ # 1c6: 0c04
|
||||
l32i a3, sp, 0 /* [(local0)] */ # 1c8: 3801
|
||||
movi a0, 1 /* 0x00000001 */ # 1ca: 0c10
|
||||
addi sp, sp, 16 /* (top of frame) */ # 1cc: 12c110
|
||||
moveqz a0, a4, a2 # 1cf: 200483
|
||||
mov a2, a0 # 1d2: 2d00
|
||||
mov a0, a3 /* [(local0)] */ # 1d4: 0d03
|
||||
ret # 1d6: 0df0
|
||||
|
||||
.literal_position # 1d8: 00000000
|
||||
# 1dc: 00000000
|
||||
# 1e0: 00000000
|
||||
# 1e4: 00000000
|
||||
# 1e8: 00000000
|
||||
# 1ec: 00000000
|
||||
|
||||
# Function @ .text+0x1f0
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.global sdk_SPIEraseSector
|
||||
.type sdk_SPIEraseSector, @function
|
||||
sdk_SPIEraseSector:
|
||||
addi sp, sp, -16 /* (local0) */ # 1f0: 12c1f0
|
||||
movi a3, sdk_flashchip # 1f3: 31f9ff
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 1f6: c911
|
||||
mov a12, a2 /* arg0 */ # 1f8: cd02
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 1fa: 0901
|
||||
l32i a2, a3, 4 /* [.Ldata001] */ # 1fc: 2813
|
||||
l32i a3, a3, 12 /* [.Ldata002] */ # 1fe: 3833
|
||||
call0 __udivsi3 # 200: 01f9ffc0
|
||||
# 204: 0000
|
||||
bgeu a12, a2, .Lbr016 # 206: 27bc1f
|
||||
movi a2, sdk_flashchip # 209: 21f4ff
|
||||
call0 SPI_write_enable # 20c: 01f7ffc0
|
||||
# 210: 0000
|
||||
bnez a2, .Lbr016 # 212: dc32
|
||||
movi a2, sdk_flashchip # 214: 21f3ff
|
||||
l32i a3, a2, 12 /* [.Ldata002] */ # 217: 3832
|
||||
mull a3, a3, a12 # 219: c03382
|
||||
call0 SPI_sector_erase # 21c: 01f4ffc0
|
||||
# 220: 0000
|
||||
bnez a2, .Lbr016 # 222: cc32
|
||||
movi a2, 0 /* 0x00000000 */ # 224: 0c02
|
||||
j .Lbr017 # 226: 460000
|
||||
.Lbr016: movi a2, 1 /* 0x00000001 */ # 229: 0c12
|
||||
.Lbr017: l32i a12, sp, 4 /* [(local1)] */ # 22b: c811
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 22d: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 22f: 12c110
|
||||
ret # 232: 0df0
|
||||
|
||||
.literal_position # 234: 00000000
|
||||
# 238: 00020060
|
||||
# 23c: 00000010
|
||||
# 240: ffffff00
|
||||
# 244: 00000000
|
||||
# 248: 00000000
|
||||
# 24c: 00000000
|
||||
# 250: 00000000
|
||||
# 254: 00000000
|
||||
|
||||
# Function @ .text+0x258
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word[3] @ -0xc
|
||||
.global sdk_spi_flash_get_id
|
||||
.type sdk_spi_flash_get_id, @function
|
||||
sdk_spi_flash_get_id:
|
||||
addi sp, sp, -16 /* (local0) */ # 258: 12c1f0
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 25b: 0911
|
||||
call0 vPortEnterCritical # 25d: 01f9ffc0
|
||||
# 261: 0000
|
||||
call0 Cache_Read_Disable # 263: 01f9ffc0
|
||||
# 267: 0000
|
||||
movi a2, sdk_flashchip # 269: 21f2ff
|
||||
call0 Wait_SPI_Idle # 26c: 01f8ffc0
|
||||
# 270: 0000
|
||||
movi a4, 0 /* 0x00000000 */ # 272: 0c04
|
||||
movi a0, 0x60000200 # 274: 01f1ff
|
||||
memw # 277: c02000
|
||||
s32i a4, a0, 64 /* 0x00000000 -> [0x60000240] */ # 27a: 426010
|
||||
movi a3, 0x10000000 # 27d: 31efff
|
||||
memw # 280: c02000
|
||||
s32i a3, a0, 0 /* 0x10000000 -> [0x60000200] */ # 283: 3900
|
||||
memw # 285: c02000
|
||||
l32i a2, a0, 0 /* [0x60000200] */ # 288: 2800
|
||||
beqz a2, .Lbr019 # 28a: 8c62
|
||||
.Lbr018: memw # 28c: c02000
|
||||
l32i a5, a0, 0 /* [0x60000200] */ # 28f: 5800
|
||||
bnez a5, .Lbr018 # 291: 5675ff
|
||||
.Lbr019: movi a7, 0x00ffffff # 294: 71ebff
|
||||
memw # 297: c02000
|
||||
movi a2, 0 /* 0x00000000 */ # 29a: 0c02
|
||||
movi a3, 0 /* 0x00000000 */ # 29c: 0c03
|
||||
l32i a6, a0, 64 /* [0x60000240] */ # 29e: 622010
|
||||
movi a4, 1 /* 0x00000001 */ # 2a1: 0c14
|
||||
and a6, a6, a7 # 2a3: 706610
|
||||
s32i a6, sp, 0 /* a6 -> [(local0)] */ # 2a6: 6901
|
||||
call0 Cache_Read_Enable # 2a8: 01eaffc0
|
||||
# 2ac: 0000
|
||||
call0 vPortExitCritical # 2ae: 01e9ffc0
|
||||
# 2b2: 0000
|
||||
l32i a8, sp, 4 /* [(local1)] */ # 2b4: 8811
|
||||
l32i a2, sp, 0 /* [(local0)] */ # 2b6: 2801
|
||||
mov a0, a8 /* [(local1)] */ # 2b8: 0d08
|
||||
addi sp, sp, 16 /* (top of frame) */ # 2ba: 12c110
|
||||
ret /* [(local0)] */ # 2bd: 0df0
|
||||
|
||||
.literal_position # 2c0: 00000000
|
||||
# 2c4: 00000000
|
||||
# 2c8: 00000000
|
||||
# 2cc: 00000000
|
||||
# 2d0: 00000000
|
||||
# 2d4: 00000000
|
||||
|
||||
# Function @ .text+0x2d8
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.global sdk_spi_flash_read_status
|
||||
.type sdk_spi_flash_read_status, @function
|
||||
sdk_spi_flash_read_status:
|
||||
addi sp, sp, -16 /* (local0) */ # 2d8: 12c1f0
|
||||
s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 2db: 2901
|
||||
s32i a0, sp, 8 /* a0 -> [(local2)] */ # 2dd: 0921
|
||||
call0 vPortEnterCritical # 2df: 01f9ffc0
|
||||
# 2e3: 0000
|
||||
call0 Cache_Read_Disable # 2e5: 01f8ffc0
|
||||
# 2e9: 0000
|
||||
movi a2, sdk_flashchip # 2eb: 21f5ff
|
||||
l32i a3, sp, 0 /* [(local0)] */ # 2ee: 3801
|
||||
call0 SPI_read_status # 2f0: 01f7ffc0
|
||||
# 2f4: 0000
|
||||
movi a3, 0 /* 0x00000000 */ # 2f6: 0c03
|
||||
s32i a2, sp, 4 /* a2 -> [(local1)] */ # 2f8: 2911
|
||||
movi a4, 1 /* 0x00000001 */ # 2fa: 0c14
|
||||
movi a2, 0 /* 0x00000000 */ # 2fc: 0c02
|
||||
call0 Cache_Read_Enable # 2fe: 01f4ffc0
|
||||
# 302: 0000
|
||||
call0 vPortExitCritical # 304: 01f4ffc0
|
||||
# 308: 0000
|
||||
l32i a3, sp, 8 /* [(local2)] */ # 30a: 3821
|
||||
l32i a2, sp, 4 /* [(local1)] */ # 30c: 2811
|
||||
mov a0, a3 /* [(local2)] */ # 30e: 0d03
|
||||
addi sp, sp, 16 /* (top of frame) */ # 310: 12c110
|
||||
ret /* [(local1)] */ # 313: 0df0
|
||||
|
||||
.literal_position # 318: 00000000
|
||||
# 31c: 00000000
|
||||
# 320: 00000000
|
||||
# 324: 00000000
|
||||
# 328: 00000000
|
||||
# 32c: 00000000
|
||||
|
||||
# Function @ .text+0x330
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.global sdk_spi_flash_write_status
|
||||
.type sdk_spi_flash_write_status, @function
|
||||
sdk_spi_flash_write_status:
|
||||
addi sp, sp, -16 /* (local0) */ # 330: 12c1f0
|
||||
s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 333: 2901
|
||||
s32i a0, sp, 8 /* a0 -> [(local2)] */ # 335: 0921
|
||||
call0 vPortEnterCritical # 337: 01f9ffc0
|
||||
# 33b: 0000
|
||||
call0 Cache_Read_Disable # 33d: 01f8ffc0
|
||||
# 341: 0000
|
||||
movi a2, sdk_flashchip # 343: 21f5ff
|
||||
l32i a3, sp, 0 /* [(local0)] */ # 346: 3801
|
||||
call0 SPI_write_status # 348: 01f7ffc0
|
||||
# 34c: 0000
|
||||
movi a3, 0 /* 0x00000000 */ # 34e: 0c03
|
||||
s32i a2, sp, 4 /* a2 -> [(local1)] */ # 350: 2911
|
||||
movi a4, 1 /* 0x00000001 */ # 352: 0c14
|
||||
movi a2, 0 /* 0x00000000 */ # 354: 0c02
|
||||
call0 Cache_Read_Enable # 356: 01f4ffc0
|
||||
# 35a: 0000
|
||||
call0 vPortExitCritical # 35c: 01f4ffc0
|
||||
# 360: 0000
|
||||
l32i a3, sp, 8 /* [(local2)] */ # 362: 3821
|
||||
l32i a2, sp, 4 /* [(local1)] */ # 364: 2811
|
||||
mov a0, a3 /* [(local2)] */ # 366: 0d03
|
||||
addi sp, sp, 16 /* (top of frame) */ # 368: 12c110
|
||||
ret /* [(local1)] */ # 36b: 0df0
|
||||
|
||||
.literal_position # 370: 00000000
|
||||
# 374: 00000000
|
||||
# 378: 00000000
|
||||
# 37c: 00000000
|
||||
|
||||
# Function @ .text+0x380
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word[2] @ -0x8
|
||||
.global sdk_spi_flash_erase_sector
|
||||
.type sdk_spi_flash_erase_sector, @function
|
||||
sdk_spi_flash_erase_sector:
|
||||
addi sp, sp, -16 /* (local0) */ # 380: 12c1f0
|
||||
s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 383: 2901
|
||||
s32i a0, sp, 8 /* a0 -> [(local2)] */ # 385: 0921
|
||||
call0 vPortEnterCritical # 387: 01faffc0
|
||||
# 38b: 0000
|
||||
call0 Cache_Read_Disable # 38d: 01f9ffc0
|
||||
# 391: 0000
|
||||
l32i a2, sp, 0 /* [(local0)] */ # 393: 2801
|
||||
call0 sdk_SPIEraseSector # 395: 050000
|
||||
movi a3, 0 /* 0x00000000 */ # 398: 0c03
|
||||
s32i a2, sp, 4 /* a2 -> [(local1)] */ # 39a: 2911
|
||||
movi a4, 1 /* 0x00000001 */ # 39c: 0c14
|
||||
movi a2, 0 /* 0x00000000 */ # 39e: 0c02
|
||||
call0 Cache_Read_Enable # 3a0: 01f6ffc0
|
||||
# 3a4: 0000
|
||||
call0 vPortExitCritical # 3a6: 01f5ffc0
|
||||
# 3aa: 0000
|
||||
l32i a3, sp, 8 /* [(local2)] */ # 3ac: 3821
|
||||
l32i a2, sp, 4 /* [(local1)] */ # 3ae: 2811
|
||||
mov a0, a3 /* [(local2)] */ # 3b0: 0d03
|
||||
addi sp, sp, 16 /* (top of frame) */ # 3b2: 12c110
|
||||
ret /* [(local1)] */ # 3b5: 0df0
|
||||
|
||||
.literal_position # 3b8: 00000000
|
||||
# 3bc: 00000000
|
||||
# 3c0: 00000000
|
||||
# 3c4: 00000000
|
||||
|
||||
# Function @ .text+0x3c8
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word @ -0x8
|
||||
# (local3): word @ -0x4
|
||||
.global sdk_spi_flash_write
|
||||
.type sdk_spi_flash_write, @function
|
||||
sdk_spi_flash_write:
|
||||
addi sp, sp, -16 /* (local0) */ # 3c8: 12c1f0
|
||||
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 3cb: 0911
|
||||
s32i a13, sp, 12 /* a13 -> [(local3)] */ # 3cd: d931
|
||||
s32i a12, sp, 8 /* a12 -> [(local2)] */ # 3cf: c921
|
||||
mov a13, a3 /* arg1 */ # 3d1: dd03
|
||||
mov a12, a4 /* arg2 */ # 3d3: cd04
|
||||
bnez a3, .Lbr020 # 3d5: cc33
|
||||
movi a2, 1 /* 0x00000001 */ # 3d7: 0c12
|
||||
j .Lbr022 # 3d9: 460e00
|
||||
.Lbr020: s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 3dc: 2901
|
||||
movi a0, 3 /* 0x00000003 */ # 3de: 0c30
|
||||
bnone a0, a4, .Lbr021 # 3e0: 470007
|
||||
movi a0, 4 /* 0x00000004 */ # 3e3: 0c40
|
||||
srli a12, a4, 2 # 3e5: 40c241
|
||||
addx4 a12, a12, a0 # 3e8: 00cca0
|
||||
.Lbr021: call0 vPortEnterCritical # 3eb: 01f3ffc0
|
||||
# 3ef: 0000
|
||||
call0 Cache_Read_Disable # 3f1: 01f2ffc0
|
||||
# 3f5: 0000
|
||||
mov a4, a12 # 3f7: 4d0c
|
||||
mov a3, a13 /* arg1 */ # 3f9: 3d0d
|
||||
l32i a2, sp, 0 /* [(local0)] */ # 3fb: 2801
|
||||
call0 sdk_SPIWrite # 3fd: 050000
|
||||
movi a3, 0 /* 0x00000000 */ # 400: 0c03
|
||||
mov a12, a2 # 402: cd02
|
||||
movi a4, 1 /* 0x00000001 */ # 404: 0c14
|
||||
movi a2, 0 /* 0x00000000 */ # 406: 0c02
|
||||
call0 Cache_Read_Enable # 408: 01eeffc0
|
||||
# 40c: 0000
|
||||
call0 vPortExitCritical # 40e: 01edffc0
|
||||
# 412: 0000
|
||||
mov a2, a12 # 414: 2d0c
|
||||
.Lbr022: l32i a12, sp, 8 /* [(local2)] */ # 416: c821
|
||||
l32i a13, sp, 12 /* [(local3)] */ # 418: d831
|
||||
l32i a0, sp, 4 /* [(local1)] */ # 41a: 0811
|
||||
addi sp, sp, 16 /* (top of frame) */ # 41c: 12c110
|
||||
ret # 41f: 0df0
|
||||
|
||||
.literal_position # 424: 00000000
|
||||
# 428: 00000000
|
||||
# 42c: 00000000
|
||||
# 430: 00000000
|
||||
|
||||
# Function @ .text+0x434
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x10
|
||||
# (local1): word @ -0xc
|
||||
# (local2): word @ -0x8
|
||||
# (local3): word @ -0x4
|
||||
.global sdk_spi_flash_read
|
||||
.type sdk_spi_flash_read, @function
|
||||
sdk_spi_flash_read:
|
||||
addi sp, sp, -16 /* (local0) */ # 434: 12c1f0
|
||||
s32i a0, sp, 8 /* a0 -> [(local2)] */ # 437: 0921
|
||||
s32i a4, sp, 0 /* arg2 -> [(local0)] */ # 439: 4901
|
||||
s32i a12, sp, 12 /* a12 -> [(local3)] */ # 43b: c931
|
||||
s32i a2, sp, 4 /* arg0 -> [(local1)] */ # 43d: 2911
|
||||
mov a12, a3 /* arg1 */ # 43f: cd03
|
||||
bnez a3, .Lbr023 # 441: cc33
|
||||
movi a2, 1 /* 0x00000001 */ # 443: 0c12
|
||||
j .Lbr024 # 445: 860a00
|
||||
.Lbr023: call0 vPortEnterCritical # 448: 01f7ffc0
|
||||
# 44c: 0000
|
||||
call0 Cache_Read_Disable # 44e: 01f6ffc0
|
||||
# 452: 0000
|
||||
mov a3, a12 /* arg1 */ # 454: 3d0c
|
||||
l32i a2, sp, 4 /* [(local1)] */ # 456: 2811
|
||||
l32i a4, sp, 0 /* [(local0)] */ # 458: 4801
|
||||
call0 sdk_SPIRead # 45a: 050000
|
||||
movi a3, 0 /* 0x00000000 */ # 45d: 0c03
|
||||
mov a12, a2 # 45f: cd02
|
||||
movi a4, 1 /* 0x00000001 */ # 461: 0c14
|
||||
movi a2, 0 /* 0x00000000 */ # 463: 0c02
|
||||
call0 Cache_Read_Enable # 465: 01f1ffc0
|
||||
# 469: 0000
|
||||
call0 vPortExitCritical # 46b: 01f1ffc0
|
||||
# 46f: 0000
|
||||
mov a2, a12 # 471: 2d0c
|
||||
.Lbr024: l32i a12, sp, 12 /* [(local3)] */ # 473: c831
|
||||
l32i a0, sp, 8 /* [(local2)] */ # 475: 0821
|
||||
addi sp, sp, 16 /* (top of frame) */ # 477: 12c110
|
||||
ret # 47a: 0df0
|
||||
|
||||
.section .data, "aw", @progbits
|
||||
|
||||
.global sdk_flashchip
|
||||
.type sdk_flashchip, @object
|
||||
sdk_flashchip:
|
||||
.word 0x001640ef # 0: ef401600
|
||||
.Ldata001: .word 0x00400000 # 4: 00004000
|
||||
|
||||
# NOTE: The following is apparently unreferenced code/data
|
||||
.word 0x00010000 # 8: 00000100
|
||||
|
||||
.Ldata002: .word 0x00001000 # c: 00100000
|
||||
.Ldata003: .word 0x00000100 # 10: 00010000
|
||||
|
||||
# NOTE: The following is apparently unreferenced code/data
|
||||
.word 0x0000ffff # 14: ffff0000
|
229
binary_sdk/libmain/timers.S
Normal file
229
binary_sdk/libmain/timers.S
Normal file
|
@ -0,0 +1,229 @@
|
|||
|
||||
.section .bss, "aw", @nobits
|
||||
|
||||
.Ldata001: .word 0x00000000 # 0: 00000000
|
||||
.Ldata002: .byte 0x00
|
||||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
.literal_position # 0: 00000000
|
||||
# 4: 00000000
|
||||
# 8: 00000000
|
||||
# c: 00000000
|
||||
# 10: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x14
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x20
|
||||
# (local1): word @ -0x1c
|
||||
# (local2): word @ -0x18
|
||||
# (local3): word @ -0x14
|
||||
# (local4): word @ -0x10
|
||||
# (local5): word[3] @ -0xc
|
||||
.global sdk_os_timer_setfn
|
||||
.type sdk_os_timer_setfn, @function
|
||||
sdk_os_timer_setfn:
|
||||
addi sp, sp, -32 /* (local0) */ # 14: 12c1e0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 17: 0901
|
||||
s32i a14, sp, 12 /* a14 -> [(local3)] */ # 19: e931
|
||||
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 1b: d921
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 1d: c911
|
||||
s32i a15, sp, 16 /* a15 -> [(local4)] */ # 1f: f941
|
||||
movi a15, .Ldata001 # 21: f1f7ff
|
||||
mov a12, a2 /* arg0 */ # 24: cd02
|
||||
l32i a13, a15, 0 /* [.Ldata001] */ # 26: d80f
|
||||
mov a14, a4 /* arg2 */ # 28: ed04
|
||||
beqz a13, .Lbr006 # 2a: 16fd04
|
||||
.Lbr001: l32i a0, a13, 4 # 2d: 081d
|
||||
bne a0, a12, .Lbr005 # 2f: c79041
|
||||
l32i a2, a12, 24 /* [arg0+0x18] */ # 32: 286c
|
||||
l32i a4, a12, 16 /* [arg0+0x10] */ # 34: 484c
|
||||
bne a2, a14, .Lbr002 # 36: e79202
|
||||
beq a4, a3, .Lbr007 # 39: 37145f
|
||||
.Lbr002: l32i a2, a12, 4 /* [arg0+0x4] */ # 3c: 281c
|
||||
s32i a3, sp, 20 /* arg1 -> [(local5)] */ # 3e: 3951
|
||||
beqz a2, .Lbr004 # 40: ac32
|
||||
movi a3, 3 /* 0x00000003 */ # 42: 0c33
|
||||
movi a4, 0 /* 0x00000000 */ # 44: 0c04
|
||||
movi a5, 0 /* 0x00000000 */ # 46: 0c05
|
||||
movi a6, 50 /* 0x00000032 */ # 48: 3c26
|
||||
call0 xTimerGenericCommand # 4a: 01efffc0
|
||||
# 4e: 0000
|
||||
l32i a3, sp, 20 /* [(local5)] */ # 50: 3851
|
||||
bnez a2, .Lbr003 # 52: cc92
|
||||
movi a2, .Lstr001 # 54: 21ecff
|
||||
call0 printf # 57: 01edffc0
|
||||
# 5b: 0000
|
||||
l32i a3, sp, 20 /* [(local5)] */ # 5d: 3851
|
||||
.Lbr003: l8ui a5, a15, 4 /* [.Ldata002] */ # 5f: 520f04
|
||||
addi a5, a5, -1 /* [.Ldata002]-0x1 */ # 62: 0b55
|
||||
s8i a5, a15, 4 /* [.Ldata002]-0x1 -> [.Ldata002] */ # 64: 524f04
|
||||
.Lbr004: s32i a3, a12, 16 /* a3 -> [arg0+0x10] */ # 67: 394c
|
||||
s32i a14, a12, 24 /* arg2 -> [arg0+0x18] */ # 69: e96c
|
||||
movi a6, 0 /* 0x00000000 */ # 6b: 0c06
|
||||
s32i a6, a12, 4 /* 0x00000000 -> [arg0+0x4] */ # 6d: 691c
|
||||
s32i a6, a12, 12 /* 0x00000000 -> [arg0+0xc] */ # 6f: 693c
|
||||
j .Lbr007 # 71: c60900
|
||||
.Lbr005: l32i a0, a13, 0 # 74: 080d
|
||||
beqz a0, .Lbr006 # 76: 8c30
|
||||
mov a13, a0 # 78: dd00
|
||||
bnez a0, .Lbr001 # 7a: 56f0fa
|
||||
.Lbr006: s32i a3, a12, 16 /* arg1 -> [arg0+0x10] */ # 7d: 394c
|
||||
s32i a14, a12, 24 /* arg2 -> [arg0+0x18] */ # 7f: e96c
|
||||
movi a2, 8 /* 0x00000008 */ # 81: 0c82
|
||||
movi a7, 0 /* 0x00000000 */ # 83: 0c07
|
||||
s32i a7, a12, 4 /* 0x00000000 -> [arg0+0x4] */ # 85: 791c
|
||||
s32i a7, a12, 12 /* 0x00000000 -> [arg0+0xc] */ # 87: 793c
|
||||
call0 pvPortMalloc # 89: 01e1ffc0
|
||||
# 8d: 0000
|
||||
s32i a12, a2, 4 # 8f: c912
|
||||
movi a9, 0 /* 0x00000000 */ # 91: 0c09
|
||||
l32i a8, a15, 0 /* [.Ldata001] */ # 93: 880f
|
||||
s32i a9, a2, 0 # 95: 9902
|
||||
movnez a15, a13, a8 # 97: 80fd93
|
||||
s32i a2, a15, 0 # 9a: 290f
|
||||
.Lbr007: l32i a12, sp, 4 /* [(local1)] */ # 9c: c811
|
||||
l32i a13, sp, 8 /* [(local2)] */ # 9e: d821
|
||||
l32i a14, sp, 12 /* [(local3)] */ # a0: e831
|
||||
l32i a15, sp, 16 /* [(local4)] */ # a2: f841
|
||||
l32i a0, sp, 0 /* [(local0)] */ # a4: 0801
|
||||
addi sp, sp, 32 /* (top of frame) */ # a6: 12c120
|
||||
ret # a9: 0df0
|
||||
|
||||
.literal_position # ac: 00000000
|
||||
# b0: 18000000
|
||||
# b4: 00000000
|
||||
# b8: 00000000
|
||||
# bc: 00000000
|
||||
# c0: 00000000
|
||||
# c4: 00000000
|
||||
# c8: 00000000
|
||||
# cc: 00000000
|
||||
|
||||
# Function @ .irom0.text+0xd0
|
||||
# Local variables/stack:
|
||||
# (local0): word @ -0x20
|
||||
# (local1): word @ -0x1c
|
||||
# (local2): word @ -0x18
|
||||
# (local3): word @ -0x14
|
||||
# (local4): word[4] @ -0x10
|
||||
.global sdk_os_timer_arm
|
||||
.type sdk_os_timer_arm, @function
|
||||
sdk_os_timer_arm:
|
||||
addi sp, sp, -32 /* (local0) */ # d0: 12c1e0
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # d3: 0901
|
||||
s32i a13, sp, 8 /* a13 -> [(local2)] */ # d5: d921
|
||||
s32i a15, sp, 16 /* a15 -> [(local4)] */ # d7: f941
|
||||
s32i a12, sp, 4 /* a12 -> [(local1)] */ # d9: c911
|
||||
s32i a14, sp, 12 /* a14 -> [(local3)] */ # db: e931
|
||||
mov a12, a2 /* arg0 */ # dd: cd02
|
||||
mov a14, a3 /* arg1 */ # df: ed03
|
||||
l32i a15, a2, 4 /* [arg0+0x4] */ # e1: f812
|
||||
mov a13, a4 /* arg2 */ # e3: dd04
|
||||
bnez a15, .Lbr008 # e5: ecff
|
||||
s8i a4, a2, 20 /* arg2 -> [arg0+0x14] */ # e7: 424214
|
||||
s32i a3, a2, 12 /* arg1 -> [arg0+0xc] */ # ea: 3932
|
||||
mov a2, a3 /* arg1 */ # ec: 2d03
|
||||
movi a3, 10 /* 0x0000000a */ # ee: 0ca3
|
||||
call0 __udivsi3 # f0: 01f1ffc0
|
||||
# f4: 0000
|
||||
mov a4, a13 /* arg2 */ # f6: 4d0d
|
||||
l32i a5, a12, 24 /* [arg0+0x18] */ # f8: 586c
|
||||
mov a3, a2 # fa: 3d02
|
||||
l32i a6, a12, 16 /* [arg0+0x10] */ # fc: 684c
|
||||
movi a2, 0 /* 0x00000000 */ # fe: 0c02
|
||||
call0 xTimerCreate # 100: 01eeffc0
|
||||
# 104: 0000
|
||||
movi a3, .Ldata001 # 106: 31e9ff
|
||||
mov a15, a2 # 109: fd02
|
||||
l8ui a0, a3, 4 /* [.Ldata002] */ # 10b: 020304
|
||||
s32i a2, a12, 4 /* a2 -> [arg0+0x4] */ # 10e: 291c
|
||||
addi a0, a0, 1 /* [.Ldata002]+0x1 */ # 110: 1b00
|
||||
s8i a0, a3, 4 /* [.Ldata002]+0x1 -> [.Ldata002] */ # 112: 024304
|
||||
beqz a2, .Lbr011 # 115: 16c204
|
||||
.Lbr008: l8ui a3, a12, 20 /* [arg0+0x14] */ # 118: 320c14
|
||||
beq a3, a13, .Lbr009 # 11b: d71304
|
||||
s8i a13, a12, 20 /* arg2 -> [arg0+0x14] */ # 11e: d24c14
|
||||
s32i a13, a15, 28 # 121: d97f
|
||||
.Lbr009: l32i a4, a12, 12 /* [arg0+0xc] */ # 123: 483c
|
||||
beq a4, a14, .Lbr010 # 125: e7141b
|
||||
mov a2, a14 /* arg1 */ # 128: 2d0e
|
||||
s32i a14, a12, 12 /* arg1 -> [arg0+0xc] */ # 12a: e93c
|
||||
movi a3, 10 /* 0x0000000a */ # 12c: 0ca3
|
||||
call0 __udivsi3 # 12e: 01e3ffc0
|
||||
# 132: 0000
|
||||
movi a3, 2 /* 0x00000002 */ # 134: 0c23
|
||||
movi a5, 0 /* 0x00000000 */ # 136: 0c05
|
||||
mov a4, a2 # 138: 4d02
|
||||
movi a6, 10 /* 0x0000000a */ # 13a: 0ca6
|
||||
mov a2, a15 # 13c: 2d0f
|
||||
call0 xTimerGenericCommand # 13e: 01e0ffc0
|
||||
# 142: 0000
|
||||
.Lbr010: call0 xTaskGetTickCount # 144: 01e0ffc0
|
||||
# 148: 0000
|
||||
movi a3, 0 /* 0x00000000 */ # 14a: 0c03
|
||||
movi a5, 0 /* 0x00000000 */ # 14c: 0c05
|
||||
mov a4, a2 # 14e: 4d02
|
||||
movi a6, 50 /* 0x00000032 */ # 150: 3c26
|
||||
l32i a2, a12, 4 /* [arg0+0x4] */ # 152: 281c
|
||||
call0 xTimerGenericCommand # 154: 01ddffc0
|
||||
# 158: 0000
|
||||
bnez a2, .Lbr011 # 15a: cc72
|
||||
movi a2, .Lstr002 # 15c: 21d5ff
|
||||
call0 printf # 15f: 01dbffc0
|
||||
# 163: 0000
|
||||
.Lbr011: l32i a12, sp, 4 /* [(local1)] */ # 165: c811
|
||||
l32i a13, sp, 8 /* [(local2)] */ # 167: d821
|
||||
l32i a14, sp, 12 /* [(local3)] */ # 169: e831
|
||||
l32i a15, sp, 16 /* [(local4)] */ # 16b: f841
|
||||
l32i a0, sp, 0 /* [(local0)] */ # 16d: 0801
|
||||
addi sp, sp, 32 /* (top of frame) */ # 16f: 12c120
|
||||
ret # 172: 0df0
|
||||
|
||||
.literal_position # 174: 2c000000
|
||||
# 178: 00000000
|
||||
# 17c: 00000000
|
||||
|
||||
# Function @ .irom0.text+0x180
|
||||
# Local variables/stack:
|
||||
# (local0): word[4] @ -0x10
|
||||
.global sdk_os_timer_disarm
|
||||
.type sdk_os_timer_disarm, @function
|
||||
sdk_os_timer_disarm:
|
||||
addi sp, sp, -16 /* (local0) */ # 180: 12c1f0
|
||||
l32i a2, a2, 4 /* [arg0+0x4] */ # 183: 2812
|
||||
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 185: 0901
|
||||
beqz a2, .Lbr012 # 187: 9c72
|
||||
movi a3, 1 /* 0x00000001 */ # 189: 0c13
|
||||
movi a4, 0 /* 0x00000000 */ # 18b: 0c04
|
||||
movi a5, 0 /* 0x00000000 */ # 18d: 0c05
|
||||
movi a6, 50 /* 0x00000032 */ # 18f: 3c26
|
||||
call0 xTimerGenericCommand # 191: 01f9ffc0
|
||||
# 195: 0000
|
||||
bnez a2, .Lbr012 # 197: cc72
|
||||
movi a2, .Lstr003 # 199: 21f6ff
|
||||
call0 printf # 19c: 01f8ffc0
|
||||
# 1a0: 0000
|
||||
.Lbr012: l32i a0, sp, 0 /* [(local0)] */ # 1a2: 0801
|
||||
addi sp, sp, 16 /* (top of frame) */ # 1a4: 12c110
|
||||
ret # 1a7: 0df0
|
||||
|
||||
.section .rodata.str1.4, "MSa", @progbits, 1
|
||||
|
||||
.Lstr001: .asciz "Timer Delete Failed\n" # 0: 54696d65
|
||||
# 4: 72204465
|
||||
# 8: 6c657465
|
||||
# c: 20466169
|
||||
# 10: 6c65640a
|
||||
# 14: 00
|
||||
.balign 4
|
||||
.Lstr002: .asciz "Timer Start Failed\n" # 18: 54696d65
|
||||
# 1c: 72205374
|
||||
# 20: 61727420
|
||||
# 24: 4661696c
|
||||
# 28: 65640a00
|
||||
.Lstr003: .asciz "Timer Stop Failed\n" # 2c: 54696d65
|
||||
# 30: 72205374
|
||||
# 34: 6f702046
|
||||
# 38: 61696c65
|
||||
# 3c: 640a00
|
44
binary_sdk/libmain/uart.S
Normal file
44
binary_sdk/libmain/uart.S
Normal file
|
@ -0,0 +1,44 @@
|
|||
|
||||
.section .irom0.text, "ax", @progbits
|
||||
|
||||
# Function @ .irom0.text+0x0
|
||||
.global sdk_uart_buff_switch
|
||||
.type sdk_uart_buff_switch, @function
|
||||
sdk_uart_buff_switch:
|
||||
ret /* arg0 */ # 0: 0df0
|
||||
|
||||
.literal_position # 4: 000f0000
|
||||
# 8: 00feff5f
|
||||
# c: 00000600
|
||||
# 10: fffff9ff
|
||||
|
||||
# Function @ .irom0.text+0x14
|
||||
.global sdk_uart_div_modify
|
||||
.type sdk_uart_div_modify, @function
|
||||
sdk_uart_div_modify:
|
||||
movi a5, 0x00000f00 # 14: 51fcff
|
||||
movi a6, 0x5ffffe00 # 17: 61fcff
|
||||
mul16s a5, a5, a2 # 1a: 2055d1
|
||||
add a5, a5, a6 # 1d: 6a55
|
||||
memw # 1f: c02000
|
||||
s32i a3, a5, 0x214 # 22: 326585
|
||||
movi a8, 0x00060000 # 25: 81f9ff
|
||||
memw # 28: c02000
|
||||
l32i a7, a5, 0x220 # 2b: 722588
|
||||
or a7, a7, a8 # 2e: 807720
|
||||
memw # 31: c02000
|
||||
s32i a7, a5, 0x220 # 34: 726588
|
||||
movi a6, 0xfff9ffff # 37: 61f6ff
|
||||
memw # 3a: c02000
|
||||
l32i a4, a5, 0x220 # 3d: 422588
|
||||
and a4, a4, a6 # 40: 604410
|
||||
memw # 43: c02000
|
||||
s32i a4, a5, 0x220 # 46: 426588
|
||||
ret /* arg0 */ # 49: 0df0
|
||||
|
||||
.balign 4
|
||||
# Function @ .irom0.text+0x4c
|
||||
.global sdk_Uart_Init
|
||||
.type sdk_Uart_Init, @function
|
||||
sdk_Uart_Init:
|
||||
ret /* arg0 */ # 4c: 0df0
|
4578
binary_sdk/libmain/user_interface.S
Normal file
4578
binary_sdk/libmain/user_interface.S
Normal file
File diff suppressed because it is too large
Load diff
40
binary_sdk/libmain/xtensa_context.S
Normal file
40
binary_sdk/libmain/xtensa_context.S
Normal file
|
@ -0,0 +1,40 @@
|
|||
|
||||
.section .text, "ax", @progbits
|
||||
|
||||
# Function @ .text+0x0
|
||||
.global sdk__xt_context_save
|
||||
.type sdk__xt_context_save, @function
|
||||
sdk__xt_context_save:
|
||||
s32i a2, sp, 20 /* arg0 -> [(FP)+0x14] */ # 0: 2951
|
||||
s32i a3, sp, 24 /* arg1 -> [(FP)+0x18] */ # 2: 3961
|
||||
s32i a4, sp, 28 /* arg2 -> [(FP)+0x1c] */ # 4: 4971
|
||||
s32i a5, sp, 32 /* arg3 -> [(FP)+0x20] */ # 6: 5981
|
||||
s32i a6, sp, 36 /* arg4 -> [(FP)+0x24] */ # 8: 6991
|
||||
s32i a7, sp, 40 /* arg5 -> [(FP)+0x28] */ # a: 79a1
|
||||
s32i a8, sp, 44 /* a8 -> [(FP)+0x2c] */ # c: 89b1
|
||||
s32i a9, sp, 48 /* a9 -> [(FP)+0x30] */ # e: 99c1
|
||||
s32i a10, sp, 52 /* a10 -> [(FP)+0x34] */ # 10: a9d1
|
||||
s32i a11, sp, 56 /* a11 -> [(FP)+0x38] */ # 12: b9e1
|
||||
rsr a3, sar # 14: 300303
|
||||
s32i a3, sp, 76 /* a3 -> [(FP)+0x4c] */ # 17: 326113
|
||||
ret /* arg0 */ # 1a: 0df0
|
||||
|
||||
# Function @ .text+0x1c
|
||||
.global sdk__xt_context_restore
|
||||
.type sdk__xt_context_restore, @function
|
||||
sdk__xt_context_restore:
|
||||
l32i a3, sp, 76 /* [(FP)+0x4c] */ # 1c: 322113
|
||||
l32i a2, sp, 20 /* [(FP)+0x14] */ # 1f: 2851
|
||||
wsr a3, sar # 21: 300313
|
||||
l32i a3, sp, 24 /* [(FP)+0x18] */ # 24: 3861
|
||||
l32i a4, sp, 28 /* [(FP)+0x1c] */ # 26: 4871
|
||||
l32i a5, sp, 32 /* [(FP)+0x20] */ # 28: 5881
|
||||
l32i a6, sp, 36 /* [(FP)+0x24] */ # 2a: 6891
|
||||
l32i a7, sp, 40 /* [(FP)+0x28] */ # 2c: 78a1
|
||||
l32i a8, sp, 44 /* [(FP)+0x2c] */ # 2e: 88b1
|
||||
l32i a9, sp, 48 /* [(FP)+0x30] */ # 30: 98c1
|
||||
l32i a10, sp, 52 /* [(FP)+0x34] */ # 32: a8d1
|
||||
l32i a11, sp, 56 /* [(FP)+0x38] */ # 34: b8e1
|
||||
l32i a12, sp, 60 /* [(FP)+0x3c] */ # 36: c8f1
|
||||
l32i a13, sp, 64 /* [(FP)+0x40] */ # 38: d22110
|
||||
ret /* [(FP)+0x14] */ # 3b: 0df0
|
0
binary_sdk/libmain/xtensa_init.S
Normal file
0
binary_sdk/libmain/xtensa_init.S
Normal file
Loading…
Add table
Add a link
Reference in a new issue