📄 charger.asm
字号:
; |400|
;* --------------------------------------------------------------------------*
SUBS V9, V9, #100 ; |400|
BEQ L13 ; |400|
; |400|
;* --------------------------------------------------------------------------*
L15:
.dwpsn "charger.c",437,3
MOV A1, #0 ; |437|
BL _MSI2C_AccessPage ; |437|
; |437|
.dwpsn "charger.c",439,3
LDR V9, [SP, #0] ; |439|
LDR A1, [SP, #8] ; |439|
ORR V9, A1, V9, LSL #4 ; |439|
ORR V9, V9, #136 ; |439|
MOV A1, #125 ; |439|
AND A2, V9, #255
BL _MSI2C_MasterPollingSendAbb ; |439|
; |439|
.dwpsn "charger.c",442,8
MOV V9, #0 ; |442|
STR V9, [SP, #28] ; |442|
.dwpsn "charger.c",442,12
MOV V9, #576 ; |442|
ADD V9, V9, #999424 ; |442|
LDR A1, [SP, #28] ; |442|
CMP A1, V9 ; |442|
BGE L17 ; |442|
; |442|
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L16
;*
;* Loop source line : 442
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L16:
DW$L$_I2V_calib$17$B:
.dwpsn "charger.c",442,22
LDR V9, [SP, #28] ; |442|
ADD V9, V9, #1 ; |442|
STR V9, [SP, #28] ; |442|
.dwpsn "charger.c",442,12
MOV V9, #576 ; |442|
LDR A1, [SP, #28] ; |442|
ADD V9, V9, #999424 ; |442|
CMP A1, V9 ; |442|
BLT L16 ; |442|
; |442|
DW$L$_I2V_calib$17$E:
;* --------------------------------------------------------------------------*
L17:
.dwpsn "charger.c",445,3
BL _MADC_SP1_poll ; |445|
; |445|
CMP A1, #0 ; |445|
BEQ L18 ; |445|
; |445|
;* --------------------------------------------------------------------------*
.dwpsn "charger.c",447,7
MOV A1, #81 ; |447|
BL _MSI2C_MasterPollingReceiveAbb ; |447|
; |447|
AND V9, A1, #3 ; |447|
STR V9, [SP, #12] ; |447|
.dwpsn "charger.c",448,7
MOV A1, #80 ; |448|
BL _MSI2C_MasterPollingReceiveAbb ; |448|
; |448|
STR A1, [SP, #16] ; |448|
.dwpsn "charger.c",449,7
LDR A1, [SP, #16] ; |449|
LDR V9, [SP, #12] ; |449|
ORR V9, A1, V9, LSL #8 ; |449|
STR V9, [SP, #20] ; |449|
.dwpsn "charger.c",450,7
LDR A1, [SP, #20] ; |450|
BL I_TOFD ; |450|
; |450|
ADR V9, FL1 ; |450|
LDMIA V9, {A3,A4} ; |450|
BL FD_MUL ; |450|
; |450|
BL FD_TOI ; |450|
; |450|
STR A1, [SP, #24] ; |450|
.dwpsn "charger.c",453,7
MOV A1, #0 ; |453|
BL _MSI2C_AccessPage ; |453|
; |453|
.dwpsn "charger.c",455,7
MOV A1, #125 ; |455|
MOV A2, #0 ; |455|
BL _MSI2C_MasterPollingSendAbb ; |455|
; |455|
.dwpsn "charger.c",458,7
LDR A1, [SP, #24] ; |458|
B L19 ; |458|
; |458|
;* --------------------------------------------------------------------------*
;* --------------------------------------------------------------------------*
L18:
.dwpsn "charger.c",464,7
MOV A1, #0 ; |464|
;* --------------------------------------------------------------------------*
L19:
.dwpsn "charger.c",467,1
ADD SP, SP, #32 ; |464|
.dwcfa 0x0e, 4
LDMFD SP!, {PC}
DW$75 .dwtag DW_TAG_loop
.dwattr DW$75, DW_AT_name("D:\src\boston_board_test\ARM\arm_src\charger.asm:L16:1:1214374275")
.dwattr DW$75, DW_AT_begin_file("charger.c")
.dwattr DW$75, DW_AT_begin_line(0x1ba)
.dwattr DW$75, DW_AT_end_line(0x1ba)
DW$76 .dwtag DW_TAG_loop_range
.dwattr DW$76, DW_AT_low_pc(DW$L$_I2V_calib$17$B)
.dwattr DW$76, DW_AT_high_pc(DW$L$_I2V_calib$17$E)
.dwendtag DW$75
.dwattr DW$64, DW_AT_end_file("charger.c")
.dwattr DW$64, DW_AT_end_line(0x1d3)
.dwattr DW$64, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$64
;******************************************************************************
;* STRINGS *
;******************************************************************************
.sect ".text"
.align 4
SL5: .string 13," EOCRT bit = %d , expected '1' when conversion finished",13
.string 10,10,0
.sect ".text"
.align 4
.clink
.armfunc _Disable_Comparator
.state32
.global _Disable_Comparator
DW$77 .dwtag DW_TAG_subprogram, DW_AT_name("Disable_Comparator"), DW_AT_symbol_name("_Disable_Comparator")
.dwattr DW$77, DW_AT_low_pc(_Disable_Comparator)
.dwattr DW$77, DW_AT_high_pc(0x00)
.dwattr DW$77, DW_AT_begin_file("charger.c")
.dwattr DW$77, DW_AT_begin_line(0x1e3)
.dwattr DW$77, DW_AT_begin_column(0x06)
.dwpsn "charger.c",484,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: Disable_Comparator *
;* *
;* Regs Modified : A1,A2,A3,A4,V9,SP,LR,SR *
;* Regs Used : A1,A2,A3,A4,V9,SP,LR,SR *
;* Local Frame Size : 0 Args + 4 Auto + 4 Save = 8 byte *
;*****************************************************************************
_Disable_Comparator:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
STMFD SP!, {A4, LR}
.dwcfa 0x0e, 4
.dwcfa 0x80, 14, 1
.dwcfa 0x0e, 8
.dwcfa 0x80, 3, 2
.dwcfa 0x0e, 8
DW$78 .dwtag DW_TAG_variable, DW_AT_name("previous_content"), DW_AT_symbol_name("_previous_content")
.dwattr DW$78, DW_AT_type(*DW$T$10)
.dwattr DW$78, DW_AT_location[DW_OP_breg13 0]
.dwpsn "charger.c",488,3
MOV A1, #0 ; |488|
BL _MSI2C_AccessPage ; |488|
; |488|
.dwpsn "charger.c",491,3
MOV A2, #26 ; |491|
MOV A1, #123 ; |491|
BL _MSI2C_MasterPollingSendAbb ; |491|
; |491|
.dwpsn "charger.c",494,3
MOV A1, #131 ; |494|
BL _MSI2C_MasterPollingReceiveAbb ; |494|
; |494|
AND V9, A1, #255 ; |494|
STR V9, [SP, #0] ; |494|
.dwpsn "charger.c",497,3
LDR V9, [SP, #0] ; |497|
AND V9, V9, #223 ; |497|
MOV A1, #131 ; |497|
AND A2, V9, #255
BL _MSI2C_MasterPollingSendAbb ; |497|
; |497|
.dwpsn "charger.c",498,1
.dwcfa 0x0e, 8
LDMFD SP!, {A4, PC}
.dwattr DW$77, DW_AT_end_file("charger.c")
.dwattr DW$77, DW_AT_end_line(0x1f2)
.dwattr DW$77, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$77
.sect ".text"
.align 4
.clink
.armfunc _Disable_Watchdog
.state32
.global _Disable_Watchdog
DW$79 .dwtag DW_TAG_subprogram, DW_AT_name("Disable_Watchdog"), DW_AT_symbol_name("_Disable_Watchdog")
.dwattr DW$79, DW_AT_low_pc(_Disable_Watchdog)
.dwattr DW$79, DW_AT_high_pc(0x00)
.dwattr DW$79, DW_AT_begin_file("charger.c")
.dwattr DW$79, DW_AT_begin_line(0x203)
.dwattr DW$79, DW_AT_begin_column(0x06)
.dwpsn "charger.c",516,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: Disable_Watchdog *
;* *
;* Regs Modified : A1,A2,A3,A4,V9,SP,LR,SR *
;* Regs Used : A1,A2,A3,A4,V9,SP,LR,SR *
;* Local Frame Size : 0 Args + 0 Auto + 4 Save = 4 byte *
;*****************************************************************************
_Disable_Watchdog:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
STMFD SP!, {LR}
.dwcfa 0x0e, 4
.dwcfa 0x80, 14, 1
.dwcfa 0x0e, 4
.dwpsn "charger.c",518,3
MOV A1, #0 ; |518|
BL _MSI2C_AccessPage ; |518|
; |518|
.dwpsn "charger.c",521,3
MOV A2, #51 ; |521|
MOV A1, #128 ; |521|
BL _MSI2C_MasterPollingSendAbb ; |521|
; |521|
.dwpsn "charger.c",522,1
.dwcfa 0x0e, 4
LDMFD SP!, {PC}
.dwattr DW$79, DW_AT_end_file("charger.c")
.dwattr DW$79, DW_AT_end_line(0x20a)
.dwattr DW$79, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$79
.sect ".text"
.align 4
.clink
.armfunc _Read_BatteryVoltage
.state32
.global _Read_BatteryVoltage
DW$80 .dwtag DW_TAG_subprogram, DW_AT_name("Read_BatteryVoltage"), DW_AT_symbol_name("_Read_BatteryVoltage")
.dwattr DW$80, DW_AT_low_pc(_Read_BatteryVoltage)
.dwattr DW$80, DW_AT_high_pc(0x00)
.dwattr DW$80, DW_AT_begin_file("charger.c")
.dwattr DW$80, DW_AT_begin_line(0x214)
.dwattr DW$80, DW_AT_begin_column(0x05)
.dwpsn "charger.c",533,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: Read_BatteryVoltage *
;* *
;* Regs Modified : A1,A2,A3,A4,V9,SP,LR,SR *
;* Regs Used : A1,A2,A3,A4,V9,SP,LR,SR *
;* Local Frame Size : 0 Args + 12 Auto + 4 Save = 16 byte *
;*****************************************************************************
_Read_BatteryVoltage:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
STMFD SP!, {A2, A3, A4, LR}
.dwcfa 0x0e, 4
.dwcfa 0x80, 14, 1
.dwcfa 0x0e, 8
.dwcfa 0x80, 3, 2
.dwcfa 0x0e, 12
.dwcfa 0x80, 2, 3
.dwcfa 0x0e, 16
.dwcfa 0x80, 1, 4
.dwcfa 0x0e, 16
DW$81 .dwtag DW_TAG_variable, DW_AT_name("voltage"), DW_AT_symbol_name("_voltage")
.dwattr DW$81, DW_AT_type(*DW$T$10)
.dwattr DW$81, DW_AT_location[DW_OP_breg13 0]
DW$82 .dwtag DW_TAG_variable, DW_AT_name("LSB"), DW_AT_symbol_name("_LSB")
.dwattr DW$82, DW_AT_type(*DW$T$10)
.dwattr DW$82, DW_AT_location[DW_OP_breg13 4]
DW$83 .dwtag DW_TAG_variable, DW_AT_name("MSB"), DW_AT_symbol_name("_MSB")
.dwattr DW$83, DW_AT_type(*DW$T$10)
.dwattr DW$83, DW_AT_location[DW_OP_breg13 8]
.dwpsn "charger.c",536,2
MOV A1, #0 ; |536|
BL _MSI2C_AccessPage ; |536|
; |536|
.dwpsn "charger.c",537,2
MOV A1, #63 ; |537|
BL _MSI2C_MasterPollingReceiveAbb ; |537|
; |537|
STR A1, [SP, #8] ; |537|
.dwpsn "charger.c",538,2
MOV A1, #62 ; |538|
BL _MSI2C_MasterPollingReceiveAbb ; |538|
; |538|
STR A1, [SP, #4] ; |538|
.dwpsn "charger.c",539,2
LDR V9, [SP, #8] ; |539|
AND V9, V9, #3 ; |539|
STR V9, [SP, #0] ; |539|
LDR A1, [SP, #4] ; |539|
ORR V9, A1, V9, LSL #8 ; |539|
STR V9, [SP, #0] ; |539|
.dwpsn "charger.c",540,2
LDR A1, [SP, #0] ; |540|
.dw
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -