ROM:1FFFB000 ;
ROM:1FFFB000 ; +-------------------------------------------------------------------------+
ROM:1FFFB000 ; | This file has been generated by The Interactive Disassembler (IDA) |
ROM:1FFFB000 ; | Copyright (c) 2015 Hex-Rays, <support@hex-rays.com> |
ROM:1FFFB000 ; | License info: 48-B611-7234-BB |
ROM:1FFFB000 ; | Doskey Lee, Kingsoft Internet Security Software |
ROM:1FFFB000 ; +-------------------------------------------------------------------------+
ROM:1FFFB000 ;
ROM:1FFFB000 ; Input MD5 : BAF28889DBC26C2DB2C4288A2381ABBC
ROM:1FFFB000 ; Input CRC32 : C1A3082A
ROM:1FFFB000
ROM:1FFFB000 ; File Name : D:\desktop\test32boot\stm32_boot_entry_1fffb000.bin
ROM:1FFFB000 ; Format : Binary file
ROM:1FFFB000 ; Base Address: 0000h Range: 1FFFB000h - 1FFFF800h Loaded length: 4800h
ROM:1FFFB000
ROM:1FFFB000 ; Processor : ARM
ROM:1FFFB000 ; ARM architecture: metaarm
ROM:1FFFB000 ; Target assembler: Generic assembler for ARM
ROM:1FFFB000 ; Byte sex : Little endian
ROM:1FFFB000
ROM:1FFFB000 ; ===========================================================================
ROM:1FFFB000
ROM:1FFFB000 ; Segment type: Pure code
ROM:1FFFB000 AREA ROM, CODE, READWRITE, ALIGN=0
ROM:1FFFB000 ; ORG 0x1FFFB000
ROM:1FFFB000 CODE32
ROM:1FFFB000 dword_1FFFB000 DCD 0x20000FF0 ; DATA XREF: g_sys_init+24o
ROM:1FFFB000 ; sfe(CSTACK)
ROM:1FFFB004 DCD 0x1FFFE9C1 ; Reset_Handler
ROM:1FFFB008 DCD 0x1FFFE9CD ; NMI_Handler
ROM:1FFFB00C DCD 0x1FFFE9CD ; HardFault_Handler
ROM:1FFFB010 DCD 0x1FFFE9CD ; MemManage_Handler
ROM:1FFFB014 DCD 0x1FFFE9CD ; BusFault_Handler
ROM:1FFFB018 DCD 0x1FFFE9CD ; UsageFault_Handler
ROM:1FFFB01C DCD 0 ; Reserved
ROM:1FFFB020 DCD 0 ; Reserved
ROM:1FFFB024 DCD 0 ; Reserved
ROM:1FFFB028 DCD 0 ; Reserved
ROM:1FFFB02C DCD 0x1FFFE9CD ; SVC_Handler
ROM:1FFFB030 DCD 0x1FFFE9CD ; DebugMon_Handler
ROM:1FFFB034 DCD 0 ; Reserved
ROM:1FFFB038 DCD 0x1FFFE9CD ; PendSV_Handler
ROM:1FFFB03C DCD 0x1FFFE9CD ; SysTick_Handler
ROM:1FFFB040 DCD 0x1FFFE9CD ; WWDG_IRQHandler
ROM:1FFFB044 DCD 0x1FFFE9CD ; PVD_IRQHandler
ROM:1FFFB048 DCD 0x1FFFE9CD ; TAMPER_IRQHandler
ROM:1FFFB04C DCD 0x1FFFE9CD ; RTC_IRQHandler
ROM:1FFFB050 DCD 0x1FFFE9CD ; FLASH_IRQHandler
ROM:1FFFB054 DCD 0x1FFFE9CD ; RCC_IRQHandler
ROM:1FFFB058 DCD 0x1FFFE9CD ; EXTI0_IRQHandler
ROM:1FFFB05C DCD 0x1FFFE9CD ; EXTI1_IRQHandler
ROM:1FFFB060 DCD 0x1FFFE9CD ; EXTI2_IRQHandler
ROM:1FFFB064 DCD 0x1FFFE9CD ; EXTI3_IRQHandler
ROM:1FFFB068 DCD 0x1FFFE9CD ; EXTI4_IRQHandler
ROM:1FFFB06C DCD 0x1FFFE9CD ; DMA1_Channel1_IRQHandler
ROM:1FFFB070 DCD 0x1FFFE9CD ; DMA1_Channel2_IRQHandler
ROM:1FFFB074 DCD 0x1FFFE9CD ; DMA1_Channel3_IRQHandler
ROM:1FFFB078 DCD 0x1FFFE9CD ; DMA1_Channel4_IRQHandler
ROM:1FFFB07C DCD 0x1FFFE9CD ; DMA1_Channel5_IRQHandler
ROM:1FFFB080 DCD 0x1FFFE9CD ; DMA1_Channel6_IRQHandler
ROM:1FFFB084 DCD 0x1FFFE9CD ; DMA1_Channel7_IRQHandler
ROM:1FFFB088 DCD 0x1FFFE9CD ; ADC1_2_IRQHandler
ROM:1FFFB08C DCD 0x1FFFE9CD ; CAN1_TX_IRQHandler
ROM:1FFFB090 DCD 0x1FFFE9CD ; CAN1_RX0_IRQHandler
ROM:1FFFB094 DCD 0x1FFFE9CD ; CAN1_RX1_IRQHandler
ROM:1FFFB098 DCD 0x1FFFE9CD ; CAN1_SCE_IRQHandler
ROM:1FFFB09C DCD 0x1FFFE9CD ; EXTI9_5_IRQHandler
ROM:1FFFB0A0 DCD 0x1FFFE9CD ; TIM1_BRK_IRQHandler
ROM:1FFFB0A4 DCD 0x1FFFE9CD ; TIM1_UP_IRQHandler
ROM:1FFFB0A8 DCD 0x1FFFE9CD ; TIM1_TRG_COM_IRQHandler
ROM:1FFFB0AC DCD 0x1FFFE9CD ; TIM1_CC_IRQHandler
ROM:1FFFB0B0 DCD 0x1FFFE9CD ; TIM2_IRQHandler
ROM:1FFFB0B4 DCD 0x1FFFE9CD ; TIM3_IRQHandler
ROM:1FFFB0B8 DCD 0x1FFFE9CD ; TIM4_IRQHandler
ROM:1FFFB0BC DCD 0x1FFFE9CD ; I2C1_EV_IRQHandler
ROM:1FFFB0C0 DCD 0x1FFFE9CD ; I2C1_ER_IRQHandler
ROM:1FFFB0C4 DCD 0x1FFFE9CD ; I2C2_EV_IRQHandler
ROM:1FFFB0C8 DCD 0x1FFFE9CD ; I2C2_ER_IRQHandler
ROM:1FFFB0CC DCD 0x1FFFE9CD ; SPI1_IRQHandler
ROM:1FFFB0D0 DCD 0x1FFFE9CD ; SPI2_IRQHandler
ROM:1FFFB0D4 DCD 0x1FFFE9CD ; USART1_IRQHandler
ROM:1FFFB0D8 DCD 0x1FFFE9CD ; USART2_IRQHandler
ROM:1FFFB0DC DCD 0x1FFFE9CD ; USART3_IRQHandler
ROM:1FFFB0E0 DCD 0x1FFFE9CD ; EXTI15_10_IRQHandler
ROM:1FFFB0E4 DCD 0x1FFFE9CD ; RTCAlarm_IRQHandler
ROM:1FFFB0E8 DCD 0x1FFFE9CD ; OTG_FS_WKUP_IRQHandler
ROM:1FFFB0EC DCD 0x1FFFE9CD ; Reserved
ROM:1FFFB0F0 DCD 0x1FFFE9CD ; Reserved
ROM:1FFFB0F4 DCD 0x1FFFE9CD ; Reserved
ROM:1FFFB0F8 DCD 0x1FFFE9CD ; Reserved
ROM:1FFFB0FC DCD 0x1FFFE9CD ; Reserved
ROM:1FFFB100 DCD 0x1FFFE9CD ; Reserved
ROM:1FFFB104 DCD 0x1FFFE9CD ; Reserved
ROM:1FFFB108 DCD 0x1FFFE9CD ; TIM5_IRQHandler
ROM:1FFFB10C DCD 0x1FFFE9CD ; SPI3_IRQHandler
ROM:1FFFB110 DCD 0x1FFFE9CD ; UART4_IRQHandler
ROM:1FFFB114 DCD 0x1FFFE9CD ; UART5_IRQHandler
ROM:1FFFB118 DCD 0x1FFFE9CD ; TIM6_IRQHandler
ROM:1FFFB11C DCD 0x1FFFE9CD ; TIM7_IRQHandler
ROM:1FFFB120 DCD 0x1FFFE9CD ; DMA2_Channel1_IRQHandler
ROM:1FFFB124 DCD 0x1FFFE9CD ; DMA2_Channel2_IRQHandler
ROM:1FFFB128 DCD 0x1FFFE9CD ; DMA2_Channel3_IRQHandler
ROM:1FFFB12C DCD 0x1FFFE9CD ; DMA2_Channel4_IRQHandler
ROM:1FFFB130 DCD 0x1FFFE9CD ; DMA2_Channel5_IRQHandler
ROM:1FFFB134 DCD 0x1FFFE9CD ; ETH_IRQHandler
ROM:1FFFB138 DCD 0x1FFFE9CD ; ETH_WKUP_IRQHandler
ROM:1FFFB13C DCD 0x1FFFE9CD ; CAN2_TX_IRQHandler
ROM:1FFFB140 DCD 0x1FFFE9CD ; CAN2_RX0_IRQHandler
ROM:1FFFB144 DCD 0x1FFFE9CD ; CAN2_RX1_IRQHandler
ROM:1FFFB148 DCD 0x1FFFE9CD ; CAN2_SCE_IRQHandler
ROM:1FFFB14C DCD 0x1FFFE9D1 ; OTG_FS_IRQHandler
ROM:1FFFB150 CODE16
ROM:1FFFB150
ROM:1FFFB150 ; =============== S U B R O U T I N E =======================================
ROM:1FFFB150
ROM:1FFFB150
ROM:1FFFB150 trigger_canbus ; CODE XREF: g_sys_init+8Ap
ROM:1FFFB150
ROM:1FFFB150 ; FUNCTION CHUNK AT ROM:1FFFB8FC SIZE 00000044 BYTES
ROM:1FFFB150
ROM:1FFFB150 LDR.W R0, =0x40021010 ; 复位和时钟控制(RCC)
ROM:1FFFB154 LDR R1, [R0,#8]
ROM:1FFFB156 ORR.W R1, R1, #8
ROM:1FFFB15A STR R1, [R0,#8]
ROM:1FFFB15C LDR R1, [R0,#8]
ROM:1FFFB15E ORR.W R1, R1, #1
ROM:1FFFB162 STR R1, [R0,#8]
ROM:1FFFB164 LDR R1, [R0,#0xC]
ROM:1FFFB166 ORR.W R1, R1, #0x4000000
ROM:1FFFB16A STR R1, [R0,#0xC]
ROM:1FFFB16C LDR R1, [R0,#0xC]
ROM:1FFFB16E ORR.W R1, R1, #0x2000000
ROM:1FFFB172 STR R1, [R0,#0xC]
ROM:1FFFB174 LDR.W R1, =0x40010004 ; AFIO
ROM:1FFFB178 LDR R2, [R1]
ROM:1FFFB17A ORR.W R2, R2, #0x400000
ROM:1FFFB17E STR R2, [R1]
ROM:1FFFB180 LDR.W R1, =0x40010C00 ; GPIO端口B
ROM:1FFFB184 LDR.W R2, =0x4B844444
ROM:1FFFB188 STR R2, [R1]
ROM:1FFFB18A LDR R1, [R0]
ROM:1FFFB18C ORR.W R1, R1, #0x4000000
ROM:1FFFB190 STR R1, [R0]
ROM:1FFFB192 LDR R1, [R0]
ROM:1FFFB194 BIC.W R1, R1, #0x4000000
ROM:1FFFB198 STR R1, [R0]
ROM:1FFFB19A LDR R1, [R0]
ROM:1FFFB19C ORR.W R1, R1, #0x2000000
ROM:1FFFB1A0 STR R1, [R0]
ROM:1FFFB1A2 LDR R1, [R0]
ROM:1FFFB1A4 BIC.W R1, R1, #0x2000000
ROM:1FFFB1A8 STR R1, [R0]
ROM:1FFFB1AA B loc_1FFFB8FC ; bxCAN1
ROM:1FFFB1AA ; End of function trigger_canbus
ROM:1FFFB1AA
ROM:1FFFB1AC
ROM:1FFFB1AC ; =============== S U B R O U T I N E =======================================
ROM:1FFFB1AC
ROM:1FFFB1AC
ROM:1FFFB1AC check_canbus2 ; CODE XREF: start_work:can2_workp
ROM:1FFFB1AC
ROM:1FFFB1AC var_148 = -0x148
ROM:1FFFB1AC var_144 = -0x144
ROM:1FFFB1AC var_143 = -0x143
ROM:1FFFB1AC var_142 = -0x142
ROM:1FFFB1AC var_141 = -0x141
ROM:1FFFB1AC var_140 = -0x140
ROM:1FFFB1AC var_13C = -0x13C
ROM:1FFFB1AC var_138 = -0x138
ROM:1FFFB1AC var_134 = -0x134
ROM:1FFFB1AC var_124 = -0x124
ROM:1FFFB1AC
ROM:1FFFB1AC ; FUNCTION CHUNK AT ROM:1FFFB610 SIZE 00000014 BYTES
ROM:1FFFB1AC ; FUNCTION CHUNK AT ROM:1FFFB62C SIZE 0000001E BYTES
ROM:1FFFB1AC
ROM:1FFFB1AC PUSH.W {R4-R11,LR}
ROM:1FFFB1B0 SUB SP, SP, #0x124
ROM:1FFFB1B2 ADD R0, SP, #0x148+var_134
ROM:1FFFB1B4 ADR.W R1, sub_1FFFBAB8
ROM:1FFFB1B8 MOVS R2, #0x10
ROM:1FFFB1BA BL memcpy ; N 当用两个补码表示的带符号数进行运算时,N=1表示运算的结果为负数;N=0表示运算的结果为正数或零.
ROM:1FFFB1BA ; Z Z=1表示运算的结果为零,Z=0表示运算的结果非零。
ROM:1FFFB1BA ; C 可以有4种方法设置C的值:
ROM:1FFFB1BA ; 加法运算(包括CMN):当运算结果产生了进位时(无符号数溢出),C=1,否则C=0。
ROM:1FFFB1BA ; 减法运算(包括CMP):当运算时产生了借位时(无符号数溢出),C=0,否则C=1。
ROM:1FFFB1BA ; 对于包含移位操作的非加/减运算指令,C为移出值的最后一位。
ROM:1FFFB1BA ; 对于其它的非加/减运算指令,C的值通常不会改变。
ROM:1FFFB1BA ; V 可以有2种方法设置V的值:
ROM:1FFFB1BA ; 对于加减法运算指令,当操作数和运算结果为二进制的补码表示的带符号数时,V=1表示符号位溢出
ROM:1FFFB1BA ; 对于其它的非加/减运算指令,V的值通常不会改变。
ROM:1FFFB1BA ;
ROM:1FFFB1BA ; 0000 = EQ - Z set (equal,相等)
ROM:1FFFB1BA ; 0001 = NE - Z clear (not equal,不相等)
ROM:1FFFB1BA ; 0010 = CS - C set (unsigned higher or same,无符号大于或等于)
ROM:1FFFB1BA ; 0011 = CC - C clear (unsigned lower,无符号小于)
ROM:1FFFB1BA ; 0100 = MI - N set (negative,负数)
ROM:1FFFB1BA ; 0101 = PL - N clear (positive or zero,正数或零)
ROM:1FFFB1BA ; 0110 = VS - V set (overflow,溢出)
ROM:1FFFB1BA ; 0111 = VC - V clear (no overflow,未溢出)
ROM:1FFFB1BA ; 1000 = HI - C set and Z clear (unsigned higher,无符号大于)
ROM:1FFFB1BA ; 1001 = LS - C clear or Z set (unsigned lower or same,无符号小于或等于)
ROM:1FFFB1BA ; 1010 = GE - N set and V set, or N clear and V clear (greater or equal,带符号大于或等于)
ROM:1FFFB1BA ; 1011 = LT - N set and V clear, or N clear and V set (less than,带符号小于)
ROM:1FFFB1BA ; 1100 = GT - Z clear, and either N set and V set, or N clear and V clear (greater than,带符号大于)
ROM:1FFFB1BA ; 1101 = LE - Z set, or N set and V clear, or N clear and V set (less than or equal,带符号小于或等于)
ROM:1FFFB1BA ; 1110 = AL - always
ROM:1FFFB1BA ; 1111 = NV - never
ROM:1FFFB1BA ;
ROM:1FFFB1BE MOVS R0, #0
ROM:1FFFB1C0 STRB.W R0, [SP,#0x148+var_141]
ROM:1FFFB1C4 MOVS R0, #1
ROM:1FFFB1C6 STRB.W R0, [SP,#0x148+var_138]
ROM:1FFFB1CA MOVS R0, #0
ROM:1FFFB1CC STRB.W R0, [SP,#0x148+var_143]
ROM:1FFFB1D0 STRB.W R0, [SP,#0x148+var_144]
ROM:1FFFB1D4 STRB.W R0, [SP,#0x148+var_142]
ROM:1FFFB1D8 STR R0, [SP,#0x148+var_148]
ROM:1FFFB1DA STR R0, [SP,#0x148+var_140]
ROM:1FFFB1DC STR R0, [SP,#0x148+var_13C]
ROM:1FFFB1DE BL sub_1FFFB662
ROM:1FFFB1E2 CMP R0, #1
ROM:1FFFB1E4 IT EQ
ROM:1FFFB1E6 BLEQ sys_reset
ROM:1FFFB1EA BL disable_irq
ROM:1FFFB1EE LDR.W R4, =0x20000C34
ROM:1FFFB1F2 MOVS R0, #0x79
ROM:1FFFB1F4 BL sub_1FFFB654
ROM:1FFFB1F8 ADD.W R9, SP, #0x148+var_124
ROM:1FFFB1FC LDR.W R6, =0x4002100C
ROM:1FFFB200 LDR.W R10, =0x4002200C
ROM:1FFFB204 MOVW R8, #0x5FFF
ROM:1FFFB208 LDR.W R5, =0x20000164
ROM:1FFFB20C B check_canbus ; 喂狗
ROM:1FFFB20E ; ---------------------------------------------------------------------------
ROM:1FFFB20E
ROM:1FFFB20E loc_1FFFB20E ; CODE XREF: check_canbus2+10Cj
ROM:1FFFB20E BL sub_1FFFB624
ROM:1FFFB212 BL loc_1FFFB61C
ROM:1FFFB216 ; ---------------------------------------------------------------------------
ROM:1FFFB216 STRB.W R0, [SP,#0x148+var_143]
ROM:1FFFB21A LDRB.W R0, [SP,#0x148+var_143]
ROM:1FFFB21E CMP R0, #2
ROM:1FFFB220 ITT NE
ROM:1FFFB222 LDRNEB.W R0, [SP,#0x148+var_143]
ROM:1FFFB226 CMPNE R0, #3
ROM:1FFFB228 BNE.W loc_1FFFB5C6
ROM:1FFFB22C BL sub_1FFFB65A
ROM:1FFFB230 BL RCC_init
ROM:1FFFB234 MOVS R0, #0x14
ROM:1FFFB236 STR R0, [R6,#8]
ROM:1FFFB238 MOV.W R0, #0xFFFFFFFF
ROM:1FFFB23C STR R0, [R6]
ROM:1FFFB23E MOVS R0, #0
ROM:1FFFB240 STR R0, [R6]
ROM:1FFFB242 MOV.W R0, #0xFFFFFFFF
ROM:1FFFB246 STR R0, [R6,#4]
ROM:1FFFB248 MOVS R0, #0
ROM:1FFFB24A STR R0, [R6,#4]
ROM:1FFFB24C STR R0, [R6,#0xC]
ROM:1FFFB24E STR R0, [R6,#0x10]
ROM:1FFFB250 LDR.W R0, =0xE000E010
ROM:1FFFB254 MOVS R1, #0
ROM:1FFFB256 STR R1, [R0]
ROM:1FFFB258 BL enable_irq
ROM:1FFFB25C LDR R0, [SP,#0x148+var_140]
ROM:1FFFB25E LDR R7, [R0,#4]
ROM:1FFFB260 LDR R0, [SP,#0x148+var_140]
ROM:1FFFB262 LDR R0, [R0]
ROM:1FFFB264 BL set_MSP
ROM:1FFFB268 BLX R7
ROM:1FFFB26A
ROM:1FFFB26A check_canbus ; CODE XREF: check_canbus2+60j
ROM:1FFFB26A ; check_canbus2+142j ...
ROM:1FFFB26A LDR.W R0, =0x40003000 ; 喂狗
ROM:1FFFB26E MOVW R1, #0xAAAA
ROM:1FFFB272 STR R1, [R0]
ROM:1FFFB274
ROM:1FFFB274 loc_1FFFB274 ; CODE XREF: check_canbus2+CEj
ROM:1FFFB274 BL get_can_bus
ROM:1FFFB278 CMP R0, #0
ROM:1FFFB27A BEQ loc_1FFFB274
ROM:1FFFB27C MOV R0, R5
ROM:1FFFB27E BL sub_1FFFB844
ROM:1FFFB282 STRB.W R0, [SP,#0x148+var_138]
ROM:1FFFB286 LDR R7, [R5]
ROM:1FFFB288 STRB.W R7, [SP,#0x148+var_141]
ROM:1FFFB28C BL sub_1FFFB8EC
ROM:1FFFB290 CMP R0, #1
ROM:1FFFB292 ITTEE NE
ROM:1FFFB294 LDRNEB.W R0, [SP,#0x148+var_138]
ROM:1FFFB298 CMPNE R0, #1
ROM:1FFFB29A MOVEQ R0, #0x55
ROM:1FFFB29C STREQB.W R0, [SP,#0x148+var_141]
ROM:1FFFB2A0 LDRB.W R0, [SP,#0x148+var_141]
ROM:1FFFB2A4 CBZ R0, loc_1FFFB2E0
ROM:1FFFB2A6 CMP R0, #1
ROM:1FFFB2A8 BEQ loc_1FFFB300
ROM:1FFFB2AA CMP R0, #2
ROM:1FFFB2AC BEQ loc_1FFFB31A
ROM:1FFFB2AE CMP R0, #3
ROM:1FFFB2B0 BEQ loc_1FFFB332
ROM:1FFFB2B2 CMP R0, #0x11
ROM:1FFFB2B4 BEQ loc_1FFFB366
ROM:1FFFB2B6 CMP R0, #0x21
ROM:1FFFB2B8 BEQ loc_1FFFB20E
ROM:1FFFB2BA CMP R0, #0x31
ROM:1FFFB2BC BEQ.W loc_1FFFB3D0
ROM:1FFFB2C0 CMP R0, #0x43
ROM:1FFFB2C2 BEQ.W loc_1FFFB4DA
ROM:1FFFB2C6 CMP R0, #0x63
ROM:1FFFB2C8 BEQ.W loc_1FFFB52A
ROM:1FFFB2CC CMP R0, #0x73
ROM:1FFFB2CE BEQ.W loc_1FFFB596
ROM:1FFFB2D2 CMP R0, #0x82
ROM:1FFFB2D4 BEQ.W loc_1FFFB5BE
ROM:1FFFB2D8 CMP R0, #0x92
ROM:1FFFB2DA BEQ.W loc_1FFFB5E2
ROM:1FFFB2DE B loc_1FFFB5FA
ROM:1FFFB2E0 ; ---------------------------------------------------------------------------
ROM:1FFFB2E0
ROM:1FFFB2E0 loc_1FFFB2E0 ; CODE XREF: check_canbus2+F8j
ROM:1FFFB2E0 STR R0, [R4]
ROM:1FFFB2E2 MOVS R0, #1
ROM:1FFFB2E4 STRB R0, [R4,#0xA]
ROM:1FFFB2E6 MOVS R0, #0
ROM:1FFFB2E8
ROM:1FFFB2E8 loc_1FFFB2E8 ; CODE XREF: check_canbus2+152j
ROM:1FFFB2E8 STR R0, [SP,#0x148+var_148]
ROM:1FFFB2EA LDR R0, [SP,#0x148+var_148]
ROM:1FFFB2EC CMP R0, #0x10
ROM:1FFFB2EE BCS check_canbus ; 喂狗
ROM:1FFFB2F0 LDR R0, [SP,#0x148+var_148]
ROM:1FFFB2F2 ADD R1, SP, #0x148+var_134
ROM:1FFFB2F4 LDRB R0, [R0,R1]
ROM:1FFFB2F6 BL sub_1FFFB60A
ROM:1FFFB2FA LDR R0, [SP,#0x148+var_148]
ROM:1FFFB2FC ADDS R0, R0, #1
ROM:1FFFB2FE B loc_1FFFB2E8
ROM:1FFFB300 ; ---------------------------------------------------------------------------
ROM:1FFFB300
ROM:1FFFB300 loc_1FFFB300 ; CODE XREF: check_canbus2+FCj
ROM:1FFFB300 STR R0, [R4]
ROM:1FFFB302 BL sub_1FFFB65A
ROM:1FFFB306 MOVS R0, #1
ROM:1FFFB308 STRB R0, [R4,#0xA]
ROM:1FFFB30A MOVS R0, #0x20
ROM:1FFFB30C BL sub_1FFFB60A
ROM:1FFFB310 MOVS R0, #2
ROM:1FFFB312 STRB R0, [R4,#0xA]
ROM:1FFFB314 MOVS R0, #0
ROM:1FFFB316 STRB R0, [R4,#0xB]
ROM:1FFFB318 B loc_1FFFB328
ROM:1FFFB31A ; ---------------------------------------------------------------------------
ROM:1FFFB31A
ROM:1FFFB31A loc_1FFFB31A ; CODE XREF: check_canbus2+100j
ROM:1FFFB31A BL sub_1FFFB654
ROM:1FFFB31E MOVS R0, #2
ROM:1FFFB320 STRB R0, [R4,#0xA]
ROM:1FFFB322 MOVS R0, #4
ROM:1FFFB324 STRB R0, [R4,#0xB]
ROM:1FFFB326 MOVS R0, #0x18
ROM:1FFFB328
ROM:1FFFB328 loc_1FFFB328 ; CODE XREF: check_canbus2+16Cj
ROM:1FFFB328 STRB R0, [R4,#0xC]
ROM:1FFFB32A MOV R0, R4
ROM:1FFFB32C BL sub_1FFFB7C2
ROM:1FFFB330 B loc_1FFFB3CA
ROM:1FFFB332 ; ---------------------------------------------------------------------------
ROM:1FFFB332
ROM:1FFFB332 loc_1FFFB332 ; CODE XREF: check_canbus2+104j
ROM:1FFFB332 STR R0, [R4]
ROM:1FFFB334 MOVS R0, #1
ROM:1FFFB336 STRB R0, [R4,#0xA]
ROM:1FFFB338 BL loc_1FFFB62C
ROM:1FFFB33C ; ---------------------------------------------------------------------------
ROM:1FFFB33C CMP R0, #5
ROM:1FFFB33E BCS.W loc_1FFFB5C6
ROM:1FFFB342 BL sub_1FFFB65A
ROM:1FFFB346 LDRB.W R0, [SP,#0x148+var_144]
ROM:1FFFB34A BL loc_1FFFB764
ROM:1FFFB34E MOVS R0, #0
ROM:1FFFB350 STR R0, [SP,#0x148+var_148]
ROM:1FFFB352 MOVW R1, #0xFFFF
ROM:1FFFB356
ROM:1FFFB356 loc_1FFFB356 ; CODE XREF: check_canbus2+1B6j
ROM:1FFFB356 LDR R0, [SP,#0x148+var_148]
ROM:1FFFB358 CMP R0, R1
ROM:1FFFB35A ITTT CC
ROM:1FFFB35C LDRCC R0, [SP,#0x148+var_148]
ROM:1FFFB35E ADDCC R0, R0, #1
ROM:1FFFB360 STRCC R0, [SP,#0x148+var_148]
ROM:1FFFB362 BCC loc_1FFFB356
ROM:1FFFB364 B loc_1FFFB522
ROM:1FFFB366 ; ---------------------------------------------------------------------------
ROM:1FFFB366
ROM:1FFFB366 loc_1FFFB366 ; CODE XREF: check_canbus2+108j
ROM:1FFFB366 BL sub_1FFFB624
ROM:1FFFB36A BL loc_1FFFB61C
ROM:1FFFB36E ; ---------------------------------------------------------------------------
ROM:1FFFB36E BL loc_1FFFB610
ROM:1FFFB372 ; ---------------------------------------------------------------------------
ROM:1FFFB372 BEQ loc_1FFFB3DC
ROM:1FFFB374 BL sub_1FFFB65A
ROM:1FFFB378 LDRB R0, [R5,#0xF]
ROM:1FFFB37A BL loc_1FFFB62E
ROM:1FFFB37E ; ---------------------------------------------------------------------------
ROM:1FFFB37E MOVS R1, #0
ROM:1FFFB380 STRB.W R1, [SP,#0x148+var_142]
ROM:1FFFB384 ADDS R0, R0, #1
ROM:1FFFB386 B loc_1FFFB3C2
ROM:1FFFB388 ; ---------------------------------------------------------------------------
ROM:1FFFB388
ROM:1FFFB388 loc_1FFFB388 ; CODE XREF: check_canbus2+21Cj
ROM:1FFFB388 LDRB.W R0, [SP,#0x148+var_142]
ROM:1FFFB38C ADDS R1, R0, #1
ROM:1FFFB38E STRB.W R1, [SP,#0x148+var_142]
ROM:1FFFB392 LDR R1, [SP,#0x148+var_140]
ROM:1FFFB394 ADDS R2, R1, #1
ROM:1FFFB396 STR R2, [SP,#0x148+var_140]
ROM:1FFFB398 ADDS R0, R0, R4
ROM:1FFFB39A LDRB R1, [R1]
ROM:1FFFB39C STRB R1, [R0,#0xB]
ROM:1FFFB39E LDRB.W R0, [SP,#0x148+var_142]
ROM:1FFFB3A2 CMP R0, #8
ROM:1FFFB3A4 ITT NE
ROM:1FFFB3A6 LDRNE R0, [SP,#0x148+var_148]
ROM:1FFFB3A8 CMPNE R0, #1
ROM:1FFFB3AA BNE loc_1FFFB3BE
ROM:1FFFB3AC LDRB.W R0, [SP,#0x148+var_142]
ROM:1FFFB3B0 STRB R0, [R4,#0xA]
ROM:1FFFB3B2 MOV R0, R4
ROM:1FFFB3B4 BL sub_1FFFB7C2
ROM:1FFFB3B8 MOVS R0, #0
ROM:1FFFB3BA STRB.W R0, [SP,#0x148+var_142]
ROM:1FFFB3BE
ROM:1FFFB3BE loc_1FFFB3BE ; CODE XREF: check_canbus2+1FEj
ROM:1FFFB3BE LDR R0, [SP,#0x148+var_148]
ROM:1FFFB3C0 SUBS R0, R0, #1
ROM:1FFFB3C2
ROM:1FFFB3C2 loc_1FFFB3C2 ; CODE XREF: check_canbus2+1DAj
ROM:1FFFB3C2 STR R0, [SP,#0x148+var_148]
ROM:1FFFB3C4 LDR R0, [SP,#0x148+var_148]
ROM:1FFFB3C6 CMP R0, #0
ROM:1FFFB3C8 BNE loc_1FFFB388
ROM:1FFFB3CA
ROM:1FFFB3CA loc_1FFFB3CA ; CODE XREF: check_canbus2+184j
ROM:1FFFB3CA MOVS R0, #1
ROM:1FFFB3CC STRB R0, [R4,#0xA]
ROM:1FFFB3CE B loc_1FFFB522
ROM:1FFFB3D0 ; ---------------------------------------------------------------------------
ROM:1FFFB3D0
ROM:1FFFB3D0 loc_1FFFB3D0 ; CODE XREF: check_canbus2+110j
ROM:1FFFB3D0 BL sub_1FFFB624
ROM:1FFFB3D4 BL loc_1FFFB61C
ROM:1FFFB3D8 ; ---------------------------------------------------------------------------
ROM:1FFFB3D8 BL loc_1FFFB610
ROM:1FFFB3DC ; ---------------------------------------------------------------------------
ROM:1FFFB3DC
ROM:1FFFB3DC loc_1FFFB3DC ; CODE XREF: check_canbus2+1C6j
ROM:1FFFB3DC BEQ.W loc_1FFFB5C6
ROM:1FFFB3E0 BL sub_1FFFB65A
ROM:1FFFB3E4 LDRB R0, [R5,#0xF]
ROM:1FFFB3E6 BL loc_1FFFB62E
ROM:1FFFB3EA ; ---------------------------------------------------------------------------
ROM:1FFFB3EA ADDS R7, R0, #1
ROM:1FFFB3EC BL sub_1FFFB602
ROM:1FFFB3F0 CMP R0, #0
ROM:1FFFB3F2 BNE.W loc_1FFFB5C6
ROM:1FFFB3F6 LDRB.W R0, [SP,#0x148+var_143]
ROM:1FFFB3FA CMP R0, #2
ROM:1FFFB3FC BNE loc_1FFFB432
ROM:1FFFB3FE ANDS.W R0, R7, #3
ROM:1FFFB402 ITT NE
ROM:1FFFB404 ANDNE.W R0, R7, #0xFC
ROM:1FFFB408 ADDNE R7, R0, #4
ROM:1FFFB40A BL FLASH_UnlockBank1
ROM:1FFFB40E STR R7, [SP,#0x148+var_148]
ROM:1FFFB410 B loc_1FFFB42C
ROM:1FFFB412 ; ---------------------------------------------------------------------------
ROM:1FFFB412
ROM:1FFFB412 loc_1FFFB412 ; CODE XREF: check_canbus2+284j
ROM:1FFFB412 LDR R0, [SP,#0x148+var_148]
ROM:1FFFB414 SUB.W R0, R9, R0
ROM:1FFFB418 LDR R1, [R7,R0]
ROM:1FFFB41A LDR R0, [SP,#0x148+var_140]
ROM:1FFFB41C LDR R2, [SP,#0x148+var_148]
ROM:1FFFB41E SUBS R0, R0, R2
ROM:1FFFB420 ADDS R0, R7, R0
ROM:1FFFB422 BL FLASH_ProgramWord
ROM:1FFFB426 LDR R0, [SP,#0x148+var_148]
ROM:1FFFB428 SUBS R0, R0, #4
ROM:1FFFB42A STR R0, [SP,#0x148+var_148]
ROM:1FFFB42C
ROM:1FFFB42C loc_1FFFB42C ; CODE XREF: check_canbus2+264j
ROM:1FFFB42C LDR R0, [SP,#0x148+var_148]
ROM:1FFFB42E CMP R0, #0
ROM:1FFFB430 BNE loc_1FFFB412
ROM:1FFFB432
ROM:1FFFB432 loc_1FFFB432 ; CODE XREF: check_canbus2+250j
ROM:1FFFB432 LDRB.W R0, [SP,#0x148+var_143]
ROM:1FFFB436 CMP R0, #3
ROM:1FFFB438 BNE loc_1FFFB466
ROM:1FFFB43A ANDS.W R0, R7, #3
ROM:1FFFB43E ITT NE
ROM:1FFFB440 ANDNE.W R0, R7, #0xFC
ROM:1FFFB444 ADDNE R7, R0, #4
ROM:1FFFB446 STR R7, [SP,#0x148+var_148]
ROM:1FFFB448 B loc_1FFFB460
ROM:1FFFB44A ; ---------------------------------------------------------------------------
ROM:1FFFB44A
ROM:1FFFB44A loc_1FFFB44A ; CODE XREF: check_canbus2+2B8j
ROM:1FFFB44A LDR R0, [SP,#0x148+var_140]
ROM:1FFFB44C LDR R1, [SP,#0x148+var_148]
ROM:1FFFB44E SUBS R0, R0, R1
ROM:1FFFB450 LDR R1, [SP,#0x148+var_148]
ROM:1FFFB452 SUB.W R1, R9, R1
ROM:1FFFB456 LDR R1, [R7,R1]
ROM:1FFFB458 STR R1, [R7,R0]
ROM:1FFFB45A LDR R0, [SP,#0x148+var_148]
ROM:1FFFB45C SUBS R0, R0, #4
ROM:1FFFB45E STR R0, [SP,#0x148+var_148]
ROM:1FFFB460
ROM:1FFFB460 loc_1FFFB460 ; CODE XREF: check_canbus2+29Cj
ROM:1FFFB460 LDR R0, [SP,#0x148+var_148]
ROM:1FFFB462 CMP R0, #0
ROM:1FFFB464 BNE loc_1FFFB44A
ROM:1FFFB466
ROM:1FFFB466 loc_1FFFB466 ; CODE XREF: check_canbus2+28Cj
ROM:1FFFB466 LDRB.W R0, [SP,#0x148+var_143]
ROM:1FFFB46A CMP R0, #4
ROM:1FFFB46C ITTT EQ
ROM:1FFFB46E LDREQ R0, [SP,#0x148+var_140]
ROM:1FFFB470 LDREQ.W R1, =0x1FFFF800
ROM:1FFFB474 CMPEQ R0, R1
ROM:1FFFB476 BNE loc_1FFFB522
ROM:1FFFB478 LSLS R0, R7, #0x1F
ROM:1FFFB47A ITT MI
ROM:1FFFB47C ANDMI.W R0, R7, #0xFE
ROM:1FFFB480 ADDMI R7, R0, #2
ROM:1FFFB482 BL sub_1FFFC046
ROM:1FFFB486 BL FLASH_UnlockBank1
ROM:1FFFB48A BL sub_1FFFC010
ROM:1FFFB48E LDR.W R0, [R10,#4]
ROM:1FFFB492 ORR.W R0, R0, #0x10
ROM:1FFFB496 STR.W R0, [R10,#4]
ROM:1FFFB49A BL FLASH_WaitForLastOperation
ROM:1FFFB49E ; ---------------------------------------------------------------------------
ROM:1FFFB49E STR R7, [SP,#0x148+var_148]
ROM:1FFFB4A0 B loc_1FFFB4BE
ROM:1FFFB4A2 ; ---------------------------------------------------------------------------
ROM:1FFFB4A2
ROM:1FFFB4A2 loc_1FFFB4A2 ; CODE XREF: check_canbus2+316j
ROM:1FFFB4A2 LDR R0, [SP,#0x148+var_148]
ROM:1FFFB4A4 SUB.W R0, R9, R0
ROM:1FFFB4A8 LDRH R0, [R7,R0]
ROM:1FFFB4AA UXTB R0, R0
ROM:1FFFB4AC LDR R1, [SP,#0x148+var_140]
ROM:1FFFB4AE LDR R2, [SP,#0x148+var_148]
ROM:1FFFB4B0 SUBS R1, R1, R2
ROM:1FFFB4B2 STRH R0, [R7,R1]
ROM:1FFFB4B4 BL FLASH_WaitForLastOperation
ROM:1FFFB4B8 ; ---------------------------------------------------------------------------
ROM:1FFFB4B8 LDR R0, [SP,#0x148+var_148]
ROM:1FFFB4BA SUBS R0, R0, #2
ROM:1FFFB4BC STR R0, [SP,#0x148+var_148]
ROM:1FFFB4BE
ROM:1FFFB4BE loc_1FFFB4BE ; CODE XREF: check_canbus2+2F4j
ROM:1FFFB4BE LDR R0, [SP,#0x148+var_148]
ROM:1FFFB4C0 CMP R0, #0
ROM:1FFFB4C2 BNE loc_1FFFB4A2
ROM:1FFFB4C4 LDR.W R0, [R10,#4]
ROM:1FFFB4C8 BIC.W R0, R0, #0x10
ROM:1FFFB4CC STR.W R0, [R10,#4]
ROM:1FFFB4D0 BL sub_1FFFB65A
ROM:1FFFB4D4 BL sys_reset
ROM:1FFFB4D8 B loc_1FFFB522
ROM:1FFFB4DA ; ---------------------------------------------------------------------------
ROM:1FFFB4DA
ROM:1FFFB4DA loc_1FFFB4DA ; CODE XREF: check_canbus2+116j
ROM:1FFFB4DA BL sub_1FFFB64A
ROM:1FFFB4DE CMP R0, #1
ROM:1FFFB4E0 BEQ loc_1FFFB5C6
ROM:1FFFB4E2 BL sub_1FFFB65A
ROM:1FFFB4E6 BL loc_1FFFB62C
ROM:1FFFB4EA ; ---------------------------------------------------------------------------
ROM:1FFFB4EA CMP R0, #0xFF
ROM:1FFFB4EC BNE loc_1FFFB4F4
ROM:1FFFB4EE BL sub_1FFFC0C6
ROM:1FFFB4F2 B loc_1FFFB522
ROM:1FFFB4F4 ; ---------------------------------------------------------------------------
ROM:1FFFB4F4
ROM:1FFFB4F4 loc_1FFFB4F4 ; CODE XREF: check_canbus2+340j
ROM:1FFFB4F4 LDRB.W R11, [SP,#0x148+var_144]
ROM:1FFFB4F8 MOV R7, R9
ROM:1FFFB4FA BL sub_1FFFB602
ROM:1FFFB4FE CMP R0, #0
ROM:1FFFB500 BNE loc_1FFFB5C6
ROM:1FFFB502 ADD.W R0, R11, #1
ROM:1FFFB506 B loc_1FFFB51A
ROM:1FFFB508 ; ---------------------------------------------------------------------------
ROM:1FFFB508
ROM:1FFFB508 loc_1FFFB508 ; CODE XREF: check_canbus2+374j
ROM:1FFFB508 LDRB.W R0, [R7],#1
ROM:1FFFB50C LSLS R0, R0, #0xB
ROM:1FFFB50E ADD.W R0, R0, #0x8000000
ROM:1FFFB512 BL FLASH_ErasePage
ROM:1FFFB516 LDR R0, [SP,#0x148+var_148]
ROM:1FFFB518 SUBS R0, R0, #1
ROM:1FFFB51A
ROM:1FFFB51A loc_1FFFB51A ; CODE XREF: check_canbus2+35Aj
ROM:1FFFB51A STR R0, [SP,#0x148+var_148]
ROM:1FFFB51C LDR R0, [SP,#0x148+var_148]
ROM:1FFFB51E CMP R0, #0
ROM:1FFFB520 BNE loc_1FFFB508
ROM:1FFFB522
ROM:1FFFB522 loc_1FFFB522 ; CODE XREF: check_canbus2+1B8j
ROM:1FFFB522 ; check_canbus2+222j ...
ROM:1FFFB522 MOVS R0, #0x79
ROM:1FFFB524
ROM:1FFFB524 loc_1FFFB524 ; CODE XREF: check_canbus2+41Cj
ROM:1FFFB524 BL sub_1FFFB60A
ROM:1FFFB528 B check_canbus ; 喂狗
ROM:1FFFB52A ; ---------------------------------------------------------------------------
ROM:1FFFB52A
ROM:1FFFB52A loc_1FFFB52A ; CODE XREF: check_canbus2+11Cj
ROM:1FFFB52A BL sub_1FFFB64A
ROM:1FFFB52E CMP R0, #1
ROM:1FFFB530 BEQ loc_1FFFB5C6
ROM:1FFFB532 LDRB R0, [R5,#0xB]
ROM:1FFFB534 STRB.W R0, [SP,#0x148+var_144]
ROM:1FFFB538 LDRB.W R11, [SP,#0x148+var_144]
ROM:1FFFB53C MOV R7, R9
ROM:1FFFB53E BL sub_1FFFB65A
ROM:1FFFB542 BL sub_1FFFB602
ROM:1FFFB546 CMP R0, #0
ROM:1FFFB548 BNE loc_1FFFB5C6
ROM:1FFFB54A STR R0, [SP,#0x148+var_13C]
ROM:1FFFB54C ADD.W R0, R11, #1
ROM:1FFFB550 STR R0, [SP,#0x148+var_148]
ROM:1FFFB552 MOVS R2, #1
ROM:1FFFB554 B loc_1FFFB56A
ROM:1FFFB556 ; ---------------------------------------------------------------------------
ROM:1FFFB556
ROM:1FFFB556 loc_1FFFB556 ; CODE XREF: check_canbus2+3C2j
ROM:1FFFB556 LDRB.W R0, [R7],#1
ROM:1FFFB55A LDR R1, [SP,#0x148+var_13C]
ROM:1FFFB55C LSL.W R0, R2, R0
ROM:1FFFB560 ORRS R0, R1
ROM:1FFFB562 STR R0, [SP,#0x148+var_13C]
ROM:1FFFB564 LDR R0, [SP,#0x148+var_148]
ROM:1FFFB566 SUBS R0, R0, #1
ROM:1FFFB568 STR R0, [SP,#0x148+var_148]
ROM:1FFFB56A
ROM:1FFFB56A loc_1FFFB56A ; CODE XREF: check_canbus2+3A8j
ROM:1FFFB56A LDR R0, [SP,#0x148+var_148]
ROM:1FFFB56C CMP R0, #0
ROM:1FFFB56E BNE loc_1FFFB556
ROM:1FFFB570 BL FLASH_UnlockBank1
ROM:1FFFB574 MOVS R0, #0x35
ROM:1FFFB576 STR.W R0, [R10]
ROM:1FFFB57A LDR R0, [SP,#0x148+var_13C]
ROM:1FFFB57C BL sub_1FFFC0FC
ROM:1FFFB580 BL sub_1FFFB65A
ROM:1FFFB584 MOVS R0, #0
ROM:1FFFB586
ROM:1FFFB586 loc_1FFFB586 ; CODE XREF: check_canbus2+3E6j
ROM:1FFFB586 STR R0, [SP,#0x148+var_148]
ROM:1FFFB588 LDR R0, [SP,#0x148+var_148]
ROM:1FFFB58A CMP R0, R8
ROM:1FFFB58C ITT CC
ROM:1FFFB58E LDRCC R0, [SP,#0x148+var_148]
ROM:1FFFB590 ADDCC R0, R0, #1
ROM:1FFFB592 BCC loc_1FFFB586
ROM:1FFFB594 B loc_1FFFB5DC
ROM:1FFFB596 ; ---------------------------------------------------------------------------
ROM:1FFFB596
ROM:1FFFB596 loc_1FFFB596 ; CODE XREF: check_canbus2+122j
ROM:1FFFB596 BL sub_1FFFB64A
ROM:1FFFB59A CMP R0, #1
ROM:1FFFB59C BEQ loc_1FFFB5C6
ROM:1FFFB59E BL sub_1FFFB65A
ROM:1FFFB5A2 MOVS R0, #0
ROM:1FFFB5A4 BL sub_1FFFC1AA
ROM:1FFFB5A8 BL sub_1FFFB65A
ROM:1FFFB5AC MOVS R0, #0
ROM:1FFFB5AE
ROM:1FFFB5AE loc_1FFFB5AE ; CODE XREF: check_canbus2+40Ej
ROM:1FFFB5AE STR R0, [SP,#0x148+var_148]
ROM:1FFFB5B0 LDR R0, [SP,#0x148+var_148]
ROM:1FFFB5B2 CMP R0, R8
ROM:1FFFB5B4 ITT CC
ROM:1FFFB5B6 LDRCC R0, [SP,#0x148+var_148]
ROM:1FFFB5B8 ADDCC R0, R0, #1
ROM:1FFFB5BA BCC loc_1FFFB5AE
ROM:1FFFB5BC B loc_1FFFB5DC
ROM:1FFFB5BE ; ---------------------------------------------------------------------------
ROM:1FFFB5BE
ROM:1FFFB5BE loc_1FFFB5BE ; CODE XREF: check_canbus2+128j
ROM:1FFFB5BE BL sub_1FFFB64A
ROM:1FFFB5C2 CMP R0, #1
ROM:1FFFB5C4 BNE loc_1FFFB5CA
ROM:1FFFB5C6
ROM:1FFFB5C6 loc_1FFFB5C6 ; CODE XREF: check_canbus2+7Cj
ROM:1FFFB5C6 ; check_canbus2+192j ...
ROM:1FFFB5C6 MOVS R0, #0x1F
ROM:1FFFB5C8 B loc_1FFFB524
ROM:1FFFB5CA ; ---------------------------------------------------------------------------
ROM:1FFFB5CA
ROM:1FFFB5CA loc_1FFFB5CA ; CODE XREF: check_canbus2+418j
ROM:1FFFB5CA BL sub_1FFFB65A
ROM:1FFFB5CE MOVS R0, #1
ROM:1FFFB5D0 BL sub_1FFFC1AA
ROM:1FFFB5D4 BL sub_1FFFB65A
ROM:1FFFB5D8 BL loc_1FFFB638
ROM:1FFFB5DC ; ---------------------------------------------------------------------------
ROM:1FFFB5DC
ROM:1FFFB5DC loc_1FFFB5DC ; CODE XREF: check_canbus2+3E8j
ROM:1FFFB5DC ; check_canbus2+410j ...
ROM:1FFFB5DC BL sys_reset
ROM:1FFFB5E0 B check_canbus ; 喂狗
ROM:1FFFB5E2 ; ---------------------------------------------------------------------------
ROM:1FFFB5E2
ROM:1FFFB5E2 loc_1FFFB5E2 ; CODE XREF: check_canbus2+12Ej
ROM:1FFFB5E2 BL sub_1FFFB654
ROM:1FFFB5E6 MOVS R0, #0
ROM:1FFFB5E8 BL sub_1FFFC1AA
ROM:1FFFB5EC BL sub_1FFFB65A
ROM:1FFFB5F0 BL loc_1FFFB638
ROM:1FFFB5F4 ; ---------------------------------------------------------------------------
ROM:1FFFB5F4 BL clear_all_mem
ROM:1FFFB5F8 B loc_1FFFB5DC
ROM:1FFFB5FA ; ---------------------------------------------------------------------------
ROM:1FFFB5FA
ROM:1FFFB5FA loc_1FFFB5FA ; CODE XREF: check_canbus2+132j
ROM:1FFFB5FA STR R7, [R4]
ROM:1FFFB5FC MOVS R0, #1
ROM:1FFFB5FE STRB R0, [R4,#0xA]
ROM:1FFFB600 B loc_1FFFB5C6
ROM:1FFFB600 ; End of function check_canbus2
ROM:1FFFB600
ROM:1FFFB602
ROM:1FFFB602 ; =============== S U B R O U T I N E =======================================
ROM:1FFFB602
ROM:1FFFB602
ROM:1FFFB602 sub_1FFFB602 ; CODE XREF: check_canbus2+240p
ROM:1FFFB602 ; check_canbus2+34Ep ...
ROM:1FFFB602
ROM:1FFFB602 arg_4 = 4
ROM:1FFFB602
ROM:1FFFB602 MOV R1, R9
ROM:1FFFB604 LDRB.W R0, [SP,#arg_4]
ROM:1FFFB608 B sub_1FFFB966
ROM:1FFFB608 ; End of function sub_1FFFB602
ROM:1FFFB608
ROM:1FFFB60A
ROM:1FFFB60A ; =============== S U B R O U T I N E =======================================
ROM:1FFFB60A
ROM:1FFFB60A
ROM:1FFFB60A sub_1FFFB60A ; CODE XREF: check_canbus2+14Ap
ROM:1FFFB60A ; check_canbus2+160p ...
ROM:1FFFB60A STRB R0, [R4,#0xB]
ROM:1FFFB60C MOV R0, R4
ROM:1FFFB60E B sub_1FFFB7C2
ROM:1FFFB60E ; End of function sub_1FFFB60A
ROM:1FFFB60E
ROM:1FFFB610 ; ---------------------------------------------------------------------------
ROM:1FFFB610 ; START OF FUNCTION CHUNK FOR check_canbus2
ROM:1FFFB610
ROM:1FFFB610 loc_1FFFB610 ; CODE XREF: check_canbus2+1C2j
ROM:1FFFB610 ; check_canbus2+22Cj
ROM:1FFFB610 STRB.W R0, [SP,#0x148+var_143]
ROM:1FFFB614 LDRB.W R0, [SP,#0x148+var_143]
ROM:1FFFB618 CMP R0, #1
ROM:1FFFB61A BX LR
ROM:1FFFB61C ; ---------------------------------------------------------------------------
ROM:1FFFB61C
ROM:1FFFB61C loc_1FFFB61C ; CODE XREF: check_canbus2+66j
ROM:1FFFB61C ; check_canbus2+1BEj ...
ROM:1FFFB61C STR R0, [SP,#0x148+var_140]
ROM:1FFFB61E LDR R0, [SP,#0x148+var_140]
ROM:1FFFB620 B.W get_mem_block
ROM:1FFFB620 ; END OF FUNCTION CHUNK FOR check_canbus2
ROM:1FFFB624
ROM:1FFFB624 ; =============== S U B R O U T I N E =======================================
ROM:1FFFB624
ROM:1FFFB624
ROM:1FFFB624 sub_1FFFB624 ; CODE XREF: check_canbus2:loc_1FFFB20Ep
ROM:1FFFB624 ; check_canbus2:loc_1FFFB366p ...
ROM:1FFFB624 STR R0, [R4]
ROM:1FFFB626 MOVS R0, #1
ROM:1FFFB628 STRB R0, [R4,#0xA]
ROM:1FFFB62A B sub_1FFFB940
ROM:1FFFB62A ; End of function sub_1FFFB624
ROM:1FFFB62A
ROM:1FFFB62C ; ---------------------------------------------------------------------------
ROM:1FFFB62C ; START OF FUNCTION CHUNK FOR check_canbus2
ROM:1FFFB62C
ROM:1FFFB62C loc_1FFFB62C ; CODE XREF: check_canbus2+18Cj
ROM:1FFFB62C ; check_canbus2+33Aj
ROM:1FFFB62C LDRB R0, [R5,#0xB]
ROM:1FFFB62E
ROM:1FFFB62E loc_1FFFB62E ; CODE XREF: check_canbus2+1CEj
ROM:1FFFB62E ; check_canbus2+23Aj
ROM:1FFFB62E STRB.W R0, [SP,#0x148+var_144]
ROM:1FFFB632 LDRB.W R0, [SP,#0x148+var_144]
ROM:1FFFB636 BX LR
ROM:1FFFB638 ; ---------------------------------------------------------------------------
ROM:1FFFB638
ROM:1FFFB638 loc_1FFFB638 ; CODE XREF: check_canbus2+42Cj
ROM:1FFFB638 ; check_canbus2+444j
ROM:1FFFB638 MOVS R0, #0
ROM:1FFFB63A B loc_1FFFB640
ROM:1FFFB63C ; ---------------------------------------------------------------------------
ROM:1FFFB63C
ROM:1FFFB63C loc_1FFFB63C ; CODE XREF: check_canbus2+49Aj
ROM:1FFFB63C LDR R0, [SP,#0x148+var_148]
ROM:1FFFB63E ADDS R0, R0, #1
ROM:1FFFB640
ROM:1FFFB640 loc_1FFFB640 ; CODE XREF: check_canbus2+48Ej
ROM:1FFFB640 STR R0, [SP,#0x148+var_148]
ROM:1FFFB642 LDR R0, [SP,#0x148+var_148]
ROM:1FFFB644 CMP R0, R8
ROM:1FFFB646 BCC loc_1FFFB63C
ROM:1FFFB648 BX LR
ROM:1FFFB648 ; END OF FUNCTION CHUNK FOR check_canbus2
ROM:1FFFB64A
ROM:1FFFB64A ; =============== S U B R O U T I N E =======================================
ROM:1FFFB64A
ROM:1FFFB64A
ROM:1FFFB64A sub_1FFFB64A ; CODE XREF: check_canbus2:loc_1FFFB4DAp
ROM:1FFFB64A ; check_canbus2:loc_1FFFB52Ap ...
ROM:1FFFB64A STR R0, [R4]
ROM:1FFFB64C MOVS R0, #1
ROM:1FFFB64E STRB R0, [R4,#0xA]
ROM:1FFFB650 B.W FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFB650 ; End of function sub_1FFFB64A ;
ROM:1FFFB650
ROM:1FFFB654
ROM:1FFFB654 ; =============== S U B R O U T I N E =======================================
ROM:1FFFB654
ROM:1FFFB654
ROM:1FFFB654 sub_1FFFB654 ; CODE XREF: check_canbus2+48p
ROM:1FFFB654 ; check_canbus2:loc_1FFFB31Ap ...
ROM:1FFFB654 STR R0, [R4]
ROM:1FFFB656 MOVS R0, #1
ROM:1FFFB658 STRB R0, [R4,#0xA]
ROM:1FFFB658 ; End of function sub_1FFFB654
ROM:1FFFB658
ROM:1FFFB65A
ROM:1FFFB65A ; =============== S U B R O U T I N E =======================================
ROM:1FFFB65A
ROM:1FFFB65A
ROM:1FFFB65A sub_1FFFB65A ; CODE XREF: check_canbus2+80p
ROM:1FFFB65A ; check_canbus2+156p ...
ROM:1FFFB65A MOVS R0, #0x79
ROM:1FFFB65C STRB R0, [R4,#0xB]
ROM:1FFFB65E MOV R0, R4
ROM:1FFFB660 B sub_1FFFB7C2
ROM:1FFFB660 ; End of function sub_1FFFB65A
ROM:1FFFB660
ROM:1FFFB662
ROM:1FFFB662 ; =============== S U B R O U T I N E =======================================
ROM:1FFFB662
ROM:1FFFB662
ROM:1FFFB662 sub_1FFFB662 ; CODE XREF: check_canbus2+32p
ROM:1FFFB662
ROM:1FFFB662 var_18 = -0x18
ROM:1FFFB662 var_14 = -0x14
ROM:1FFFB662
ROM:1FFFB662 PUSH {R2-R6,LR}
ROM:1FFFB664 MOVW R5, #0x1FF
ROM:1FFFB668 STR R5, [SP,#0x18+var_14]
ROM:1FFFB66A MOVS R0, #0
ROM:1FFFB66C STR R0, [SP,#0x18+var_18]
ROM:1FFFB66E BL sub_1FFFBBF0
ROM:1FFFB672 MOVS R0, #0
ROM:1FFFB674 BL sub_1FFFBC96
ROM:1FFFB678 LDR.W R4, =0x20000164
ROM:1FFFB67C LDR.W R0, =0x1000F
ROM:1FFFB680 BL sub_1FFFB75E
ROM:1FFFB684 LDR.W R0, =0x10007
ROM:1FFFB688 STR R0, [R4,#0x18]
ROM:1FFFB68A LDR.W R0, =0x10003
ROM:1FFFB68E STR R0, [R4,#0x1C]
ROM:1FFFB690 MOV.W R0, #0x10001
ROM:1FFFB694 STR R0, [R4,#0x20]
ROM:1FFFB696 STR R5, [SP,#0x18+var_14]
ROM:1FFFB698 MOVS R0, #0
ROM:1FFFB69A STR R0, [SP,#0x18+var_18]
ROM:1FFFB69C LDR.W R5, =0x40021010
ROM:1FFFB6A0 LDR.W R6, =0x4000680C
ROM:1FFFB6A4 B loc_1FFFB710
ROM:1FFFB6A6 ; ---------------------------------------------------------------------------
ROM:1FFFB6A6
ROM:1FFFB6A6 loc_1FFFB6A6 ; CODE XREF: sub_1FFFB662+B8j
ROM:1FFFB6A6 LDR R0, [SP,#0x18+var_18]
ROM:1FFFB6A8 CMP R0, #1
ROM:1FFFB6AA BNE loc_1FFFB6D0
ROM:1FFFB6AC BL sub_1FFFB74C
ROM:1FFFB6B0 LDR.W R0, =0x110027
ROM:1FFFB6B4 BL sub_1FFFB75E
ROM:1FFFB6B8 LDR.W R0, =0x110013
ROM:1FFFB6BC STR R0, [R4,#0x18]
ROM:1FFFB6BE LDR.W R0, =0x110009
ROM:1FFFB6C2 STR R0, [R4,#0x1C]
ROM:1FFFB6C4 LDR.W R0, =0x110004
ROM:1FFFB6C8 STR R0, [R4,#0x20]
ROM:1FFFB6CA MOVW R0, #0x4FF
ROM:1FFFB6CE STR R0, [SP,#0x18+var_14]
ROM:1FFFB6D0
ROM:1FFFB6D0 loc_1FFFB6D0 ; CODE XREF: sub_1FFFB662+48j
ROM:1FFFB6D0 LDR R0, [SP,#0x18+var_18]
ROM:1FFFB6D2 CMP R0, #2
ROM:1FFFB6D4 BNE loc_1FFFB70A
ROM:1FFFB6D6 BL sub_1FFFB74C
ROM:1FFFB6DA BL sub_1FFFBBF0
ROM:1FFFB6DE MOV.W R0, #0x400
ROM:1FFFB6E2 BL sub_1FFFBC96
ROM:1FFFB6E6 BL sub_1FFFBE1A
ROM:1FFFB6EA LDR.W R0, =0x21001F
ROM:1FFFB6EE BL sub_1FFFB75E
ROM:1FFFB6F2 LDR.W R0, =0x21000F
ROM:1FFFB6F6 STR R0, [R4,#0x18]
ROM:1FFFB6F8 LDR.W R0, =0x210007
ROM:1FFFB6FC STR R0, [R4,#0x1C]
ROM:1FFFB6FE LDR.W R0, =0x210003
ROM:1FFFB702 STR R0, [R4,#0x20]
ROM:1FFFB704 MOVW R0, #0x5FF
ROM:1FFFB708 STR R0, [SP,#0x18+var_14]
ROM:1FFFB70A
ROM:1FFFB70A loc_1FFFB70A ; CODE XREF: sub_1FFFB662+72j
ROM:1FFFB70A LDR R0, [SP,#0x18+var_18]
ROM:1FFFB70C ADDS R0, R0, #1
ROM:1FFFB70E STR R0, [SP,#0x18+var_18]
ROM:1FFFB710
ROM:1FFFB710 loc_1FFFB710 ; CODE XREF: sub_1FFFB662+42j
ROM:1FFFB710 LDR R0, [SP,#0x18+var_18]
ROM:1FFFB712 CMP R0, #4
ROM:1FFFB714 BCS loc_1FFFB748
ROM:1FFFB716
ROM:1FFFB716 loc_1FFFB716 ; CODE XREF: sub_1FFFB662+C4j
ROM:1FFFB716 ; sub_1FFFB662+DCj
ROM:1FFFB716 LDR R0, [SP,#0x18+var_14]
ROM:1FFFB718 CMP R0, #0
ROM:1FFFB71A BEQ loc_1FFFB6A6
ROM:1FFFB71C LDR R0, [SP,#0x18+var_14]
ROM:1FFFB71E SUBS R0, R0, #1
ROM:1FFFB720 STR R0, [SP,#0x18+var_14]
ROM:1FFFB722 LDR R0, [R6]
ROM:1FFFB724 LSLS R0, R0, #0x1F
ROM:1FFFB726 BPL loc_1FFFB716
ROM:1FFFB728 MOVS R0, #0
ROM:1FFFB72A STR R0, [R4]
ROM:1FFFB72C LDR R0, =0x400069B0
ROM:1FFFB72E LDR R0, [R0]
ROM:1FFFB730 LSRS R0, R0, #0x15
ROM:1FFFB732 STR R0, [R4]
ROM:1FFFB734 CMP R0, #0x79
ROM:1FFFB736 ITT EQ
ROM:1FFFB738 LDREQ R0, [R6,#0xC]
ROM:1FFFB73A ANDEQS.W R0, R0, #0x70
ROM:1FFFB73E BNE loc_1FFFB716
ROM:1FFFB740 MOVS R0, #0x20
ROM:1FFFB742 STR R0, [R6]
ROM:1FFFB744 MOVS R0, #0
ROM:1FFFB746 POP {R1,R2,R4-R6,PC}
ROM:1FFFB748 ; ---------------------------------------------------------------------------
ROM:1FFFB748
ROM:1FFFB748 loc_1FFFB748 ; CODE XREF: sub_1FFFB662+B2j
ROM:1FFFB748 MOVS R0, #1
ROM:1FFFB74A POP {R1,R2,R4-R6,PC}
ROM:1FFFB74A ; End of function sub_1FFFB662
ROM:1FFFB74A
ROM:1FFFB74C
ROM:1FFFB74C ; =============== S U B R O U T I N E =======================================
ROM:1FFFB74C
ROM:1FFFB74C
ROM:1FFFB74C sub_1FFFB74C ; CODE XREF: sub_1FFFB662+4Ap
ROM:1FFFB74C ; sub_1FFFB662+74p
ROM:1FFFB74C LDR R0, [R5]
ROM:1FFFB74E ORR.W R0, R0, #0x4000000
ROM:1FFFB752 STR R0, [R5]
ROM:1FFFB754 LDR R0, [R5]
ROM:1FFFB756 BIC.W R0, R0, #0x4000000
ROM:1FFFB75A STR R0, [R5]
ROM:1FFFB75C BX LR
ROM:1FFFB75C ; End of function sub_1FFFB74C
ROM:1FFFB75C
ROM:1FFFB75E
ROM:1FFFB75E ; =============== S U B R O U T I N E =======================================
ROM:1FFFB75E
ROM:1FFFB75E
ROM:1FFFB75E sub_1FFFB75E ; CODE XREF: sub_1FFFB662+1Ep
ROM:1FFFB75E ; sub_1FFFB662+52p ...
ROM:1FFFB75E STR R0, [R4,#0x14]
ROM:1FFFB760 MOVS R0, #1
ROM:1FFFB762 B loc_1FFFB764
ROM:1FFFB764 ; ---------------------------------------------------------------------------
ROM:1FFFB764
ROM:1FFFB764 loc_1FFFB764 ; CODE XREF: check_canbus2+19Ep
ROM:1FFFB764 ; sub_1FFFB75E+4j
ROM:1FFFB764 PUSH {R4,LR}
ROM:1FFFB766 MOVW R1, #0xFFFF
ROM:1FFFB76A MOV R3, R1
ROM:1FFFB76C LDR R2, =0x40006800
ROM:1FFFB76E LDR R4, [R2]
ROM:1FFFB770 BIC.W R4, R4, #2
ROM:1FFFB774 STR R4, [R2]
ROM:1FFFB776 LDR R4, [R2]
ROM:1FFFB778 ORR.W R4, R4, #1
ROM:1FFFB77C STR R4, [R2]
ROM:1FFFB77E
ROM:1FFFB77E loc_1FFFB77E ; CODE XREF: sub_1FFFB75E+2Cj
ROM:1FFFB77E LDR R4, [R2,#4]
ROM:1FFFB780 LSLS R4, R4, #0x1F
ROM:1FFFB782 BMI loc_1FFFB78C
ROM:1FFFB784 SUBS R3, R3, #1
ROM:1FFFB786 UXTH R3, R3
ROM:1FFFB788 CMP R3, #0
ROM:1FFFB78A BNE loc_1FFFB77E
ROM:1FFFB78C
ROM:1FFFB78C loc_1FFFB78C ; CODE XREF: sub_1FFFB75E+24j
ROM:1FFFB78C LDR R3, [R2,#4]
ROM:1FFFB78E LSLS R3, R3, #0x1F
ROM:1FFFB790 BPL loc_1FFFB7BE
ROM:1FFFB792 MOV.W R3, #0x10001
ROM:1FFFB796 STR R3, [R2]
ROM:1FFFB798 LDR R3, =0x20000164
ROM:1FFFB79A ADD.W R0, R3, R0,LSL#2
ROM:1FFFB79E LDR R0, [R0,#0x10]
ROM:1FFFB7A0 STR R0, [R2,#0x1C]
ROM:1FFFB7A2 MOV.W R0, #0x10000
ROM:1FFFB7A6 STR R0, [R2]
ROM:1FFFB7A8 MOV R3, R1
ROM:1FFFB7AA
ROM:1FFFB7AA loc_1FFFB7AA ; CODE XREF: sub_1FFFB75E+58j
ROM:1FFFB7AA LDR R0, [R2,#4]
ROM:1FFFB7AC LSLS R0, R0, #0x1F
ROM:1FFFB7AE BPL loc_1FFFB7B8
ROM:1FFFB7B0 SUBS R3, R3, #1
ROM:1FFFB7B2 UXTH R3, R3
ROM:1FFFB7B4 CMP R3, #0
ROM:1FFFB7B6 BNE loc_1FFFB7AA
ROM:1FFFB7B8
ROM:1FFFB7B8 loc_1FFFB7B8 ; CODE XREF: sub_1FFFB75E+50j
ROM:1FFFB7B8 LDR R0, [R2,#4]
ROM:1FFFB7BA LSLS R0, R0, #0x1F
ROM:1FFFB7BC BPL locret_1FFFB7C0
ROM:1FFFB7BE
ROM:1FFFB7BE loc_1FFFB7BE ; CODE XREF: sub_1FFFB75E+32j
ROM:1FFFB7BE B loc_1FFFB83C
ROM:1FFFB7C0 ; ---------------------------------------------------------------------------
ROM:1FFFB7C0
ROM:1FFFB7C0 locret_1FFFB7C0 ; CODE XREF: sub_1FFFB75E+5Ej
ROM:1FFFB7C0 POP {R4,PC}
ROM:1FFFB7C0 ; End of function sub_1FFFB75E
ROM:1FFFB7C0
ROM:1FFFB7C2
ROM:1FFFB7C2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFB7C2
ROM:1FFFB7C2
ROM:1FFFB7C2 sub_1FFFB7C2 ; CODE XREF: check_canbus2+180p
ROM:1FFFB7C2 ; check_canbus2+208p ...
ROM:1FFFB7C2 PUSH {R4,LR}
ROM:1FFFB7C4 MOV.W R4, #0xB00000
ROM:1FFFB7C8 LDR R1, =0x40006980
ROM:1FFFB7CA LDR R2, [R1]
ROM:1FFFB7CC AND.W R2, R2, #1
ROM:1FFFB7D0 STR R2, [R1]
ROM:1FFFB7D2 LDR R2, [R1]
ROM:1FFFB7D4 LDR R3, [R0]
ROM:1FFFB7D6 ORR.W R2, R2, R3,LSL#21
ROM:1FFFB7DA STR R2, [R1]
ROM:1FFFB7DC LDRB R2, [R0,#0xA]
ROM:1FFFB7DE AND.W R2, R2, #0xF
ROM:1FFFB7E2 STRB R2, [R0,#0xA]
ROM:1FFFB7E4 LDR R2, [R1,#4]
ROM:1FFFB7E6 LSRS R2, R2, #4
ROM:1FFFB7E8 LSLS R2, R2, #4
ROM:1FFFB7EA STR R2, [R1,#4]
ROM:1FFFB7EC LDR R2, [R1,#4]
ROM:1FFFB7EE LDRB R3, [R0,#0xA]
ROM:1FFFB7F0 ORRS R2, R3
ROM:1FFFB7F2 STR R2, [R1,#4]
ROM:1FFFB7F4 LDRB R2, [R0,#0xE]
ROM:1FFFB7F6 LDRB R3, [R0,#0xD]
ROM:1FFFB7F8 LSLS R3, R3, #0x10
ROM:1FFFB7FA ORR.W R2, R3, R2,LSL#24
ROM:1FFFB7FE LDRB R3, [R0,#0xC]
ROM:1FFFB800 ORR.W R2, R2, R3,LSL#8
ROM:1FFFB804 LDRB R3, [R0,#0xB]
ROM:1FFFB806 ORRS R2, R3
ROM:1FFFB808 STR R2, [R1,#8]
ROM:1FFFB80A LDRB R2, [R0,#0x12]
ROM:1FFFB80C LDRB R3, [R0,#0x11]
ROM:1FFFB80E LSLS R3, R3, #0x10
ROM:1FFFB810 ORR.W R2, R3, R2,LSL#24
ROM:1FFFB814 LDRB R3, [R0,#0x10]
ROM:1FFFB816 ORR.W R2, R2, R3,LSL#8
ROM:1FFFB81A LDRB R0, [R0,#0xF]
ROM:1FFFB81C ORRS R0, R2
ROM:1FFFB81E STR R0, [R1,#0xC]
ROM:1FFFB820 LDR R0, [R1]
ROM:1FFFB822 ORR.W R0, R0, #1
ROM:1FFFB826 STR R0, [R1]
ROM:1FFFB828 B loc_1FFFB82E
ROM:1FFFB82A ; ---------------------------------------------------------------------------
ROM:1FFFB82A
ROM:1FFFB82A loc_1FFFB82A ; CODE XREF: sub_1FFFB7C2+72j
ROM:1FFFB82A CBZ R4, loc_1FFFB838
ROM:1FFFB82C SUBS R4, R4, #1
ROM:1FFFB82E
ROM:1FFFB82E loc_1FFFB82E ; CODE XREF: sub_1FFFB7C2+66j
ROM:1FFFB82E BL sub_1FFFB8AA
ROM:1FFFB832 CMP R0, #1
ROM:1FFFB834 BNE loc_1FFFB82A
ROM:1FFFB836 CBNZ R4, locret_1FFFB83A
ROM:1FFFB838
ROM:1FFFB838 loc_1FFFB838 ; CODE XREF: sub_1FFFB7C2:loc_1FFFB82Aj
ROM:1FFFB838 B loc_1FFFB83C
ROM:1FFFB83A ; ---------------------------------------------------------------------------
ROM:1FFFB83A
ROM:1FFFB83A locret_1FFFB83A ; CODE XREF: sub_1FFFB7C2+74j
ROM:1FFFB83A POP {R4,PC}
ROM:1FFFB83C ; ---------------------------------------------------------------------------
ROM:1FFFB83C
ROM:1FFFB83C loc_1FFFB83C ; CODE XREF: sub_1FFFB75E:loc_1FFFB7BEj
ROM:1FFFB83C ; sub_1FFFB7C2:loc_1FFFB838j
ROM:1FFFB83C POP.W {R4,LR}
ROM:1FFFB840 B.W sys_reset
ROM:1FFFB840 ; End of function sub_1FFFB7C2
ROM:1FFFB840
ROM:1FFFB844
ROM:1FFFB844 ; =============== S U B R O U T I N E =======================================
ROM:1FFFB844
ROM:1FFFB844
ROM:1FFFB844 sub_1FFFB844 ; CODE XREF: check_canbus2+D2p
ROM:1FFFB844 ; sub_1FFFB966+2Ep ...
ROM:1FFFB844 LDR R1, =0x4000680C
ROM:1FFFB846 LDR R2, [R1]
ROM:1FFFB848 LSLS R2, R2, #0x1B
ROM:1FFFB84A BPL loc_1FFFB850
ROM:1FFFB84C MOVS R0, #1
ROM:1FFFB84E BX LR
ROM:1FFFB850 ; ---------------------------------------------------------------------------
ROM:1FFFB850
ROM:1FFFB850 loc_1FFFB850 ; CODE XREF: sub_1FFFB844+6j
ROM:1FFFB850 LDR R2, =0x400069B0
ROM:1FFFB852 LDR R3, [R2]
ROM:1FFFB854 AND.W R3, R3, #4
ROM:1FFFB858 STRB R3, [R0,#8]
ROM:1FFFB85A LDR R3, [R2]
ROM:1FFFB85C LSRS R3, R3, #0x15
ROM:1FFFB85E STR R3, [R0]
ROM:1FFFB860 LDR R3, [R2]
ROM:1FFFB862 AND.W R3, R3, #2
ROM:1FFFB866 STRB R3, [R0,#9]
ROM:1FFFB868 LDR R3, [R2,#4]
ROM:1FFFB86A AND.W R3, R3, #0xF
ROM:1FFFB86E STRB R3, [R0,#0xA]
ROM:1FFFB870 LDR R3, [R2,#4]
ROM:1FFFB872 LSRS R3, R3, #8
ROM:1FFFB874 STRB R3, [R0,#0x13]
ROM:1FFFB876 LDR R3, [R2,#8]
ROM:1FFFB878 STRB R3, [R0,#0xB]
ROM:1FFFB87A LDR R3, [R2,#8]
ROM:1FFFB87C LSRS R3, R3, #8
ROM:1FFFB87E STRB R3, [R0,#0xC]
ROM:1FFFB880 LDR R3, [R2,#8]
ROM:1FFFB882 LSRS R3, R3, #0x10
ROM:1FFFB884 STRB R3, [R0,#0xD]
ROM:1FFFB886 LDR R3, [R2,#8]
ROM:1FFFB888 LSRS R3, R3, #0x18
ROM:1FFFB88A STRB R3, [R0,#0xE]
ROM:1FFFB88C LDR R3, [R2,#0xC]
ROM:1FFFB88E STRB R3, [R0,#0xF]
ROM:1FFFB890 LDR R3, [R2,#0xC]
ROM:1FFFB892 LSRS R3, R3, #8
ROM:1FFFB894 STRB R3, [R0,#0x10]
ROM:1FFFB896 LDR R3, [R2,#0xC]
ROM:1FFFB898 LSRS R3, R3, #0x10
ROM:1FFFB89A STRB R3, [R0,#0x11]
ROM:1FFFB89C LDR R2, [R2,#0xC]
ROM:1FFFB89E LSRS R2, R2, #0x18
ROM:1FFFB8A0 STRB R2, [R0,#0x12]
ROM:1FFFB8A2 MOVS R0, #0x20
ROM:1FFFB8A4 STR R0, [R1]
ROM:1FFFB8A6 MOVS R0, #0
ROM:1FFFB8A8 BX LR
ROM:1FFFB8A8 ; End of function sub_1FFFB844
ROM:1FFFB8A8
ROM:1FFFB8AA
ROM:1FFFB8AA ; =============== S U B R O U T I N E =======================================
ROM:1FFFB8AA
ROM:1FFFB8AA
ROM:1FFFB8AA sub_1FFFB8AA ; CODE XREF: sub_1FFFB7C2:loc_1FFFB82Ep
ROM:1FFFB8AA LDR R0, =0x40006808
ROM:1FFFB8AC LDR R1, [R0]
ROM:1FFFB8AE LDR R2, [R0]
ROM:1FFFB8B0 LDR R0, [R0]
ROM:1FFFB8B2 AND.W R1, R1, #1
ROM:1FFFB8B6 AND.W R2, R2, #2
ROM:1FFFB8BA ORR.W R1, R2, R1,LSL#2
ROM:1FFFB8BE LSRS R0, R0, #0x1A
ROM:1FFFB8C0 AND.W R0, R0, #1
ROM:1FFFB8C4 ORRS R0, R1
ROM:1FFFB8C6 BEQ loc_1FFFB8CE
ROM:1FFFB8C8 CMP R0, #7
ROM:1FFFB8CA BEQ loc_1FFFB8D2
ROM:1FFFB8CC B loc_1FFFB8D6
ROM:1FFFB8CE ; ---------------------------------------------------------------------------
ROM:1FFFB8CE
ROM:1FFFB8CE loc_1FFFB8CE ; CODE XREF: sub_1FFFB8AA+1Cj
ROM:1FFFB8CE MOVS R0, #2
ROM:1FFFB8D0 BX LR
ROM:1FFFB8D2 ; ---------------------------------------------------------------------------
ROM:1FFFB8D2
ROM:1FFFB8D2 loc_1FFFB8D2 ; CODE XREF: sub_1FFFB8AA+20j
ROM:1FFFB8D2 MOVS R0, #1
ROM:1FFFB8D4 BX LR
ROM:1FFFB8D6 ; ---------------------------------------------------------------------------
ROM:1FFFB8D6
ROM:1FFFB8D6 loc_1FFFB8D6 ; CODE XREF: sub_1FFFB8AA+22j
ROM:1FFFB8D6 MOVS R0, #0
ROM:1FFFB8D8 BX LR
ROM:1FFFB8D8 ; End of function sub_1FFFB8AA
ROM:1FFFB8D8
ROM:1FFFB8DA
ROM:1FFFB8DA ; =============== S U B R O U T I N E =======================================
ROM:1FFFB8DA
ROM:1FFFB8DA
ROM:1FFFB8DA get_can_bus ; CODE XREF: check_canbus2:loc_1FFFB274p
ROM:1FFFB8DA ; sub_1FFFB966:loc_1FFFB988p ...
ROM:1FFFB8DA LDR R0, =0x40003000
ROM:1FFFB8DC MOVW R1, #0xAAAA
ROM:1FFFB8E0 STR R1, [R0] ; 喂狗
ROM:1FFFB8E2 LDR R0, =0x4000680C ; can2 port
ROM:1FFFB8E4 LDR R0, [R0]
ROM:1FFFB8E6 AND.W R0, R0, #3
ROM:1FFFB8EA BX LR
ROM:1FFFB8EA ; End of function get_can_bus
ROM:1FFFB8EA
ROM:1FFFB8EC
ROM:1FFFB8EC ; =============== S U B R O U T I N E =======================================
ROM:1FFFB8EC
ROM:1FFFB8EC
ROM:1FFFB8EC sub_1FFFB8EC ; CODE XREF: check_canbus2+E0p
ROM:1FFFB8EC ; sub_1FFFB966+36p ...
ROM:1FFFB8EC MOVS R0, #1
ROM:1FFFB8EE LDR R1, =0x40006818
ROM:1FFFB8F0 LDR R1, [R1]
ROM:1FFFB8F2 ANDS.W R1, R1, #0x70
ROM:1FFFB8F6 IT EQ
ROM:1FFFB8F8 MOVEQ R0, #0
ROM:1FFFB8FA BX LR
ROM:1FFFB8FA ; End of function sub_1FFFB8EC
ROM:1FFFB8FA
ROM:1FFFB8FC ; ---------------------------------------------------------------------------
ROM:1FFFB8FC ; START OF FUNCTION CHUNK FOR trigger_canbus
ROM:1FFFB8FC
ROM:1FFFB8FC loc_1FFFB8FC ; CODE XREF: trigger_canbus+5Aj
ROM:1FFFB8FC LDR R0, =0x40006600 ; bxCAN1
ROM:1FFFB8FE LDR R1, [R0]
ROM:1FFFB900 ORR.W R1, R1, #1
ROM:1FFFB904 STR R1, [R0]
ROM:1FFFB906 LDR R1, [R0,#0x1C]
ROM:1FFFB908 BIC.W R1, R1, #0x4000
ROM:1FFFB90C STR R1, [R0,#0x1C]
ROM:1FFFB90E LDR R1, [R0,#0xC]
ROM:1FFFB910 ORR.W R1, R1, #0x4000
ROM:1FFFB914 STR R1, [R0,#0xC]
ROM:1FFFB916 LDR R1, =0x400066B0
ROM:1FFFB918 MOVS R2, #0
ROM:1FFFB91A STR R2, [R1]
ROM:1FFFB91C STR R2, [R1,#4]
ROM:1FFFB91E LDR R1, [R0,#4]
ROM:1FFFB920 BIC.W R1, R1, #0x4000
ROM:1FFFB924 STR R1, [R0,#4]
ROM:1FFFB926 LDR R1, [R0,#0x14]
ROM:1FFFB928 BIC.W R1, R1, #0x4000
ROM:1FFFB92C STR R1, [R0,#0x14]
ROM:1FFFB92E LDR R1, [R0,#0x1C]
ROM:1FFFB930 ORR.W R1, R1, #0x4000
ROM:1FFFB934 STR R1, [R0,#0x1C]
ROM:1FFFB936 LDR R1, [R0]
ROM:1FFFB938 LSRS R1, R1, #1
ROM:1FFFB93A LSLS R1, R1, #1
ROM:1FFFB93C STR R1, [R0]
ROM:1FFFB93E BX LR
ROM:1FFFB93E ; END OF FUNCTION CHUNK FOR trigger_canbus
ROM:1FFFB940
ROM:1FFFB940 ; =============== S U B R O U T I N E =======================================
ROM:1FFFB940
ROM:1FFFB940
ROM:1FFFB940 sub_1FFFB940 ; CODE XREF: sub_1FFFB624+6j
ROM:1FFFB940 PUSH {R7,LR}
ROM:1FFFB942 ; 4: if ( FLASH_GetReadOutProtectionStatus() )
ROM:1FFFB942 BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFB942 ;
ROM:1FFFB946 CBNZ R0, loc_1FFFB960 ; 如果芯片的读保护位被设置了,直接返回0x55555555
ROM:1FFFB948 ; 7: result = _byteswap_ulong(v2000016F);
ROM:1FFFB948 LDR R0, =0x20000164
ROM:1FFFB94A LDRB R1, [R0,#0xB]
ROM:1FFFB94C LDRB R2, [R0,#0xC]
ROM:1FFFB94E LSLS R2, R2, #0x10
ROM:1FFFB950 ORR.W R1, R2, R1,LSL#24
ROM:1FFFB954 LDRB R2, [R0,#0xD]
ROM:1FFFB956 ORR.W R1, R1, R2,LSL#8
ROM:1FFFB95A LDRB R0, [R0,#0xE]
ROM:1FFFB95C ORRS R0, R1
ROM:1FFFB95E POP {R1,PC}
ROM:1FFFB960 ; ---------------------------------------------------------------------------
ROM:1FFFB960 ; 5: result = 0x55555555;
ROM:1FFFB960
ROM:1FFFB960 loc_1FFFB960 ; CODE XREF: sub_1FFFB940+6j
ROM:1FFFB960 MOV.W R0, #0x55555555 ; 如果芯片的读保护位被设置了,直接返回0x55555555
ROM:1FFFB964 POP {R1,PC}
ROM:1FFFB964 ; End of function sub_1FFFB940
ROM:1FFFB964
ROM:1FFFB966
ROM:1FFFB966 ; =============== S U B R O U T I N E =======================================
ROM:1FFFB966
ROM:1FFFB966
ROM:1FFFB966 sub_1FFFB966 ; CODE XREF: sub_1FFFB602+6j
ROM:1FFFB966
ROM:1FFFB966 var_20 = -0x20
ROM:1FFFB966 var_1F = -0x1F
ROM:1FFFB966 var_1C = -0x1C
ROM:1FFFB966 var_18 = -0x18
ROM:1FFFB966
ROM:1FFFB966 PUSH {R0,R4-R7,LR}
ROM:1FFFB968 SUB SP, SP, #8
ROM:1FFFB96A MOV R4, R1
ROM:1FFFB96C MOVS R0, #0
ROM:1FFFB96E STR R0, [SP,#0x20+var_1C]
ROM:1FFFB970 STRB.W R0, [SP,#0x20+var_20]
ROM:1FFFB974 MOVS R0, #1
ROM:1FFFB976 STRB.W R0, [SP,#0x20+var_1F]
ROM:1FFFB97A LDR R5, =0x20000C34
ROM:1FFFB97C STRB R0, [R5,#0xA]
ROM:1FFFB97E MOVS R0, #0x79
ROM:1FFFB980 STRB R0, [R5,#0xB]
ROM:1FFFB982 LDRB.W R0, [SP,#0x20+var_18]
ROM:1FFFB986 ADDS R7, R0, #1
ROM:1FFFB988
ROM:1FFFB988 loc_1FFFB988 ; CODE XREF: sub_1FFFB966+28j
ROM:1FFFB988 BL get_can_bus
ROM:1FFFB98C CMP R0, #0
ROM:1FFFB98E BEQ loc_1FFFB988
ROM:1FFFB990 LDR R6, =0x20000164
ROM:1FFFB992 MOV R0, R6
ROM:1FFFB994 BL sub_1FFFB844
ROM:1FFFB998 STRB.W R0, [SP,#0x20+var_1F]
ROM:1FFFB99C BL sub_1FFFB8EC
ROM:1FFFB9A0 CMP R0, #1
ROM:1FFFB9A2 ITT NE
ROM:1FFFB9A4 LDRNEB.W R0, [SP,#0x20+var_1F]
ROM:1FFFB9A8 CMPNE R0, #1
ROM:1FFFB9AA BEQ loc_1FFFBA28
ROM:1FFFB9AC STR R7, [SP,#0x20+var_1C]
ROM:1FFFB9AE B loc_1FFFB9C8
ROM:1FFFB9B0 ; ---------------------------------------------------------------------------
ROM:1FFFB9B0
ROM:1FFFB9B0 loc_1FFFB9B0 ; CODE XREF: sub_1FFFB966+8Cj
ROM:1FFFB9B0 ; sub_1FFFB966+92j ...
ROM:1FFFB9B0 LDRB.W R0, [SP,#0x20+var_20]
ROM:1FFFB9B4 CMP R0, #8
ROM:1FFFB9B6 ITTTT EQ
ROM:1FFFB9B8 LDREQ R0, [SP,#0x20+var_1C]
ROM:1FFFB9BA CMPEQ R0, #1
ROM:1FFFB9BC MOVEQ R0, R5
ROM:1FFFB9BE BLEQ sub_1FFFB7C2
ROM:1FFFB9C2 LDR R0, [SP,#0x20+var_1C]
ROM:1FFFB9C4 SUBS R0, R0, #1
ROM:1FFFB9C6 STR R0, [SP,#0x20+var_1C]
ROM:1FFFB9C8
ROM:1FFFB9C8 loc_1FFFB9C8 ; CODE XREF: sub_1FFFB966+48j
ROM:1FFFB9C8 LDR R0, [SP,#0x20+var_1C]
ROM:1FFFB9CA CMP R0, #0
ROM:1FFFB9CC LDRB.W R0, [SP,#0x20+var_20]
ROM:1FFFB9D0 BEQ loc_1FFFBA2C
ROM:1FFFB9D2 CMP R0, #8
ROM:1FFFB9D4 BNE loc_1FFFB9DA
ROM:1FFFB9D6 LDR R0, [SP,#0x20+var_1C]
ROM:1FFFB9D8 CBNZ R0, loc_1FFFB9EC
ROM:1FFFB9DA
ROM:1FFFB9DA loc_1FFFB9DA ; CODE XREF: sub_1FFFB966+6Ej
ROM:1FFFB9DA LDRB.W R0, [SP,#0x20+var_20]
ROM:1FFFB9DE ADDS R1, R0, #1
ROM:1FFFB9E0 STRB.W R1, [SP,#0x20+var_20]
ROM:1FFFB9E4 ADDS R0, R0, R6
ROM:1FFFB9E6 LDRB R0, [R0,#0xB]
ROM:1FFFB9E8 STRB.W R0, [R4],#1
ROM:1FFFB9EC
ROM:1FFFB9EC loc_1FFFB9EC ; CODE XREF: sub_1FFFB966+72j
ROM:1FFFB9EC LDRB.W R0, [SP,#0x20+var_20]
ROM:1FFFB9F0 CMP R0, #8
ROM:1FFFB9F2 BNE loc_1FFFB9B0
ROM:1FFFB9F4 LDR R0, [SP,#0x20+var_1C]
ROM:1FFFB9F6 CMP R0, #2
ROM:1FFFB9F8 BCC loc_1FFFB9B0
ROM:1FFFB9FA MOV R0, R5
ROM:1FFFB9FC BL sub_1FFFB7C2
ROM:1FFFBA00 MOVS R0, #0
ROM:1FFFBA02 STRB.W R0, [SP,#0x20+var_20]
ROM:1FFFBA06
ROM:1FFFBA06 loc_1FFFBA06 ; CODE XREF: sub_1FFFB966+A6j
ROM:1FFFBA06 BL get_can_bus
ROM:1FFFBA0A CMP R0, #0
ROM:1FFFBA0C BEQ loc_1FFFBA06
ROM:1FFFBA0E MOV R0, R6
ROM:1FFFBA10 BL sub_1FFFB844
ROM:1FFFBA14 STRB.W R0, [SP,#0x20+var_1F]
ROM:1FFFBA18 BL sub_1FFFB8EC
ROM:1FFFBA1C CMP R0, #1
ROM:1FFFBA1E ITT NE
ROM:1FFFBA20 LDRNEB.W R0, [SP,#0x20+var_1F]
ROM:1FFFBA24 CMPNE R0, #1
ROM:1FFFBA26 BNE loc_1FFFB9B0
ROM:1FFFBA28
ROM:1FFFBA28 loc_1FFFBA28 ; CODE XREF: sub_1FFFB966+44j
ROM:1FFFBA28 MOVS R0, #1
ROM:1FFFBA2A POP {R1-R7,PC}
ROM:1FFFBA2C ; ---------------------------------------------------------------------------
ROM:1FFFBA2C
ROM:1FFFBA2C loc_1FFFBA2C ; CODE XREF: sub_1FFFB966+6Aj
ROM:1FFFBA2C CMP R0, #8
ROM:1FFFBA2E BCS loc_1FFFBA3A
ROM:1FFFBA30 LDR R0, [SP,#0x20+var_1C]
ROM:1FFFBA32 CBNZ R0, loc_1FFFBA3A
ROM:1FFFBA34 MOV R0, R5
ROM:1FFFBA36 BL sub_1FFFB7C2
ROM:1FFFBA3A
ROM:1FFFBA3A loc_1FFFBA3A ; CODE XREF: sub_1FFFB966+C8j
ROM:1FFFBA3A ; sub_1FFFB966+CCj
ROM:1FFFBA3A MOVS R0, #0
ROM:1FFFBA3C POP {R1-R7,PC}
ROM:1FFFBA3C ; End of function sub_1FFFB966
ROM:1FFFBA3C
ROM:1FFFBA3C ; ---------------------------------------------------------------------------
ROM:1FFFBA3E DCB 0
ROM:1FFFBA3F DCB 0
ROM:1FFFBA40 dword_1FFFBA40 DCD 0x40021010 ; DATA XREF: trigger_canbusr
ROM:1FFFBA40 ; sub_1FFFB662+3Ar
ROM:1FFFBA44 dword_1FFFBA44 DCD 0x40010004 ; DATA XREF: trigger_canbus+24r
ROM:1FFFBA48 dword_1FFFBA48 DCD 0x40010C00 ; DATA XREF: trigger_canbus+30r
ROM:1FFFBA4C dword_1FFFBA4C DCD 0x4B844444 ; DATA XREF: trigger_canbus+34r
ROM:1FFFBA50 dword_1FFFBA50 DCD 0x20000C34 ; DATA XREF: check_canbus2+42r
ROM:1FFFBA50 ; sub_1FFFB966+14r
ROM:1FFFBA54 dword_1FFFBA54 DCD 0x4002100C ; DATA XREF: check_canbus2+50r
ROM:1FFFBA58 dword_1FFFBA58 DCD 0x4002200C ; DATA XREF: check_canbus2+54r
ROM:1FFFBA5C dword_1FFFBA5C DCD 0x20000164 ; DATA XREF: check_canbus2+5Cr
ROM:1FFFBA5C ; sub_1FFFB662+16r ...
ROM:1FFFBA60 dword_1FFFBA60 DCD 0xE000E010 ; DATA XREF: check_canbus2+A4r
ROM:1FFFBA64 dword_1FFFBA64 DCD 0x40003000 ; DATA XREF: check_canbus2:check_canbusr
ROM:1FFFBA64 ; get_can_busr
ROM:1FFFBA68 dword_1FFFBA68 DCD 0x1FFFF800 ; DATA XREF: check_canbus2+2C4r
ROM:1FFFBA6C dword_1FFFBA6C DCD 0x1000F ; DATA XREF: sub_1FFFB662+1Ar
ROM:1FFFBA70 dword_1FFFBA70 DCD 0x10007 ; DATA XREF: sub_1FFFB662+22r
ROM:1FFFBA74 dword_1FFFBA74 DCD 0x10003 ; DATA XREF: sub_1FFFB662+28r
ROM:1FFFBA78 dword_1FFFBA78 DCD 0x4000680C ; DATA XREF: sub_1FFFB662+3Er
ROM:1FFFBA78 ; sub_1FFFB844r ...
ROM:1FFFBA7C dword_1FFFBA7C DCD 0x110027 ; DATA XREF: sub_1FFFB662+4Er
ROM:1FFFBA80 dword_1FFFBA80 DCD 0x110013 ; DATA XREF: sub_1FFFB662+56r
ROM:1FFFBA84 dword_1FFFBA84 DCD 0x110009 ; DATA XREF: sub_1FFFB662+5Cr
ROM:1FFFBA88 dword_1FFFBA88 DCD 0x110004 ; DATA XREF: sub_1FFFB662+62r
ROM:1FFFBA8C dword_1FFFBA8C DCD 0x21001F ; DATA XREF: sub_1FFFB662+88r
ROM:1FFFBA90 dword_1FFFBA90 DCD 0x21000F ; DATA XREF: sub_1FFFB662+90r
ROM:1FFFBA94 dword_1FFFBA94 DCD 0x210007 ; DATA XREF: sub_1FFFB662+96r
ROM:1FFFBA98 dword_1FFFBA98 DCD 0x210003 ; DATA XREF: sub_1FFFB662+9Cr
ROM:1FFFBA9C dword_1FFFBA9C DCD 0x400069B0 ; DATA XREF: sub_1FFFB662+CAr
ROM:1FFFBA9C ; sub_1FFFB844:loc_1FFFB850r
ROM:1FFFBAA0 dword_1FFFBAA0 DCD 0x40006800 ; DATA XREF: sub_1FFFB75E+Er
ROM:1FFFBAA4 dword_1FFFBAA4 DCD 0x40006980 ; DATA XREF: sub_1FFFB7C2+6r
ROM:1FFFBAA8 dword_1FFFBAA8 DCD 0x40006808 ; DATA XREF: sub_1FFFB8AAr
ROM:1FFFBAAC dword_1FFFBAAC DCD 0x40006818 ; DATA XREF: sub_1FFFB8EC+2r
ROM:1FFFBAB0 dword_1FFFBAB0 DCD 0x40006600 ; DATA XREF: trigger_canbus:loc_1FFFB8FCr
ROM:1FFFBAB4 dword_1FFFBAB4 DCD 0x400066B0 ; DATA XREF: trigger_canbus+7C6r
ROM:1FFFBAB8
ROM:1FFFBAB8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBAB8
ROM:1FFFBAB8
ROM:1FFFBAB8 sub_1FFFBAB8 ; DATA XREF: check_canbus2+8o
ROM:1FFFBAB8 LSRS R1, R7, #0x11
ROM:1FFFBABA MOVS R0, R4
ROM:1FFFBABC LSLS R1, R0, #8
ROM:1FFFBABE ASRS R3, R0, #4
ROM:1FFFBAC0 ADDS R1, #0x21
ROM:1FFFBAC2 STR R3, [R0,#0x34]
ROM:1FFFBAC4 STRH R3, [R6,#0x12]
ROM:1FFFBAC6 LDRB R2, [R2,#6]
ROM:1FFFBAC6 ; End of function sub_1FFFBAB8
ROM:1FFFBAC6
ROM:1FFFBAC8
ROM:1FFFBAC8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBAC8
ROM:1FFFBAC8 ; N 当用两个补码表示的带符号数进行运算时,N=1表示运算的结果为负数;N=0表示运算的结果为正数或零.
ROM:1FFFBAC8 ; Z Z=1表示运算的结果为零,Z=0表示运算的结果非零。
ROM:1FFFBAC8 ; C 可以有4种方法设置C的值:
ROM:1FFFBAC8 ; 加法运算(包括CMN):当运算结果产生了进位时(无符号数溢出),C=1,否则C=0。
ROM:1FFFBAC8 ; 减法运算(包括CMP):当运算时产生了借位时(无符号数溢出),C=0,否则C=1。
ROM:1FFFBAC8 ; 对于包含移位操作的非加/减运算指令,C为移出值的最后一位。
ROM:1FFFBAC8 ; 对于其它的非加/减运算指令,C的值通常不会改变。
ROM:1FFFBAC8 ; V 可以有2种方法设置V的值:
ROM:1FFFBAC8 ; 对于加减法运算指令,当操作数和运算结果为二进制的补码表示的带符号数时,V=1表示符号位溢出
ROM:1FFFBAC8 ; 对于其它的非加/减运算指令,V的值通常不会改变。
ROM:1FFFBAC8 ;
ROM:1FFFBAC8 ; 0000 = EQ - Z set (equal,相等)
ROM:1FFFBAC8 ; 0001 = NE - Z clear (not equal,不相等)
ROM:1FFFBAC8 ; 0010 = CS - C set (unsigned higher or same,无符号大于或等于)
ROM:1FFFBAC8 ; 0011 = CC - C clear (unsigned lower,无符号小于)
ROM:1FFFBAC8 ; 0100 = MI - N set (negative,负数)
ROM:1FFFBAC8 ; 0101 = PL - N clear (positive or zero,正数或零)
ROM:1FFFBAC8 ; 0110 = VS - V set (overflow,溢出)
ROM:1FFFBAC8 ; 0111 = VC - V clear (no overflow,未溢出)
ROM:1FFFBAC8 ; 1000 = HI - C set and Z clear (unsigned higher,无符号大于)
ROM:1FFFBAC8 ; 1001 = LS - C clear or Z set (unsigned lower or same,无符号小于或等于)
ROM:1FFFBAC8 ; 1010 = GE - N set and V set, or N clear and V clear (greater or equal,带符号大于或等于)
ROM:1FFFBAC8 ; 1011 = LT - N set and V clear, or N clear and V set (less than,带符号小于)
ROM:1FFFBAC8 ; 1100 = GT - Z clear, and either N set and V set, or N clear and V clear (greater than,带符号大于)
ROM:1FFFBAC8 ; 1101 = LE - Z set, or N set and V clear, or N clear and V set (less than or equal,带符号小于或等于)
ROM:1FFFBAC8 ; 1110 = AL - always
ROM:1FFFBAC8 ; 1111 = NV - never
ROM:1FFFBAC8 ;
ROM:1FFFBAC8
ROM:1FFFBAC8 memcpy ; CODE XREF: check_canbus2+Ep
ROM:1FFFBAC8 ; uart_monitor+Ep
ROM:1FFFBAC8 SUBS R2, #0x10 ; 减法操作,有溢出否?
ROM:1FFFBACA BCC loc_1FFFBADC ; 有溢出
ROM:1FFFBACC PUSH {R4,R5} ; 没有溢出
ROM:1FFFBACE
ROM:1FFFBACE loc_1FFFBACE ; CODE XREF: memcpy+10j
ROM:1FFFBACE LDMIA.W R1!, {R3-R5,R12}
ROM:1FFFBAD2 SUBS R2, #0x10
ROM:1FFFBAD4 STMIA.W R0!, {R3-R5,R12}
ROM:1FFFBAD8 BCS loc_1FFFBACE
ROM:1FFFBADA POP {R4,R5}
ROM:1FFFBADC
ROM:1FFFBADC loc_1FFFBADC ; CODE XREF: memcpy+2j
ROM:1FFFBADC LSLS R3, R2, #0x1D ; 有溢出
ROM:1FFFBADE ITT CS ; cs=bit3
ROM:1FFFBADE ; tt->后续2条条件执行命令
ROM:1FFFBADE ; cs为1,说明数据比8大于或等于
ROM:1FFFBAE0 LDMCSIA.W R1!, {R3,R12}
ROM:1FFFBAE4 STMCSIA.W R0!, {R3,R12}
ROM:1FFFBAE8
ROM:1FFFBAE8 loc_1FFFBAE8 ; CODE XREF: ROM:1FFFBB1Cj
ROM:1FFFBAE8 ITT MI ; 判断bit2,为1,说明至少>=4
ROM:1FFFBAEA LDRMI.W R3, [R1],#4
ROM:1FFFBAEE STRMI.W R3, [R0],#4
ROM:1FFFBAF2 LSLS R2, R2, #0x1F ; 判断bit1
ROM:1FFFBAF4 ITT CS ; 判断bit1,为1,说明至少>=2
ROM:1FFFBAF6 LDRCSH.W R2, [R1],#2
ROM:1FFFBAFA STRCSH.W R2, [R0],#2
ROM:1FFFBAFE ITT MI ; 判断bit0
ROM:1FFFBB00 LDRMIB R3, [R1]
ROM:1FFFBB02 STRMIB R3, [R0]
ROM:1FFFBB04 BX LR
ROM:1FFFBB04 ; End of function memcpy
ROM:1FFFBB04
ROM:1FFFBB06 ; ---------------------------------------------------------------------------
ROM:1FFFBB06 SUBS R2, #8
ROM:1FFFBB08 BCC loc_1FFFBB1A
ROM:1FFFBB0A
ROM:1FFFBB0A loc_1FFFBB0A ; CODE XREF: ROM:1FFFBB18j
ROM:1FFFBB0A LDMIA.W R1!, {R3,R12}
ROM:1FFFBB0E SUBS R2, #8
ROM:1FFFBB10 STR.W R3, [R0],#4
ROM:1FFFBB14 STR.W R12, [R0],#4
ROM:1FFFBB18 BCS loc_1FFFBB0A
ROM:1FFFBB1A
ROM:1FFFBB1A loc_1FFFBB1A ; CODE XREF: ROM:1FFFBB08j
ROM:1FFFBB1A LSLS R3, R2, #0x1D
ROM:1FFFBB1C B loc_1FFFBAE8 ; 判断bit2,为1,说明至少>=4
ROM:1FFFBB1E
ROM:1FFFBB1E ; =============== S U B R O U T I N E =======================================
ROM:1FFFBB1E
ROM:1FFFBB1E
ROM:1FFFBB1E g_data_init
ROM:1FFFBB1E PUSH {R4}
ROM:1FFFBB20
ROM:1FFFBB20 loc_1FFFBB20 ; CODE XREF: g_data_init+28j
ROM:1FFFBB20 LDR.W R1, [R0],#4
ROM:1FFFBB24 CBZ R1, loc_1FFFBB48
ROM:1FFFBB26 LDR R2, [R0]
ROM:1FFFBB28 ADDS R2, R2, R0
ROM:1FFFBB2A ADDS R0, R0, #4
ROM:1FFFBB2C LDR.W R3, [R0],#4
ROM:1FFFBB30 LSLS R4, R3, #0x1F
ROM:1FFFBB32 ITT MI
ROM:1FFFBB34 SUBMI.W R4, R9, #1
ROM:1FFFBB38 ADDMI R3, R4, R3
ROM:1FFFBB3A
ROM:1FFFBB3A loc_1FFFBB3A ; CODE XREF: g_data_init+26j
ROM:1FFFBB3A LDR.W R4, [R2],#4
ROM:1FFFBB3E STR.W R4, [R3],#4
ROM:1FFFBB42 SUBS R1, R1, #4
ROM:1FFFBB44 BNE loc_1FFFBB3A
ROM:1FFFBB46 B loc_1FFFBB20
ROM:1FFFBB48 ; ---------------------------------------------------------------------------
ROM:1FFFBB48
ROM:1FFFBB48 loc_1FFFBB48 ; CODE XREF: g_data_init+6j
ROM:1FFFBB48 POP {R4}
ROM:1FFFBB4A BX LR
ROM:1FFFBB4A ; End of function g_data_init
ROM:1FFFBB4A
ROM:1FFFBB4C ; 4: if ( (unsigned int)(a1 - 0x8000000) >= 0x40000 )
ROM:1FFFBB4C
ROM:1FFFBB4C ; =============== S U B R O U T I N E =======================================
ROM:1FFFBB4C
ROM:1FFFBB4C
ROM:1FFFBB4C ; signed int __fastcall get_mem_block(int addr)
ROM:1FFFBB4C get_mem_block ; CODE XREF: check_canbus2+474j
ROM:1FFFBB4C ; sub_1FFFC2EE+D0p ...
ROM:1FFFBB4C SUB.W R1, R0, #0x8000000
ROM:1FFFBB50 CMP.W R1, #0x40000
ROM:1FFFBB54 BCS loc_1FFFBB5A
ROM:1FFFBB56 ; 27: result = 2;
ROM:1FFFBB56 MOVS R0, #2
ROM:1FFFBB58 BX LR
ROM:1FFFBB5A ; ---------------------------------------------------------------------------
ROM:1FFFBB5A ; 6: if ( (unsigned int)(a1 - 0x20001000) >= 0xF000 )
ROM:1FFFBB5A
ROM:1FFFBB5A loc_1FFFBB5A ; CODE XREF: get_mem_block+8j
ROM:1FFFBB5A LDR R1, =0xDFFFF000
ROM:1FFFBB5C ADDS R1, R1, R0
ROM:1FFFBB5E CMP.W R1, #0xF000
ROM:1FFFBB62 BCS loc_1FFFBB68
ROM:1FFFBB64 ; 22: result = 3;
ROM:1FFFBB64 MOVS R0, #3
ROM:1FFFBB66 BX LR
ROM:1FFFBB68 ; ---------------------------------------------------------------------------
ROM:1FFFBB68 ; 8: if ( (unsigned int)(a1 - 0x1FFFF800) >= 0x800 )
ROM:1FFFBB68
ROM:1FFFBB68 loc_1FFFBB68 ; CODE XREF: get_mem_block+16j
ROM:1FFFBB68 ADD.W R1, R0, #0xE0000000
ROM:1FFFBB6C ADD.W R1, R1, #0x800
ROM:1FFFBB70 CMP.W R1, #0x800
ROM:1FFFBB74 BCS loc_1FFFBB7A
ROM:1FFFBB76 ; 17: result = 4;
ROM:1FFFBB76 MOVS R0, #4
ROM:1FFFBB78 BX LR
ROM:1FFFBB7A ; ---------------------------------------------------------------------------
ROM:1FFFBB7A ; 10: if ( (unsigned int)(a1 - 0x1FFFB000) >= 0x4800 )
ROM:1FFFBB7A
ROM:1FFFBB7A loc_1FFFBB7A ; CODE XREF: get_mem_block+28j
ROM:1FFFBB7A ADD.W R0, R0, #0xE0000000
ROM:1FFFBB7E ADD.W R0, R0, #0x5000
ROM:1FFFBB82 CMP.W R0, #0x4800
ROM:1FFFBB86 BCS loc_1FFFBB8C
ROM:1FFFBB88 ; 13: result = 5;
ROM:1FFFBB88 MOVS R0, #5
ROM:1FFFBB8A BX LR
ROM:1FFFBB8C ; ---------------------------------------------------------------------------
ROM:1FFFBB8C ; 11: result = 1;
ROM:1FFFBB8C
ROM:1FFFBB8C loc_1FFFBB8C ; CODE XREF: get_mem_block+3Aj
ROM:1FFFBB8C MOVS R0, #1
ROM:1FFFBB8E BX LR
ROM:1FFFBB8E ; End of function get_mem_block
ROM:1FFFBB8E
ROM:1FFFBB90
ROM:1FFFBB90 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBB90
ROM:1FFFBB90
ROM:1FFFBB90 clear_all_mem ; CODE XREF: check_canbus2+448p
ROM:1FFFBB90 ; sub_1FFFC2EE+A6p ...
ROM:1FFFBB90 LDR R0, =0x2000FFFC
ROM:1FFFBB92 MOVS R1, #0
ROM:1FFFBB94
ROM:1FFFBB94 loc_1FFFBB94 ; CODE XREF: clear_all_mem+Cj
ROM:1FFFBB94 STR.W R1, [R0],#-4
ROM:1FFFBB98 CMP.W R0, #0x20000000
ROM:1FFFBB9C BNE loc_1FFFBB94
ROM:1FFFBB9E BX LR
ROM:1FFFBB9E ; End of function clear_all_mem
ROM:1FFFBB9E
ROM:1FFFBBA0
ROM:1FFFBBA0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBBA0
ROM:1FFFBBA0
ROM:1FFFBBA0 sys_reset ; CODE XREF: check_canbus2+3Ap
ROM:1FFFBBA0 ; check_canbus2+328p ...
ROM:1FFFBBA0 LDR R0, =0xE000ED0C
ROM:1FFFBBA2 LDR R1, =0x5FA0004
ROM:1FFFBBA4 STR R1, [R0]
ROM:1FFFBBA6 BX LR
ROM:1FFFBBA6 ; End of function sys_reset
ROM:1FFFBBA6
ROM:1FFFBBA6 ; ---------------------------------------------------------------------------
ROM:1FFFBBA8 dword_1FFFBBA8 DCD 0xDFFFF000 ; DATA XREF: get_mem_block:loc_1FFFBB5Ar
ROM:1FFFBBAC dword_1FFFBBAC DCD 0x2000FFFC ; DATA XREF: clear_all_memr
ROM:1FFFBBB0 dword_1FFFBBB0 DCD 0xE000ED0C ; DATA XREF: sys_resetr
ROM:1FFFBBB4 dword_1FFFBBB4 DCD 0x5FA0004 ; DATA XREF: sys_reset+2r
ROM:1FFFBBB8
ROM:1FFFBBB8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBBB8
ROM:1FFFBBB8
ROM:1FFFBBB8 set_MSP ; CODE XREF: check_canbus2+B8p
ROM:1FFFBBB8 ; uart_monitor+184p ...
ROM:1FFFBBB8 MSR.W MSP, R0
ROM:1FFFBBBC BX LR
ROM:1FFFBBBC ; End of function set_MSP
ROM:1FFFBBBC
ROM:1FFFBBBC ; ---------------------------------------------------------------------------
ROM:1FFFBBBE DCB 0x70 ; p
ROM:1FFFBBBF DCB 0x47 ; G
ROM:1FFFBBC0
ROM:1FFFBBC0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBBC0
ROM:1FFFBBC0
ROM:1FFFBBC0 disable_irq ; CODE XREF: check_canbus2+3Ep
ROM:1FFFBBC0 ; uart_ready+2p ...
ROM:1FFFBBC0 CPSID I
ROM:1FFFBBC2 BX LR
ROM:1FFFBBC2 ; End of function disable_irq
ROM:1FFFBBC2
ROM:1FFFBBC2 ; ---------------------------------------------------------------------------
ROM:1FFFBBC4 DCB 0x70 ; p
ROM:1FFFBBC5 DCB 0x47 ; G
ROM:1FFFBBC6 DCB 0
ROM:1FFFBBC7 DCB 0
ROM:1FFFBBC8
ROM:1FFFBBC8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBBC8
ROM:1FFFBBC8
ROM:1FFFBBC8 enable_irq ; CODE XREF: check_canbus2+ACp
ROM:1FFFBBC8 ; uart_monitor+178p ...
ROM:1FFFBBC8 CPSIE I
ROM:1FFFBBCA BX LR
ROM:1FFFBBCA ; End of function enable_irq
ROM:1FFFBBCA
ROM:1FFFBBCC ; ---------------------------------------------------------------------------
ROM:1FFFBBCC BX LR
ROM:1FFFBBCE
ROM:1FFFBBCE ; =============== S U B R O U T I N E =======================================
ROM:1FFFBBCE
ROM:1FFFBBCE
ROM:1FFFBBCE bss_clear ; CODE XREF: bss_clear+1Ej
ROM:1FFFBBCE ; sys_create+18p
ROM:1FFFBBCE LDR.W R1, [R0],#4
ROM:1FFFBBD2 CBZ R1, locret_1FFFBBEE
ROM:1FFFBBD4 LDR.W R2, [R0],#4
ROM:1FFFBBD8 LSLS R3, R2, #0x1F
ROM:1FFFBBDA ITT MI
ROM:1FFFBBDC SUBMI.W R3, R9, #1
ROM:1FFFBBE0 ADDMI R2, R3, R2
ROM:1FFFBBE2
ROM:1FFFBBE2 loc_1FFFBBE2 ; CODE XREF: bss_clear+1Cj
ROM:1FFFBBE2 MOVS R3, #0
ROM:1FFFBBE4 STR.W R3, [R2],#4
ROM:1FFFBBE8 SUBS R1, R1, #4
ROM:1FFFBBEA BNE loc_1FFFBBE2
ROM:1FFFBBEC B bss_clear
ROM:1FFFBBEE ; ---------------------------------------------------------------------------
ROM:1FFFBBEE
ROM:1FFFBBEE locret_1FFFBBEE ; CODE XREF: bss_clear+4j
ROM:1FFFBBEE BX LR
ROM:1FFFBBEE ; End of function bss_clear
ROM:1FFFBBEE
ROM:1FFFBBF0
ROM:1FFFBBF0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBBF0
ROM:1FFFBBF0
ROM:1FFFBBF0 sub_1FFFBBF0 ; CODE XREF: sub_1FFFB662+Cp
ROM:1FFFBBF0 ; sub_1FFFB662+78p ...
ROM:1FFFBBF0
ROM:1FFFBBF0 var_18 = -0x18
ROM:1FFFBBF0
ROM:1FFFBBF0 PUSH {R4-R6,LR}
ROM:1FFFBBF2 SUB SP, SP, #8
ROM:1FFFBBF4 MOVS R0, #0
ROM:1FFFBBF6 STR R0, [SP,#0x18+var_18]
ROM:1FFFBBF8 BL FLASH_UnlockBank1
ROM:1FFFBBFC BL RCC_init
ROM:1FFFBC00 LDR.W R4, =0x40021000
ROM:1FFFBC04 LDR R0, [R4]
ROM:1FFFBC06 BIC.W R0, R0, #0x10000
ROM:1FFFBC0A STR R0, [R4]
ROM:1FFFBC0C LDR R0, [R4]
ROM:1FFFBC0E BIC.W R0, R0, #0x40000
ROM:1FFFBC12 STR R0, [R4]
ROM:1FFFBC14 LDR R0, [R4]
ROM:1FFFBC16 ORR.W R0, R0, #0x10000
ROM:1FFFBC1A STR R0, [R4]
ROM:1FFFBC1C LDR.W R5, =0x2000023C
ROM:1FFFBC20 MOV.W R6, #0xB000000
ROM:1FFFBC24 STR R6, [R5]
ROM:1FFFBC26 B loc_1FFFBC2E
ROM:1FFFBC28 ; ---------------------------------------------------------------------------
ROM:1FFFBC28
ROM:1FFFBC28 loc_1FFFBC28 ; CODE XREF: sub_1FFFBBF0+48j
ROM:1FFFBC28 LDR R0, [R5]
ROM:1FFFBC2A SUBS R0, R0, #1
ROM:1FFFBC2C STR R0, [R5]
ROM:1FFFBC2E
ROM:1FFFBC2E loc_1FFFBC2E ; CODE XREF: sub_1FFFBBF0+36j
ROM:1FFFBC2E LDR R0, [R4]
ROM:1FFFBC30 LSLS R0, R0, #0xE
ROM:1FFFBC32 BMI loc_1FFFBC3A
ROM:1FFFBC34 LDR R0, [R5]
ROM:1FFFBC36 CMP R0, #0
ROM:1FFFBC38 BNE loc_1FFFBC28
ROM:1FFFBC3A
ROM:1FFFBC3A loc_1FFFBC3A ; CODE XREF: sub_1FFFBBF0+42j
ROM:1FFFBC3A LDR R0, [R5]
ROM:1FFFBC3C CBNZ R0, loc_1FFFBC42
ROM:1FFFBC3E BL sys_reset
ROM:1FFFBC42
ROM:1FFFBC42 loc_1FFFBC42 ; CODE XREF: sub_1FFFBBF0+4Cj
ROM:1FFFBC42 LDR R0, [R4,#4]
ROM:1FFFBC44 STR R0, [SP,#0x18+var_18]
ROM:1FFFBC46 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBC48 LSRS R0, R0, #2
ROM:1FFFBC4A LSLS R0, R0, #2
ROM:1FFFBC4C STR R0, [SP,#0x18+var_18]
ROM:1FFFBC4E LDR R0, [SP,#0x18+var_18]
ROM:1FFFBC50 ORR.W R0, R0, #1
ROM:1FFFBC54 STR R0, [SP,#0x18+var_18]
ROM:1FFFBC56 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBC58 STR R0, [R4,#4]
ROM:1FFFBC5A STR R6, [R5]
ROM:1FFFBC5C B loc_1FFFBC64
ROM:1FFFBC5E ; ---------------------------------------------------------------------------
ROM:1FFFBC5E
ROM:1FFFBC5E loc_1FFFBC5E ; CODE XREF: sub_1FFFBBF0+7Ej
ROM:1FFFBC5E LDR R0, [R5]
ROM:1FFFBC60 SUBS R0, R0, #1
ROM:1FFFBC62 STR R0, [R5]
ROM:1FFFBC64
ROM:1FFFBC64 loc_1FFFBC64 ; CODE XREF: sub_1FFFBBF0+6Cj
ROM:1FFFBC64 LDR R0, [R4,#4]
ROM:1FFFBC66 LSLS R0, R0, #0x1D
ROM:1FFFBC68 BMI loc_1FFFBC70
ROM:1FFFBC6A LDR R0, [R5]
ROM:1FFFBC6C CMP R0, #0
ROM:1FFFBC6E BNE loc_1FFFBC5E
ROM:1FFFBC70
ROM:1FFFBC70 loc_1FFFBC70 ; CODE XREF: sub_1FFFBBF0+78j
ROM:1FFFBC70 LDR R0, [R5]
ROM:1FFFBC72 CBNZ R0, loc_1FFFBC78
ROM:1FFFBC74 BL sys_reset
ROM:1FFFBC78
ROM:1FFFBC78 loc_1FFFBC78 ; CODE XREF: sub_1FFFBBF0+82j
ROM:1FFFBC78 LDR.W R0, =0x40022000
ROM:1FFFBC7C LDR R1, [R0]
ROM:1FFFBC7E AND.W R1, R1, #0x38
ROM:1FFFBC82 STR R1, [R0]
ROM:1FFFBC84 LDR R1, [R0]
ROM:1FFFBC86 ORR.W R1, R1, #2
ROM:1FFFBC8A STR R1, [R0]
ROM:1FFFBC8C LDR.W R0, =0x4242004C
ROM:1FFFBC90 MOVS R1, #1
ROM:1FFFBC92 STR R1, [R0]
ROM:1FFFBC94 POP {R0,R1,R4-R6,PC}
ROM:1FFFBC94 ; End of function sub_1FFFBBF0
ROM:1FFFBC94
ROM:1FFFBC96
ROM:1FFFBC96 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBC96
ROM:1FFFBC96
ROM:1FFFBC96 sub_1FFFBC96 ; CODE XREF: sub_1FFFB662+12p
ROM:1FFFBC96 ; sub_1FFFB662+80p
ROM:1FFFBC96
ROM:1FFFBC96 var_4 = -4
ROM:1FFFBC96
ROM:1FFFBC96 SUB SP, SP, #4
ROM:1FFFBC98 MOVS R1, #0
ROM:1FFFBC9A STR R1, [SP,#4+var_4]
ROM:1FFFBC9C LDR.W R1, =0x40021004
ROM:1FFFBCA0 LDR R2, [R1]
ROM:1FFFBCA2 STR R2, [SP,#4+var_4]
ROM:1FFFBCA4 LDR R2, [SP,#4+var_4]
ROM:1FFFBCA6 BIC.W R2, R2, #0x700
ROM:1FFFBCAA STR R2, [SP,#4+var_4]
ROM:1FFFBCAC LDR R2, [SP,#4+var_4]
ROM:1FFFBCAE ORRS R0, R2
ROM:1FFFBCB0 STR R0, [SP,#4+var_4]
ROM:1FFFBCB2 LDR R0, [SP,#4+var_4]
ROM:1FFFBCB4 STR R0, [R1]
ROM:1FFFBCB6 ADD SP, SP, #4
ROM:1FFFBCB8 BX LR
ROM:1FFFBCB8 ; End of function sub_1FFFBC96
ROM:1FFFBCB8
ROM:1FFFBCBA
ROM:1FFFBCBA ; =============== S U B R O U T I N E =======================================
ROM:1FFFBCBA
ROM:1FFFBCBA
ROM:1FFFBCBA clk_cfg ; CODE XREF: sub_1FFFC9AA+5Cp
ROM:1FFFBCBA ; g_sys_init+1Ep
ROM:1FFFBCBA
ROM:1FFFBCBA var_10 = -0x10
ROM:1FFFBCBA
ROM:1FFFBCBA PUSH {R4,LR}
ROM:1FFFBCBC SUB SP, SP, #8
ROM:1FFFBCBE MOVS R0, #0
ROM:1FFFBCC0 STR R0, [SP,#0x10+var_10]
ROM:1FFFBCC2 BL FLASH_UnlockBank1
ROM:1FFFBCC6 BL RCC_init
ROM:1FFFBCCA LDR.W R4, =0x40021000 ; RCC_BASE
ROM:1FFFBCCE MOV.W R0, #0x100000
ROM:1FFFBCD2 STR R0, [R4,#4]
ROM:1FFFBCD4 LDR.W R0, =0x42420060
ROM:1FFFBCD8 MOVS R1, #1
ROM:1FFFBCDA STR R1, [R0]
ROM:1FFFBCDC LDR R0, [R4]
ROM:1FFFBCDE ORR.W R0, R0, #0x10000
ROM:1FFFBCE2 STR R0, [R4]
ROM:1FFFBCE4 LDR.W R0, =0x2000023C
ROM:1FFFBCE8 MOV.W R1, #0xB000000
ROM:1FFFBCEC B loc_1FFFBCF2
ROM:1FFFBCEE ; ---------------------------------------------------------------------------
ROM:1FFFBCEE
ROM:1FFFBCEE loc_1FFFBCEE ; CODE XREF: clk_cfg+44j
ROM:1FFFBCEE LDR R1, [R0]
ROM:1FFFBCF0 SUBS R1, R1, #1
ROM:1FFFBCF2
ROM:1FFFBCF2 loc_1FFFBCF2 ; CODE XREF: clk_cfg+32j
ROM:1FFFBCF2 STR R1, [R0]
ROM:1FFFBCF4 LDR R1, [R4]
ROM:1FFFBCF6 LSLS R1, R1, #6
ROM:1FFFBCF8 BMI loc_1FFFBD00
ROM:1FFFBCFA LDR R1, [R0]
ROM:1FFFBCFC CMP R1, #0
ROM:1FFFBCFE BNE loc_1FFFBCEE
ROM:1FFFBD00
ROM:1FFFBD00 loc_1FFFBD00 ; CODE XREF: clk_cfg+3Ej
ROM:1FFFBD00 LDR R0, [R0]
ROM:1FFFBD02 CBNZ R0, loc_1FFFBD08
ROM:1FFFBD04 BL sys_reset
ROM:1FFFBD08
ROM:1FFFBD08 loc_1FFFBD08 ; CODE XREF: clk_cfg+48j
ROM:1FFFBD08 LDR R0, [R4]
ROM:1FFFBD0A BIC.W R0, R0, #0x10000
ROM:1FFFBD0E STR R0, [R4]
ROM:1FFFBD10 LDR.W R0, =0x100002
ROM:1FFFBD14 STR R0, [R4,#4]
ROM:1FFFBD16 POP {R0,R1,R4,PC}
ROM:1FFFBD16 ; End of function clk_cfg
ROM:1FFFBD16
ROM:1FFFBD18
ROM:1FFFBD18 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBD18
ROM:1FFFBD18
ROM:1FFFBD18 sub_1FFFBD18 ; CODE XREF: ROM:loc_1FFFE328p
ROM:1FFFBD18
ROM:1FFFBD18 var_18 = -0x18
ROM:1FFFBD18
ROM:1FFFBD18 PUSH {R3-R7,LR}
ROM:1FFFBD1A MOVS R0, #0
ROM:1FFFBD1C STR R0, [SP,#0x18+var_18]
ROM:1FFFBD1E LDR.W R4, =0x42420060
ROM:1FFFBD22 STR R0, [R4]
ROM:1FFFBD24 STR R0, [R4,#8]
ROM:1FFFBD26 LDR.W R5, =0x40021000
ROM:1FFFBD2A LDR R0, [R5,#0x2C]
ROM:1FFFBD2C STR R0, [SP,#0x18+var_18]
ROM:1FFFBD2E LDR R0, [SP,#0x18+var_18]
ROM:1FFFBD30 BIC.W R0, R0, #0xF0
ROM:1FFFBD34 STR R0, [SP,#0x18+var_18]
ROM:1FFFBD36 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBD38 ORR.W R0, R0, #0x40
ROM:1FFFBD3C STR R0, [SP,#0x18+var_18]
ROM:1FFFBD3E LDR R0, [SP,#0x18+var_18]
ROM:1FFFBD40 STR R0, [R5,#0x2C]
ROM:1FFFBD42 LDR R0, [R5,#0x2C]
ROM:1FFFBD44 STR R0, [SP,#0x18+var_18]
ROM:1FFFBD46 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBD48 BIC.W R0, R0, #0xF00
ROM:1FFFBD4C STR R0, [SP,#0x18+var_18]
ROM:1FFFBD4E LDR R0, [SP,#0x18+var_18]
ROM:1FFFBD50 ORR.W R0, R0, #0x600
ROM:1FFFBD54 STR R0, [SP,#0x18+var_18]
ROM:1FFFBD56 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBD58 STR R0, [R5,#0x2C]
ROM:1FFFBD5A MOVS R0, #1
ROM:1FFFBD5C STR R0, [R4,#8]
ROM:1FFFBD5E LDR.W R6, =0x2000023C
ROM:1FFFBD62 MOV.W R7, #0xB000000
ROM:1FFFBD66 STR R7, [R6]
ROM:1FFFBD68 B loc_1FFFBD70
ROM:1FFFBD6A ; ---------------------------------------------------------------------------
ROM:1FFFBD6A
ROM:1FFFBD6A loc_1FFFBD6A ; CODE XREF: sub_1FFFBD18+62j
ROM:1FFFBD6A LDR R0, [R6]
ROM:1FFFBD6C SUBS R0, R0, #1
ROM:1FFFBD6E STR R0, [R6]
ROM:1FFFBD70
ROM:1FFFBD70 loc_1FFFBD70 ; CODE XREF: sub_1FFFBD18+50j
ROM:1FFFBD70 LDR R0, [R5]
ROM:1FFFBD72 LSLS R0, R0, #4
ROM:1FFFBD74 BMI loc_1FFFBD7C
ROM:1FFFBD76 LDR R0, [R6]
ROM:1FFFBD78 CMP R0, #0
ROM:1FFFBD7A BNE loc_1FFFBD6A
ROM:1FFFBD7C
ROM:1FFFBD7C loc_1FFFBD7C ; CODE XREF: sub_1FFFBD18+5Cj
ROM:1FFFBD7C LDR R0, [R6]
ROM:1FFFBD7E CBNZ R0, loc_1FFFBD84
ROM:1FFFBD80 BL sys_reset
ROM:1FFFBD84
ROM:1FFFBD84 loc_1FFFBD84 ; CODE XREF: sub_1FFFBD18+66j
ROM:1FFFBD84 LDR R0, [R5,#0x2C]
ROM:1FFFBD86 STR R0, [SP,#0x18+var_18]
ROM:1FFFBD88 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBD8A LDR.W R1, =0xFFFEFFF0
ROM:1FFFBD8E ANDS R0, R1
ROM:1FFFBD90 STR R0, [SP,#0x18+var_18]
ROM:1FFFBD92 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBD94 ORR.W R0, R0, #0x10000
ROM:1FFFBD98 ORR.W R0, R0, #4
ROM:1FFFBD9C STR R0, [SP,#0x18+var_18]
ROM:1FFFBD9E LDR R0, [SP,#0x18+var_18]
ROM:1FFFBDA0 STR R0, [R5,#0x2C]
ROM:1FFFBDA2 LDR R0, [R5,#4]
ROM:1FFFBDA4 STR R0, [SP,#0x18+var_18]
ROM:1FFFBDA6 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBDA8 BIC.W R0, R0, #0x3D0000
ROM:1FFFBDAC STR R0, [SP,#0x18+var_18]
ROM:1FFFBDAE LDR R0, [SP,#0x18+var_18]
ROM:1FFFBDB0 ORR.W R0, R0, #0x110000
ROM:1FFFBDB4 STR R0, [SP,#0x18+var_18]
ROM:1FFFBDB6 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBDB8 STR R0, [R5,#4]
ROM:1FFFBDBA MOVS R0, #1
ROM:1FFFBDBC STR R0, [R4]
ROM:1FFFBDBE STR R7, [R6]
ROM:1FFFBDC0 B loc_1FFFBDC8
ROM:1FFFBDC2 ; ---------------------------------------------------------------------------
ROM:1FFFBDC2
ROM:1FFFBDC2 loc_1FFFBDC2 ; CODE XREF: sub_1FFFBD18+BAj
ROM:1FFFBDC2 LDR R0, [R6]
ROM:1FFFBDC4 SUBS R0, R0, #1
ROM:1FFFBDC6 STR R0, [R6]
ROM:1FFFBDC8
ROM:1FFFBDC8 loc_1FFFBDC8 ; CODE XREF: sub_1FFFBD18+A8j
ROM:1FFFBDC8 LDR R0, [R5]
ROM:1FFFBDCA LSLS R0, R0, #6
ROM:1FFFBDCC BMI loc_1FFFBDD4
ROM:1FFFBDCE LDR R0, [R6]
ROM:1FFFBDD0 CMP R0, #0
ROM:1FFFBDD2 BNE loc_1FFFBDC2
ROM:1FFFBDD4
ROM:1FFFBDD4 loc_1FFFBDD4 ; CODE XREF: sub_1FFFBD18+B4j
ROM:1FFFBDD4 LDR R0, [R6]
ROM:1FFFBDD6 CBNZ R0, loc_1FFFBDDC
ROM:1FFFBDD8 BL sys_reset
ROM:1FFFBDDC
ROM:1FFFBDDC loc_1FFFBDDC ; CODE XREF: sub_1FFFBD18+BEj
ROM:1FFFBDDC LDR R0, [R5,#4]
ROM:1FFFBDDE STR R0, [SP,#0x18+var_18]
ROM:1FFFBDE0 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBDE2 LSRS R0, R0, #2
ROM:1FFFBDE4 LSLS R0, R0, #2
ROM:1FFFBDE6 STR R0, [SP,#0x18+var_18]
ROM:1FFFBDE8 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBDEA ORR.W R0, R0, #2
ROM:1FFFBDEE STR R0, [SP,#0x18+var_18]
ROM:1FFFBDF0 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBDF2 STR R0, [R5,#4]
ROM:1FFFBDF4 STR R7, [R6]
ROM:1FFFBDF6 B loc_1FFFBDFE
ROM:1FFFBDF8 ; ---------------------------------------------------------------------------
ROM:1FFFBDF8
ROM:1FFFBDF8 loc_1FFFBDF8 ; CODE XREF: sub_1FFFBD18+F0j
ROM:1FFFBDF8 LDR R0, [R6]
ROM:1FFFBDFA SUBS R0, R0, #1
ROM:1FFFBDFC STR R0, [R6]
ROM:1FFFBDFE
ROM:1FFFBDFE loc_1FFFBDFE ; CODE XREF: sub_1FFFBD18+DEj
ROM:1FFFBDFE LDR R0, [R5,#4]
ROM:1FFFBE00 LSLS R0, R0, #0x1C
ROM:1FFFBE02 BMI loc_1FFFBE0A
ROM:1FFFBE04 LDR R0, [R6]
ROM:1FFFBE06 CMP R0, #0
ROM:1FFFBE08 BNE loc_1FFFBDF8
ROM:1FFFBE0A
ROM:1FFFBE0A loc_1FFFBE0A ; CODE XREF: sub_1FFFBD18+EAj
ROM:1FFFBE0A LDR R0, [R6]
ROM:1FFFBE0C CMP R0, #0
ROM:1FFFBE0E ITT EQ
ROM:1FFFBE10 POPEQ.W {R0,R4-R7,LR}
ROM:1FFFBE14 BEQ.W sys_reset
ROM:1FFFBE18 POP {R0,R4-R7,PC}
ROM:1FFFBE18 ; End of function sub_1FFFBD18
ROM:1FFFBE18
ROM:1FFFBE1A
ROM:1FFFBE1A ; =============== S U B R O U T I N E =======================================
ROM:1FFFBE1A
ROM:1FFFBE1A
ROM:1FFFBE1A sub_1FFFBE1A ; CODE XREF: sub_1FFFB662+84p
ROM:1FFFBE1A ; ROM:loc_1FFFE31Cp
ROM:1FFFBE1A
ROM:1FFFBE1A var_18 = -0x18
ROM:1FFFBE1A
ROM:1FFFBE1A PUSH {R4-R6,LR}
ROM:1FFFBE1C SUB SP, SP, #8
ROM:1FFFBE1E MOVS R0, #0
ROM:1FFFBE20 STR R0, [SP,#0x18+var_18]
ROM:1FFFBE22 LDR R0, =0x42420060
ROM:1FFFBE24 MOVS R1, #0
ROM:1FFFBE26 STR R1, [R0]
ROM:1FFFBE28 STR R1, [R0,#8]
ROM:1FFFBE2A LDR R4, =0x40021000
ROM:1FFFBE2C LDR R1, [R4,#0x2C]
ROM:1FFFBE2E STR R1, [SP,#0x18+var_18]
ROM:1FFFBE30 LDR R1, [SP,#0x18+var_18]
ROM:1FFFBE32 LDR R2, =0xFFFEFFF0
ROM:1FFFBE34 ANDS R1, R2
ROM:1FFFBE36 STR R1, [SP,#0x18+var_18]
ROM:1FFFBE38 LDR R1, [SP,#0x18+var_18]
ROM:1FFFBE3A ORR.W R1, R1, #1
ROM:1FFFBE3E STR R1, [SP,#0x18+var_18]
ROM:1FFFBE40 LDR R1, [SP,#0x18+var_18]
ROM:1FFFBE42 STR R1, [R4,#0x2C]
ROM:1FFFBE44 LDR R1, [R4,#4]
ROM:1FFFBE46 STR R1, [SP,#0x18+var_18]
ROM:1FFFBE48 LDR R1, [SP,#0x18+var_18]
ROM:1FFFBE4A BIC.W R1, R1, #0x3D0000
ROM:1FFFBE4E STR R1, [SP,#0x18+var_18]
ROM:1FFFBE50 LDR R1, [SP,#0x18+var_18]
ROM:1FFFBE52 ORR.W R1, R1, #0x350000
ROM:1FFFBE56 STR R1, [SP,#0x18+var_18]
ROM:1FFFBE58 LDR R1, [SP,#0x18+var_18]
ROM:1FFFBE5A STR R1, [R4,#4]
ROM:1FFFBE5C MOVS R1, #1
ROM:1FFFBE5E STR R1, [R0]
ROM:1FFFBE60 LDR R5, =0x2000023C
ROM:1FFFBE62 MOV.W R6, #0xB000000
ROM:1FFFBE66 STR R6, [R5]
ROM:1FFFBE68 B loc_1FFFBE70
ROM:1FFFBE6A ; ---------------------------------------------------------------------------
ROM:1FFFBE6A
ROM:1FFFBE6A loc_1FFFBE6A ; CODE XREF: sub_1FFFBE1A+60j
ROM:1FFFBE6A LDR R0, [R5]
ROM:1FFFBE6C SUBS R0, R0, #1
ROM:1FFFBE6E STR R0, [R5]
ROM:1FFFBE70
ROM:1FFFBE70 loc_1FFFBE70 ; CODE XREF: sub_1FFFBE1A+4Ej
ROM:1FFFBE70 LDR R0, [R4]
ROM:1FFFBE72 LSLS R0, R0, #6
ROM:1FFFBE74 BMI loc_1FFFBE7C
ROM:1FFFBE76 LDR R0, [R5]
ROM:1FFFBE78 CMP R0, #0
ROM:1FFFBE7A BNE loc_1FFFBE6A
ROM:1FFFBE7C
ROM:1FFFBE7C loc_1FFFBE7C ; CODE XREF: sub_1FFFBE1A+5Aj
ROM:1FFFBE7C LDR R0, [R5]
ROM:1FFFBE7E CBNZ R0, loc_1FFFBE84
ROM:1FFFBE80 BL sys_reset
ROM:1FFFBE84
ROM:1FFFBE84 loc_1FFFBE84 ; CODE XREF: sub_1FFFBE1A+64j
ROM:1FFFBE84 LDR R0, [R4,#4]
ROM:1FFFBE86 STR R0, [SP,#0x18+var_18]
ROM:1FFFBE88 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBE8A LSRS R0, R0, #2
ROM:1FFFBE8C LSLS R0, R0, #2
ROM:1FFFBE8E STR R0, [SP,#0x18+var_18]
ROM:1FFFBE90 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBE92 ORR.W R0, R0, #2
ROM:1FFFBE96 STR R0, [SP,#0x18+var_18]
ROM:1FFFBE98 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBE9A STR R0, [R4,#4]
ROM:1FFFBE9C STR R6, [R5]
ROM:1FFFBE9E B loc_1FFFBEA6
ROM:1FFFBEA0 ; ---------------------------------------------------------------------------
ROM:1FFFBEA0
ROM:1FFFBEA0 loc_1FFFBEA0 ; CODE XREF: sub_1FFFBE1A+96j
ROM:1FFFBEA0 LDR R0, [R5]
ROM:1FFFBEA2 SUBS R0, R0, #1
ROM:1FFFBEA4 STR R0, [R5]
ROM:1FFFBEA6
ROM:1FFFBEA6 loc_1FFFBEA6 ; CODE XREF: sub_1FFFBE1A+84j
ROM:1FFFBEA6 LDR R0, [R4,#4]
ROM:1FFFBEA8 LSLS R0, R0, #0x1C
ROM:1FFFBEAA BMI loc_1FFFBEB2
ROM:1FFFBEAC LDR R0, [R5]
ROM:1FFFBEAE CMP R0, #0
ROM:1FFFBEB0 BNE loc_1FFFBEA0
ROM:1FFFBEB2
ROM:1FFFBEB2 loc_1FFFBEB2 ; CODE XREF: sub_1FFFBE1A+90j
ROM:1FFFBEB2 LDR R0, [R5]
ROM:1FFFBEB4 CMP R0, #0
ROM:1FFFBEB6 ITT EQ
ROM:1FFFBEB8 POPEQ.W {R0,R1,R4-R6,LR}
ROM:1FFFBEBC BEQ.W sys_reset
ROM:1FFFBEC0 POP {R0,R1,R4-R6,PC}
ROM:1FFFBEC0 ; End of function sub_1FFFBE1A
ROM:1FFFBEC0
ROM:1FFFBEC2
ROM:1FFFBEC2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBEC2
ROM:1FFFBEC2
ROM:1FFFBEC2 sub_1FFFBEC2 ; CODE XREF: ROM:loc_1FFFE322p
ROM:1FFFBEC2
ROM:1FFFBEC2 var_18 = -0x18
ROM:1FFFBEC2
ROM:1FFFBEC2 PUSH {R4-R6,LR}
ROM:1FFFBEC4 SUB SP, SP, #8
ROM:1FFFBEC6 MOVS R0, #0
ROM:1FFFBEC8 STR R0, [SP,#0x18+var_18]
ROM:1FFFBECA LDR R0, =0x42420060
ROM:1FFFBECC MOVS R1, #0
ROM:1FFFBECE STR R1, [R0]
ROM:1FFFBED0 STR R1, [R0,#8]
ROM:1FFFBED2 LDR R4, =0x40021000
ROM:1FFFBED4 LDR R1, [R4,#0x2C]
ROM:1FFFBED6 STR R1, [SP,#0x18+var_18]
ROM:1FFFBED8 LDR R1, [SP,#0x18+var_18]
ROM:1FFFBEDA LDR R2, =0xFFFEFFF0
ROM:1FFFBEDC ANDS R1, R2
ROM:1FFFBEDE STR R1, [SP,#0x18+var_18]
ROM:1FFFBEE0 LDR R1, [SP,#0x18+var_18]
ROM:1FFFBEE2 STR R1, [R4,#0x2C]
ROM:1FFFBEE4 LDR R1, [R4,#4]
ROM:1FFFBEE6 STR R1, [SP,#0x18+var_18]
ROM:1FFFBEE8 LDR R1, [SP,#0x18+var_18]
ROM:1FFFBEEA BIC.W R1, R1, #0x3D0000
ROM:1FFFBEEE STR R1, [SP,#0x18+var_18]
ROM:1FFFBEF0 LDR R1, [SP,#0x18+var_18]
ROM:1FFFBEF2 ORR.W R1, R1, #0x110000
ROM:1FFFBEF6 STR R1, [SP,#0x18+var_18]
ROM:1FFFBEF8 LDR R1, [SP,#0x18+var_18]
ROM:1FFFBEFA STR R1, [R4,#4]
ROM:1FFFBEFC MOVS R1, #1
ROM:1FFFBEFE STR R1, [R0]
ROM:1FFFBF00 LDR R5, =0x2000023C
ROM:1FFFBF02 MOV.W R6, #0xB000000
ROM:1FFFBF06 STR R6, [R5]
ROM:1FFFBF08 B loc_1FFFBF10
ROM:1FFFBF0A ; ---------------------------------------------------------------------------
ROM:1FFFBF0A
ROM:1FFFBF0A loc_1FFFBF0A ; CODE XREF: sub_1FFFBEC2+58j
ROM:1FFFBF0A LDR R0, [R5]
ROM:1FFFBF0C SUBS R0, R0, #1
ROM:1FFFBF0E STR R0, [R5]
ROM:1FFFBF10
ROM:1FFFBF10 loc_1FFFBF10 ; CODE XREF: sub_1FFFBEC2+46j
ROM:1FFFBF10 LDR R0, [R4]
ROM:1FFFBF12 LSLS R0, R0, #6
ROM:1FFFBF14 BMI loc_1FFFBF1C
ROM:1FFFBF16 LDR R0, [R5]
ROM:1FFFBF18 CMP R0, #0
ROM:1FFFBF1A BNE loc_1FFFBF0A
ROM:1FFFBF1C
ROM:1FFFBF1C loc_1FFFBF1C ; CODE XREF: sub_1FFFBEC2+52j
ROM:1FFFBF1C LDR R0, [R5]
ROM:1FFFBF1E CBNZ R0, loc_1FFFBF24
ROM:1FFFBF20 BL sys_reset
ROM:1FFFBF24
ROM:1FFFBF24 loc_1FFFBF24 ; CODE XREF: sub_1FFFBEC2+5Cj
ROM:1FFFBF24 LDR R0, [R4,#4]
ROM:1FFFBF26 STR R0, [SP,#0x18+var_18]
ROM:1FFFBF28 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBF2A LSRS R0, R0, #2
ROM:1FFFBF2C LSLS R0, R0, #2
ROM:1FFFBF2E STR R0, [SP,#0x18+var_18]
ROM:1FFFBF30 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBF32 ORR.W R0, R0, #2
ROM:1FFFBF36 STR R0, [SP,#0x18+var_18]
ROM:1FFFBF38 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBF3A STR R0, [R4,#4]
ROM:1FFFBF3C STR R6, [R5]
ROM:1FFFBF3E B loc_1FFFBF46
ROM:1FFFBF40 ; ---------------------------------------------------------------------------
ROM:1FFFBF40
ROM:1FFFBF40 loc_1FFFBF40 ; CODE XREF: sub_1FFFBEC2+8Ej
ROM:1FFFBF40 LDR R0, [R5]
ROM:1FFFBF42 SUBS R0, R0, #1
ROM:1FFFBF44 STR R0, [R5]
ROM:1FFFBF46
ROM:1FFFBF46 loc_1FFFBF46 ; CODE XREF: sub_1FFFBEC2+7Cj
ROM:1FFFBF46 LDR R0, [R4,#4]
ROM:1FFFBF48 LSLS R0, R0, #0x1C
ROM:1FFFBF4A BMI loc_1FFFBF52
ROM:1FFFBF4C LDR R0, [R5]
ROM:1FFFBF4E CMP R0, #0
ROM:1FFFBF50 BNE loc_1FFFBF40
ROM:1FFFBF52
ROM:1FFFBF52 loc_1FFFBF52 ; CODE XREF: sub_1FFFBEC2+88j
ROM:1FFFBF52 LDR R0, [R5]
ROM:1FFFBF54 CMP R0, #0
ROM:1FFFBF56 ITT EQ
ROM:1FFFBF58 POPEQ.W {R0,R1,R4-R6,LR}
ROM:1FFFBF5C BEQ.W sys_reset
ROM:1FFFBF60 POP {R0,R1,R4-R6,PC}
ROM:1FFFBF60 ; End of function sub_1FFFBEC2
ROM:1FFFBF60
ROM:1FFFBF62 ; 4: result = 1073876992;
ROM:1FFFBF62
ROM:1FFFBF62 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBF62
ROM:1FFFBF62
ROM:1FFFBF62 RCC_init ; CODE XREF: check_canbus2+84p
ROM:1FFFBF62 ; sub_1FFFBBF0+Cp ...
ROM:1FFFBF62 LDR R0, =0x40021000 ; RCC_BASE
ROM:1FFFBF64 ; 5: v40021000 |= 1u;
ROM:1FFFBF64 LDR R1, [R0] ; 读取时钟控制寄存器的内容
ROM:1FFFBF66 ORR.W R1, R1, #1 ; 内部8MHz时钟开启
ROM:1FFFBF6A STR R1, [R0]
ROM:1FFFBF6C ; 6: v40021004 &= 0xF0FF0000;
ROM:1FFFBF6C LDR R1, [R0,#4] ; 读取时钟配置寄存器
ROM:1FFFBF6E LDR R2, =0xF0FF0000
ROM:1FFFBF70 ANDS R1, R2
ROM:1FFFBF72 STR R1, [R0,#4] ; 设置时钟配置寄存器
ROM:1FFFBF74 ; 7: v40021000 &= 0xFEF6FFFF;
ROM:1FFFBF74 LDR R1, [R0]
ROM:1FFFBF76 LDR R2, =0xFEF6FFFF
ROM:1FFFBF78 ANDS R1, R2
ROM:1FFFBF7A STR R1, [R0]
ROM:1FFFBF7C ; 8: v40021000 &= 0xFFFBFFFF;
ROM:1FFFBF7C LDR R1, [R0]
ROM:1FFFBF7E BIC.W R1, R1, #0x40000
ROM:1FFFBF82 STR R1, [R0]
ROM:1FFFBF84 ; 9: v40021004 &= 0xFF80FFFF;
ROM:1FFFBF84 LDR R1, [R0,#4]
ROM:1FFFBF86 BIC.W R1, R1, #0x7F0000
ROM:1FFFBF8A STR R1, [R0,#4]
ROM:1FFFBF8C ; 10: v40021000 &= 0xEBFFFFFF;
ROM:1FFFBF8C LDR R1, [R0]
ROM:1FFFBF8E BIC.W R1, R1, #0x14000000
ROM:1FFFBF92 STR R1, [R0]
ROM:1FFFBF94 ; 11: v40021008 = 16711680;
ROM:1FFFBF94 MOV.W R1, #0xFF0000
ROM:1FFFBF98 STR R1, [R0,#8]
ROM:1FFFBF9A ; 12: v4002102C = 0;
ROM:1FFFBF9A MOVS R1, #0
ROM:1FFFBF9C STR R1, [R0,#0x2C]
ROM:1FFFBF9E BX LR
ROM:1FFFBF9E ; End of function RCC_init
ROM:1FFFBF9E
ROM:1FFFBFA0
ROM:1FFFBFA0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBFA0
ROM:1FFFBFA0
ROM:1FFFBFA0 clk_cfg_0 ; CODE XREF: enale_usb_trans+10p
ROM:1FFFBFA0 LDR R0, =0x40021014 ; 复位和时钟控制(RCC)
ROM:1FFFBFA2 LDR R1, [R0]
ROM:1FFFBFA4 BIC.W R1, R1, #0x1000
ROM:1FFFBFA8 STR R1, [R0]
ROM:1FFFBFAA LDR R1, =0x424200D8 ; 未知寄存器地址
ROM:1FFFBFAC MOVS R2, #1
ROM:1FFFBFAE STR R2, [R1]
ROM:1FFFBFB0 LDR R1, [R0]
ROM:1FFFBFB2 ORR.W R1, R1, #0x1000
ROM:1FFFBFB6 STR R1, [R0]
ROM:1FFFBFB8 BX LR
ROM:1FFFBFB8 ; End of function clk_cfg_0
ROM:1FFFBFB8
ROM:1FFFBFBA
ROM:1FFFBFBA ; =============== S U B R O U T I N E =======================================
ROM:1FFFBFBA
ROM:1FFFBFBA
ROM:1FFFBFBA usb_en_inter ; CODE XREF: usb_monitor_en+12p
ROM:1FFFBFBA LDR R0, =0xE000ED0C ; AIRCR; /*!< Offset: 0x00C (R/W) Application Interrupt and Reset Control Register
ROM:1FFFBFBC LDR R0, [R0]
ROM:1FFFBFBE LDR R0, =0xE000E440
ROM:1FFFBFC0 LDR R1, [R0]
ROM:1FFFBFC2 LSLS R1, R1, #8
ROM:1FFFBFC4 LSRS R1, R1, #8
ROM:1FFFBFC6 STR R1, [R0]
ROM:1FFFBFC8 LDR R0, =0xE000E108 ; 中断使能 67 OTG_FS_IRQHandler
ROM:1FFFBFCA MOVS R1, #8
ROM:1FFFBFCC STR R1, [R0]
ROM:1FFFBFCE BX LR
ROM:1FFFBFCE ; End of function usb_en_inter
ROM:1FFFBFCE
ROM:1FFFBFCE ; ---------------------------------------------------------------------------
ROM:1FFFBFD0 dword_1FFFBFD0 DCD 0x40021000 ; DATA XREF: sub_1FFFBBF0+10r
ROM:1FFFBFD0 ; clk_cfg+10r ...
ROM:1FFFBFD4 dword_1FFFBFD4 DCD 0x2000023C ; DATA XREF: sub_1FFFBBF0+2Cr
ROM:1FFFBFD4 ; clk_cfg+2Ar ...
ROM:1FFFBFD8 dword_1FFFBFD8 DCD 0x40022000 ; DATA XREF: sub_1FFFBBF0:loc_1FFFBC78r
ROM:1FFFBFDC dword_1FFFBFDC DCD 0x4242004C ; DATA XREF: sub_1FFFBBF0+9Cr
ROM:1FFFBFE0 dword_1FFFBFE0 DCD 0x40021004 ; DATA XREF: sub_1FFFBC96+6r
ROM:1FFFBFE4 dword_1FFFBFE4 DCD 0x42420060 ; DATA XREF: clk_cfg+1Ar
ROM:1FFFBFE4 ; sub_1FFFBD18+6r ...
ROM:1FFFBFE8 dword_1FFFBFE8 DCD 0x100002 ; DATA XREF: clk_cfg+56r
ROM:1FFFBFEC dword_1FFFBFEC DCD 0xFFFEFFF0 ; DATA XREF: sub_1FFFBD18+72r
ROM:1FFFBFEC ; sub_1FFFBE1A+18r ...
ROM:1FFFBFF0 dword_1FFFBFF0 DCD 0xF0FF0000 ; DATA XREF: RCC_init+Cr
ROM:1FFFBFF4 dword_1FFFBFF4 DCD 0xFEF6FFFF ; DATA XREF: RCC_init+14r
ROM:1FFFBFF8 dword_1FFFBFF8 DCD 0x40021014 ; DATA XREF: clk_cfg_0r
ROM:1FFFBFFC dword_1FFFBFFC DCD 0x424200D8 ; DATA XREF: clk_cfg_0+Ar
ROM:1FFFC000 dword_1FFFC000 DCD 0xE000ED0C ; DATA XREF: usb_en_interr
ROM:1FFFC004 dword_1FFFC004 DCD 0xE000E440 ; DATA XREF: usb_en_inter+4r
ROM:1FFFC008 dword_1FFFC008 DCD 0xE000E108 ; DATA XREF: usb_en_inter+Er
ROM:1FFFC00C
ROM:1FFFC00C ; =============== S U B R O U T I N E =======================================
ROM:1FFFC00C
ROM:1FFFC00C
ROM:1FFFC00C FLASH_UnlockBank1 ; CODE XREF: check_canbus2+25Ep
ROM:1FFFC00C ; check_canbus2+2DAp ...
ROM:1FFFC00C LDR R0, =0x40022004 ; flash寄存器地址
ROM:1FFFC00E B loc_1FFFC012
ROM:1FFFC00E ; End of function FLASH_UnlockBank1
ROM:1FFFC00E
ROM:1FFFC010
ROM:1FFFC010 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC010
ROM:1FFFC010
ROM:1FFFC010 sub_1FFFC010 ; CODE XREF: check_canbus2+2DEp
ROM:1FFFC010 ; sub_1FFFCCE0+1Ep ...
ROM:1FFFC010 LDR R0, =0x40022008
ROM:1FFFC012
ROM:1FFFC012 loc_1FFFC012 ; CODE XREF: FLASH_UnlockBank1+2j
ROM:1FFFC012 LDR R1, =0x45670123
ROM:1FFFC014 STR R1, [R0]
ROM:1FFFC016 LDR R1, =0xCDEF89AB
ROM:1FFFC018 STR R1, [R0]
ROM:1FFFC01A BX LR
ROM:1FFFC01A ; End of function sub_1FFFC010
ROM:1FFFC01A
ROM:1FFFC01C ; ---------------------------------------------------------------------------
ROM:1FFFC01C ; 5: for ( result = 4095; v4002200C & 1 && result; --result )
ROM:1FFFC01C ; START OF FUNCTION CHUNK FOR FLASH_ErasePage
ROM:1FFFC01C
ROM:1FFFC01C FLASH_WaitForLastOperation ; CODE XREF: check_canbus2+2EEj
ROM:1FFFC01C ; check_canbus2+308j ...
ROM:1FFFC01C SUB SP, SP, #8
ROM:1FFFC01E MOVW R0, #0xFFF
ROM:1FFFC022 B loc_1FFFC028
ROM:1FFFC024 ; ---------------------------------------------------------------------------
ROM:1FFFC024
ROM:1FFFC024 loc_1FFFC024 ; CODE XREF: FLASH_ErasePage-6Aj
ROM:1FFFC024 LDR R0, [SP,#8+var_8] ; 获取计数变量n
ROM:1FFFC026 SUBS R0, R0, #1 ; n=n-1
ROM:1FFFC028
ROM:1FFFC028 loc_1FFFC028 ; CODE XREF: FLASH_ErasePage-7Ej
ROM:1FFFC028 STR R0, [SP,#8+var_8]
ROM:1FFFC02A LDR R0, =0x4002200C ; flash控制寄存器地址
ROM:1FFFC02C LDR R0, [R0]
ROM:1FFFC02E LSLS R0, R0, #0x1F
ROM:1FFFC030 BPL loc_1FFFC038 ; FLASH Busy flag FLASH->SR
ROM:1FFFC032 LDR R0, [SP,#8+var_8]
ROM:1FFFC034 CMP R0, #0
ROM:1FFFC036 BNE loc_1FFFC024 ; 获取计数变量n
ROM:1FFFC038 ; 7: if ( !result )
ROM:1FFFC038
ROM:1FFFC038 loc_1FFFC038 ; CODE XREF: FLASH_ErasePage-70j
ROM:1FFFC038 LDR R0, [SP,#8+var_8] ; flash不忙了
ROM:1FFFC03A CBNZ R0, loc_1FFFC042
ROM:1FFFC03C ; 8: result = sys_reset();
ROM:1FFFC03C ADD SP, SP, #8
ROM:1FFFC03E B.W sys_reset ; flash操作超时了,重启mcu
ROM:1FFFC042 ; ---------------------------------------------------------------------------
ROM:1FFFC042
ROM:1FFFC042 loc_1FFFC042 ; CODE XREF: FLASH_ErasePage-66j
ROM:1FFFC042 ADD SP, SP, #8
ROM:1FFFC044 BX LR
ROM:1FFFC044 ; END OF FUNCTION CHUNK FOR FLASH_ErasePage
ROM:1FFFC046
ROM:1FFFC046 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC046
ROM:1FFFC046
ROM:1FFFC046 sub_1FFFC046 ; CODE XREF: check_canbus2+2D6p
ROM:1FFFC046 ; sub_1FFFC0FC+32p ...
ROM:1FFFC046 PUSH {R4,LR}
ROM:1FFFC048 BL sub_1FFFC0EC
ROM:1FFFC04C LDR R0, [R4,#0xC]
ROM:1FFFC04E ORR.W R0, R0, #0x20
ROM:1FFFC052 BL sub_1FFFC0E0
ROM:1FFFC056 LDR R0, [R4,#0xC]
ROM:1FFFC058 BIC.W R0, R0, #0x20
ROM:1FFFC05C STR R0, [R4,#0xC]
ROM:1FFFC05E POP {R4,PC}
ROM:1FFFC05E ; End of function sub_1FFFC046
ROM:1FFFC05E
ROM:1FFFC060
ROM:1FFFC060 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC060
ROM:1FFFC060
ROM:1FFFC060 FLASH_ProgramWord ; CODE XREF: check_canbus2+276p
ROM:1FFFC060 ; sub_1FFFDCFE+2Cp ...
ROM:1FFFC060 PUSH {R4-R6,LR}
ROM:1FFFC062 MOV R5, R0
ROM:1FFFC064 MOV R6, R1
ROM:1FFFC066 BL FLASH_WaitForLastOperation
ROM:1FFFC06A ; ---------------------------------------------------------------------------
ROM:1FFFC06A LDR R4, =0x4002200C
ROM:1FFFC06C LDR R0, [R4,#4] ; get CR
ROM:1FFFC06E ORR.W R0, R0, #1
ROM:1FFFC072 STR R0, [R4,#4] ; /* if the previous operation is completed, proceed to program the new first
ROM:1FFFC072 ; half word */
ROM:1FFFC072 ; FLASH->CR |= CR_PG_Set;
ROM:1FFFC074 STRH R6, [R5] ; *(__IO uint16_t*)Address = (uint16_t)Data;
ROM:1FFFC076 BL FLASH_WaitForLastOperation ; Wait for last operation to be completed
ROM:1FFFC07A ; ---------------------------------------------------------------------------
ROM:1FFFC07A LDR R0, [R4]
ROM:1FFFC07C LSLS R0, R0, #0x1D
ROM:1FFFC07E BMI loc_1FFFC088
ROM:1FFFC080 LSRS R0, R6, #0x10
ROM:1FFFC082 STRH R0, [R5,#2]
ROM:1FFFC084 BL FLASH_WaitForLastOperation
ROM:1FFFC088 ; ---------------------------------------------------------------------------
ROM:1FFFC088
ROM:1FFFC088 loc_1FFFC088 ; CODE XREF: FLASH_ProgramWord+1Ej
ROM:1FFFC088 LDR R0, [R4]
ROM:1FFFC08A LSLS R0, R0, #0x1D
ROM:1FFFC08C BPL loc_1FFFC096
ROM:1FFFC08E LDR R0, [R4]
ROM:1FFFC090 ORR.W R0, R0, #4
ROM:1FFFC094 STR R0, [R4]
ROM:1FFFC096
ROM:1FFFC096 loc_1FFFC096 ; CODE XREF: FLASH_ProgramWord+2Cj
ROM:1FFFC096 LDR R0, [R4,#4]
ROM:1FFFC098 LSRS R0, R0, #1
ROM:1FFFC09A LSLS R0, R0, #1
ROM:1FFFC09C STR R0, [R4,#4]
ROM:1FFFC09E POP {R4-R6,PC}
ROM:1FFFC09E ; End of function FLASH_ProgramWord
ROM:1FFFC09E
ROM:1FFFC0A0
ROM:1FFFC0A0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC0A0
ROM:1FFFC0A0
ROM:1FFFC0A0 FLASH_ErasePage ; CODE XREF: check_canbus2+366p
ROM:1FFFC0A0 ; sub_1FFFC8E2+26p ...
ROM:1FFFC0A0
ROM:1FFFC0A0 var_8 = -8
ROM:1FFFC0A0
ROM:1FFFC0A0 ; FUNCTION CHUNK AT ROM:1FFFC01C SIZE 0000002A BYTES
ROM:1FFFC0A0
ROM:1FFFC0A0 PUSH {R3-R5,LR}
ROM:1FFFC0A2 ; 4: v40022004 = 0xCDEF89AB;
ROM:1FFFC0A2 MOV R4, R0 ; 传进来的页地址参数
ROM:1FFFC0A4 LDR R5, =0x40022004
ROM:1FFFC0A6 LDR R0, =0x45670123 ; FLASH_KEY1 ((uint32_t)0x45670123)
ROM:1FFFC0A6 ; FLASH_KEY2 ((uint32_t)0xCDEF89AB)
ROM:1FFFC0A8 STR R0, [R5]
ROM:1FFFC0AA LDR R0, =0xCDEF89AB
ROM:1FFFC0AC STR R0, [R5] ; flash解锁操作
ROM:1FFFC0AE BL FLASH_WaitForLastOperation
ROM:1FFFC0AE ; End of function FLASH_ErasePage
ROM:1FFFC0AE
ROM:1FFFC0B2 ; ---------------------------------------------------------------------------
ROM:1FFFC0B2 MOVS R0, #2
ROM:1FFFC0B4 STR R0, [R5,#0xC] ; CR=2
ROM:1FFFC0B6 STR R4, [R5,#0x10] ; FLASH->AR = Page_Address;
ROM:1FFFC0B8 MOVS R0, #0x42
ROM:1FFFC0BA STR R0, [R5,#0xC] ; FLASH->CR|= CR_STRT_Set;
ROM:1FFFC0BC BL FLASH_WaitForLastOperation
ROM:1FFFC0C0 ; ---------------------------------------------------------------------------
ROM:1FFFC0C0 MOVS R0, #0
ROM:1FFFC0C2 STR R0, [R5,#0xC] ; Disable the PER Bit
ROM:1FFFC0C4 POP {R0,R4,R5,PC}
ROM:1FFFC0C6
ROM:1FFFC0C6 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC0C6
ROM:1FFFC0C6
ROM:1FFFC0C6 sub_1FFFC0C6 ; CODE XREF: check_canbus2+342p
ROM:1FFFC0C6 ; sub_1FFFC2EE+92p ...
ROM:1FFFC0C6 PUSH {R4,LR}
ROM:1FFFC0C8 BL sub_1FFFC0EC
ROM:1FFFC0CC LDR R0, [R4,#0xC]
ROM:1FFFC0CE ORR.W R0, R0, #4
ROM:1FFFC0D2 BL sub_1FFFC0E0
ROM:1FFFC0D6 LDR R0, [R4,#0xC]
ROM:1FFFC0D8 BIC.W R0, R0, #4
ROM:1FFFC0DC STR R0, [R4,#0xC]
ROM:1FFFC0DE POP {R4,PC}
ROM:1FFFC0DE ; End of function sub_1FFFC0C6
ROM:1FFFC0DE
ROM:1FFFC0E0
ROM:1FFFC0E0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC0E0
ROM:1FFFC0E0
ROM:1FFFC0E0 sub_1FFFC0E0 ; CODE XREF: sub_1FFFC046+Cp
ROM:1FFFC0E0 ; sub_1FFFC0C6+Cp
ROM:1FFFC0E0 STR R0, [R4,#0xC]
ROM:1FFFC0E2 LDR R0, [R4,#0xC]
ROM:1FFFC0E4 ORR.W R0, R0, #0x40
ROM:1FFFC0E8 STR R0, [R4,#0xC]
ROM:1FFFC0EA B FLASH_WaitForLastOperation
ROM:1FFFC0EA ; End of function sub_1FFFC0E0
ROM:1FFFC0EA
ROM:1FFFC0EC
ROM:1FFFC0EC ; =============== S U B R O U T I N E =======================================
ROM:1FFFC0EC
ROM:1FFFC0EC
ROM:1FFFC0EC sub_1FFFC0EC ; CODE XREF: sub_1FFFC046+2p
ROM:1FFFC0EC ; sub_1FFFC0C6+2p
ROM:1FFFC0EC LDR R4, =0x40022004
ROM:1FFFC0EE LDR R0, =0x45670123
ROM:1FFFC0F0 STR R0, [R4]
ROM:1FFFC0F2 LDR R1, =0xCDEF89AB
ROM:1FFFC0F4 STR R1, [R4]
ROM:1FFFC0F6 STR R0, [R4,#4]
ROM:1FFFC0F8 STR R1, [R4,#4]
ROM:1FFFC0FA B FLASH_WaitForLastOperation
ROM:1FFFC0FA ; End of function sub_1FFFC0EC
ROM:1FFFC0FA
ROM:1FFFC0FC
ROM:1FFFC0FC ; =============== S U B R O U T I N E =======================================
ROM:1FFFC0FC
ROM:1FFFC0FC
ROM:1FFFC0FC sub_1FFFC0FC ; CODE XREF: check_canbus2+3D0p
ROM:1FFFC0FC ; sub_1FFFC91C+34p ...
ROM:1FFFC0FC
ROM:1FFFC0FC var_28 = -0x28
ROM:1FFFC0FC var_26 = -0x26
ROM:1FFFC0FC var_24 = -0x24
ROM:1FFFC0FC var_22 = -0x22
ROM:1FFFC0FC
ROM:1FFFC0FC PUSH.W {R4-R9,LR}
ROM:1FFFC100 SUB SP, SP, #0xC
ROM:1FFFC102 LDR R4, =0x1FFFF800
ROM:1FFFC104 LDRH R1, [R4]
ROM:1FFFC106 STRH.W R1, [SP,#0x28+var_22]
ROM:1FFFC10A LDRH R1, [R4,#2]
ROM:1FFFC10C STRH.W R1, [SP,#0x28+var_24]
ROM:1FFFC110 LDRH R1, [R4,#4]
ROM:1FFFC112 STRH.W R1, [SP,#0x28+var_26]
ROM:1FFFC116 LDRH R1, [R4,#6]
ROM:1FFFC118 STRH.W R1, [SP,#0x28+var_28]
ROM:1FFFC11C MVNS R0, R0
ROM:1FFFC11E AND.W R5, R0, #0xFF
ROM:1FFFC122 UBFX.W R9, R0, #8, #8
ROM:1FFFC126 LSRS R1, R0, #0x10
ROM:1FFFC128 UXTB R7, R1
ROM:1FFFC12A MOV.W R8, R0,LSR#24
ROM:1FFFC12E BL sub_1FFFC046
ROM:1FFFC132 BL loc_1FFFC254
ROM:1FFFC136 LDR R0, [R6,#0xC]
ROM:1FFFC138 ORR.W R0, R0, #0x10
ROM:1FFFC13C STR R0, [R6,#0xC]
ROM:1FFFC13E LDRH.W R0, [SP,#0x28+var_22]
ROM:1FFFC142 UXTB R0, R0
ROM:1FFFC144 STRH R0, [R4]
ROM:1FFFC146 BL FLASH_WaitForLastOperation
ROM:1FFFC146 ; End of function sub_1FFFC0FC
ROM:1FFFC146
ROM:1FFFC14A ; ---------------------------------------------------------------------------
ROM:1FFFC14A LDRH.W R0, [SP,#4]
ROM:1FFFC14E UXTB R0, R0
ROM:1FFFC150 STRH R0, [R4,#2]
ROM:1FFFC152 BL FLASH_WaitForLastOperation
ROM:1FFFC156 ; ---------------------------------------------------------------------------
ROM:1FFFC156 LDRH.W R0, [SP,#2]
ROM:1FFFC15A UXTB R0, R0
ROM:1FFFC15C STRH R0, [R4,#4]
ROM:1FFFC15E BL FLASH_WaitForLastOperation
ROM:1FFFC162 ; ---------------------------------------------------------------------------
ROM:1FFFC162 LDRH.W R0, [SP]
ROM:1FFFC166 UXTB R0, R0
ROM:1FFFC168 STRH R0, [R4,#6]
ROM:1FFFC16A BL FLASH_WaitForLastOperation
ROM:1FFFC16E ; ---------------------------------------------------------------------------
ROM:1FFFC16E CMP R5, #0xFF
ROM:1FFFC170 ITT NE
ROM:1FFFC172 STRNEH R5, [R4,#8]
ROM:1FFFC174 BLNE FLASH_WaitForLastOperation
ROM:1FFFC178 CMP.W R9, #0xFF
ROM:1FFFC17C ITT NE
ROM:1FFFC17E STRNEH.W R9, [R4,#0xA]
ROM:1FFFC182 BLNE FLASH_WaitForLastOperation
ROM:1FFFC186 CMP R7, #0xFF
ROM:1FFFC188 ITT NE
ROM:1FFFC18A STRNEH R7, [R4,#0xC]
ROM:1FFFC18C BLNE FLASH_WaitForLastOperation
ROM:1FFFC190 MOV R0, R8
ROM:1FFFC192 CMP R0, #0xFF
ROM:1FFFC194 ITT NE
ROM:1FFFC196 STRNEH.W R8, [R4,#0xE]
ROM:1FFFC19A BLNE FLASH_WaitForLastOperation
ROM:1FFFC19E LDR R0, [R6,#0xC]
ROM:1FFFC1A0 BIC.W R0, R0, #0x10
ROM:1FFFC1A4 STR R0, [R6,#0xC]
ROM:1FFFC1A6 POP.W {R0-R2,R4-R9,PC}
ROM:1FFFC1AA
ROM:1FFFC1AA ; =============== S U B R O U T I N E =======================================
ROM:1FFFC1AA
ROM:1FFFC1AA
ROM:1FFFC1AA sub_1FFFC1AA ; CODE XREF: check_canbus2+3F8p
ROM:1FFFC1AA ; check_canbus2+424p ...
ROM:1FFFC1AA PUSH {R0-R6,LR}
ROM:1FFFC1AC MOV R4, R0
ROM:1FFFC1AE BL FLASH_WaitForLastOperation
ROM:1FFFC1AE ; End of function sub_1FFFC1AA
ROM:1FFFC1AE
ROM:1FFFC1B2 ; ---------------------------------------------------------------------------
ROM:1FFFC1B2 LDR R5, =0x1FFFF800
ROM:1FFFC1B4 LDRH R0, [R5,#2]
ROM:1FFFC1B6 STRH.W R0, [SP,#0xC]
ROM:1FFFC1BA LDRH R0, [R5,#4]
ROM:1FFFC1BC STRH.W R0, [SP,#0xA]
ROM:1FFFC1C0 LDRH R0, [R5,#6]
ROM:1FFFC1C2 STRH.W R0, [SP,#8]
ROM:1FFFC1C6 LDRH R0, [R5,#8]
ROM:1FFFC1C8 STRH.W R0, [SP,#6]
ROM:1FFFC1CC LDRH R0, [R5,#0xA]
ROM:1FFFC1CE STRH.W R0, [SP,#4]
ROM:1FFFC1D2 LDRH R0, [R5,#0xC]
ROM:1FFFC1D4 STRH.W R0, [SP,#2]
ROM:1FFFC1D8 LDRH R0, [R5,#0xE]
ROM:1FFFC1DA STRH.W R0, [SP]
ROM:1FFFC1DE BL sub_1FFFC046
ROM:1FFFC1E2 BL loc_1FFFC254
ROM:1FFFC1E6 BL FLASH_WaitForLastOperation
ROM:1FFFC1EA ; ---------------------------------------------------------------------------
ROM:1FFFC1EA LDR R0, [R6,#0xC]
ROM:1FFFC1EC ORR.W R0, R0, #0x10
ROM:1FFFC1F0 STR R0, [R6,#0xC]
ROM:1FFFC1F2 CBZ R4, loc_1FFFC23C
ROM:1FFFC1F4 LDRH.W R0, [SP,#0xC]
ROM:1FFFC1F8 UXTB R0, R0
ROM:1FFFC1FA STRH R0, [R5,#2]
ROM:1FFFC1FC BL FLASH_WaitForLastOperation
ROM:1FFFC200 ; ---------------------------------------------------------------------------
ROM:1FFFC200 LDRH.W R0, [SP,#0xA]
ROM:1FFFC204 UXTB R0, R0
ROM:1FFFC206 STRH R0, [R5,#4]
ROM:1FFFC208 BL FLASH_WaitForLastOperation
ROM:1FFFC20C ; ---------------------------------------------------------------------------
ROM:1FFFC20C LDRH.W R0, [SP,#8]
ROM:1FFFC210 UXTB R0, R0
ROM:1FFFC212 STRH R0, [R5,#6]
ROM:1FFFC214 BL FLASH_WaitForLastOperation
ROM:1FFFC218 ; ---------------------------------------------------------------------------
ROM:1FFFC218 LDRH.W R0, [SP,#6]
ROM:1FFFC21C BL sub_1FFFC24E
ROM:1FFFC220 LDRH.W R0, [SP,#4]
ROM:1FFFC224 BL sub_1FFFC24E
ROM:1FFFC228 LDRH.W R0, [SP,#2]
ROM:1FFFC22C BL sub_1FFFC24E
ROM:1FFFC230 LDRH.W R0, [SP]
ROM:1FFFC234 BL sub_1FFFC24E
ROM:1FFFC238 MOVS R0, #0
ROM:1FFFC23A B loc_1FFFC23E
ROM:1FFFC23C ; ---------------------------------------------------------------------------
ROM:1FFFC23C
ROM:1FFFC23C loc_1FFFC23C ; CODE XREF: ROM:1FFFC1F2j
ROM:1FFFC23C MOVS R0, #0xA5
ROM:1FFFC23E
ROM:1FFFC23E loc_1FFFC23E ; CODE XREF: ROM:1FFFC23Aj
ROM:1FFFC23E STRH R0, [R5]
ROM:1FFFC240 BL FLASH_WaitForLastOperation
ROM:1FFFC244 ; ---------------------------------------------------------------------------
ROM:1FFFC244 LDR R0, [R6,#0xC]
ROM:1FFFC246 BIC.W R0, R0, #0x10
ROM:1FFFC24A STR R0, [R6,#0xC]
ROM:1FFFC24C POP {R0-R6,PC}
ROM:1FFFC24E
ROM:1FFFC24E ; =============== S U B R O U T I N E =======================================
ROM:1FFFC24E
ROM:1FFFC24E
ROM:1FFFC24E sub_1FFFC24E ; CODE XREF: ROM:1FFFC21Cp
ROM:1FFFC24E ; ROM:1FFFC224p ...
ROM:1FFFC24E UXTB R0, R0
ROM:1FFFC250 STRH R0, [R5,#8]
ROM:1FFFC252 B FLASH_WaitForLastOperation
ROM:1FFFC252 ; End of function sub_1FFFC24E
ROM:1FFFC252
ROM:1FFFC254 ; ---------------------------------------------------------------------------
ROM:1FFFC254
ROM:1FFFC254 loc_1FFFC254 ; CODE XREF: sub_1FFFC0FC+36p
ROM:1FFFC254 ; ROM:1FFFC1E2p
ROM:1FFFC254 LDR R6, =0x40022004
ROM:1FFFC256 LDR R0, =0x45670123
ROM:1FFFC258 STR R0, [R6]
ROM:1FFFC25A LDR R1, =0xCDEF89AB
ROM:1FFFC25C STR R1, [R6]
ROM:1FFFC25E STR R0, [R6,#4]
ROM:1FFFC260 STR R1, [R6,#4]
ROM:1FFFC262 BX LR
ROM:1FFFC264
ROM:1FFFC264 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC264
ROM:1FFFC264 ; 检查flash的读保护位
ROM:1FFFC264 ;
ROM:1FFFC264
ROM:1FFFC264 FLASH_GetReadOutProtectionStatus ; CODE XREF: sub_1FFFB64A+6j
ROM:1FFFC264 ; sub_1FFFB940+2p ...
ROM:1FFFC264 LDR R0, =0x4002201C
ROM:1FFFC266 LDR R0, [R0]
ROM:1FFFC268 LSLS R0, R0, #0x18
ROM:1FFFC26A LSRS R0, R0, #0x19
ROM:1FFFC26C AND.W R0, R0, #1
ROM:1FFFC270 BX LR
ROM:1FFFC270 ; End of function FLASH_GetReadOutProtectionStatus
ROM:1FFFC270
ROM:1FFFC270 ; ---------------------------------------------------------------------------
ROM:1FFFC272 ALIGN 4
ROM:1FFFC274 dword_1FFFC274 DCD 0x40022004 ; DATA XREF: FLASH_UnlockBank1r
ROM:1FFFC274 ; FLASH_ErasePage+4r ...
ROM:1FFFC278 dword_1FFFC278 DCD 0x40022008 ; DATA XREF: sub_1FFFC010r
ROM:1FFFC27C dword_1FFFC27C DCD 0x45670123 ; DATA XREF: sub_1FFFC010:loc_1FFFC012r
ROM:1FFFC27C ; FLASH_ErasePage+6r ...
ROM:1FFFC280 dword_1FFFC280 DCD 0xCDEF89AB ; DATA XREF: sub_1FFFC010+6r
ROM:1FFFC280 ; FLASH_ErasePage+Ar ...
ROM:1FFFC284 dword_1FFFC284 DCD 0x4002200C ; DATA XREF: FLASH_ErasePage-76r
ROM:1FFFC284 ; FLASH_ProgramWord+Ar
ROM:1FFFC288 dword_1FFFC288 DCD 0x1FFFF800 ; DATA XREF: sub_1FFFC0FC+6r
ROM:1FFFC288 ; ROM:1FFFC1B2r
ROM:1FFFC28C dword_1FFFC28C DCD 0x4002201C ; DATA XREF: FLASH_GetReadOutProtectionStatusr
ROM:1FFFC290
ROM:1FFFC290 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC290
ROM:1FFFC290 ; 程序中指针调用过来的
ROM:1FFFC290
ROM:1FFFC290 usb_monitor_en
ROM:1FFFC290 PUSH {R7,LR}
ROM:1FFFC292 LDR.W R0, =0x20000C0C
ROM:1FFFC296 MOVS R1, #0
ROM:1FFFC298 STRB R1, [R0,#0xA]
ROM:1FFFC29A BL return_0_0
ROM:1FFFC29E BL usb_chuli
ROM:1FFFC2A2 BL usb_en_inter
ROM:1FFFC2A6 LDR.W R0, =0x20000C64
ROM:1FFFC2AA MOVS R1, #0
ROM:1FFFC2AC STR R1, [R0]
ROM:1FFFC2AE POP {R0,PC}
ROM:1FFFC2AE ; End of function usb_monitor_en
ROM:1FFFC2AE
ROM:1FFFC2B0
ROM:1FFFC2B0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC2B0
ROM:1FFFC2B0
ROM:1FFFC2B0 sub_1FFFC2B0
ROM:1FFFC2B0 LDR.W R0, =0x20000C0C
ROM:1FFFC2B4 MOVS R1, #0
ROM:1FFFC2B6 STRB R1, [R0,#0xA]
ROM:1FFFC2B8 LDR.W R0, =0x20000C28
ROM:1FFFC2BC LDR R0, [R0]
ROM:1FFFC2BE LDR.W R1, =0x200001AC
ROM:1FFFC2C2 LDRB R1, [R1,#7]
ROM:1FFFC2C4 STRB R1, [R0,#9]
ROM:1FFFC2C6 LDR.W R0, =0x20000C64
ROM:1FFFC2CA MOVS R1, #1
ROM:1FFFC2CC STR R1, [R0]
ROM:1FFFC2CE BX LR
ROM:1FFFC2CE ; End of function sub_1FFFC2B0
ROM:1FFFC2CE
ROM:1FFFC2D0
ROM:1FFFC2D0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC2D0
ROM:1FFFC2D0 ; 函数指针,定义为全局data区
ROM:1FFFC2D0
ROM:1FFFC2D0 sub_1FFFC2D0
ROM:1FFFC2D0 LDR.W R0, =0x20000C0C
ROM:1FFFC2D4 LDRB R0, [R0,#0xA]
ROM:1FFFC2D6 CBZ R0, locret_1FFFC2E0
ROM:1FFFC2D8 LDR.W R0, =0x20000C64
ROM:1FFFC2DC MOVS R1, #5
ROM:1FFFC2DE STR R1, [R0]
ROM:1FFFC2E0
ROM:1FFFC2E0 locret_1FFFC2E0 ; CODE XREF: sub_1FFFC2D0+6j
ROM:1FFFC2E0 BX LR
ROM:1FFFC2E0 ; End of function sub_1FFFC2D0
ROM:1FFFC2E0
ROM:1FFFC2E2
ROM:1FFFC2E2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC2E2
ROM:1FFFC2E2
ROM:1FFFC2E2 sub_1FFFC2E2
ROM:1FFFC2E2 LDR.W R0, =0x20000C64
ROM:1FFFC2E6 MOVS R1, #4
ROM:1FFFC2E8 STR R1, [R0]
ROM:1FFFC2EA BX LR
ROM:1FFFC2EA ; End of function sub_1FFFC2E2
ROM:1FFFC2EA
ROM:1FFFC2EC ; ---------------------------------------------------------------------------
ROM:1FFFC2EC BX LR
ROM:1FFFC2EE
ROM:1FFFC2EE ; =============== S U B R O U T I N E =======================================
ROM:1FFFC2EE
ROM:1FFFC2EE
ROM:1FFFC2EE sub_1FFFC2EE
ROM:1FFFC2EE
ROM:1FFFC2EE var_10 = -0x10
ROM:1FFFC2EE
ROM:1FFFC2EE PUSH {R3-R5,LR}
ROM:1FFFC2F0 LDR.W R4, =0x20000138
ROM:1FFFC2F4 LDR R0, [R4,#0x14]
ROM:1FFFC2F6 LDR.W R1, =0x20000C0C
ROM:1FFFC2FA LDRB R1, [R1,#1]
ROM:1FFFC2FC CMP R1, #3
ROM:1FFFC2FE BNE.W loc_1FFFC406
ROM:1FFFC302 LDRB R1, [R4,#0x10]
ROM:1FFFC304 CMP R1, #4
ROM:1FFFC306 BNE loc_1FFFC3FC
ROM:1FFFC308 CMP R0, #0
ROM:1FFFC30A BNE loc_1FFFC39E
ROM:1FFFC30C LDR R0, [R4,#0x18]
ROM:1FFFC30E LDR.W R5, =0x20000250
ROM:1FFFC312 LDRB R1, [R5]
ROM:1FFFC314 CBNZ R1, loc_1FFFC330
ROM:1FFFC316 CMP R0, #1
ROM:1FFFC318 BEQ loc_1FFFC3F2
ROM:1FFFC31A
ROM:1FFFC31A loc_1FFFC31A ; CODE XREF: sub_1FFFC2EE+48j
ROM:1FFFC31A ; sub_1FFFC2EE+9Ej
ROM:1FFFC31A MOVS R0, #0xA
ROM:1FFFC31C STRB R0, [R4,#0x10]
ROM:1FFFC31E MOVS R0, #0xF
ROM:1FFFC320 STRB R0, [R4]
ROM:1FFFC322 MOVS R0, #0xA
ROM:1FFFC324 STRB R0, [R4,#4]
ROM:1FFFC326 MOVS R0, #0
ROM:1FFFC328 STRB R0, [R4,#1]
ROM:1FFFC32A STRH R0, [R4,#2]
ROM:1FFFC32C STR R0, [R4,#0x18]
ROM:1FFFC32E POP {R0,R4,R5,PC}
ROM:1FFFC330 ; ---------------------------------------------------------------------------
ROM:1FFFC330
ROM:1FFFC330 loc_1FFFC330 ; CODE XREF: sub_1FFFC2EE+26j
ROM:1FFFC330 CMP R1, #0x21
ROM:1FFFC332 BNE loc_1FFFC352
ROM:1FFFC334 CMP R0, #5
ROM:1FFFC336 BNE loc_1FFFC31A
ROM:1FFFC338 BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC338 ;
ROM:1FFFC33C CMP R0, #1
ROM:1FFFC33E BEQ loc_1FFFC3AA
ROM:1FFFC340 BL sub_1FFFC438
ROM:1FFFC344 STRB.W R0, [SP,#0x10+var_10]
ROM:1FFFC348 LDRB.W R0, [SP,#0x10+var_10]
ROM:1FFFC34C CMP R0, #1
ROM:1FFFC34E BNE loc_1FFFC3F2
ROM:1FFFC350 B loc_1FFFC3D6
ROM:1FFFC352 ; ---------------------------------------------------------------------------
ROM:1FFFC352
ROM:1FFFC352 loc_1FFFC352 ; CODE XREF: sub_1FFFC2EE+44j
ROM:1FFFC352 CMP R1, #0x41
ROM:1FFFC354 BNE loc_1FFFC386
ROM:1FFFC356 BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC356 ;
ROM:1FFFC35A CMP R0, #1
ROM:1FFFC35C BEQ loc_1FFFC3AA
ROM:1FFFC35E LDR R0, [R4,#0x18]
ROM:1FFFC360 CMP R0, #5
ROM:1FFFC362 BNE loc_1FFFC37C
ROM:1FFFC364 BL sub_1FFFC438
ROM:1FFFC368 STRB.W R0, [SP,#0x10+var_10]
ROM:1FFFC36C LDRB.W R0, [SP,#0x10+var_10]
ROM:1FFFC370 CMP R0, #2
ROM:1FFFC372 BNE loc_1FFFC3D6
ROM:1FFFC374 LDR R0, [R4,#0x20]
ROM:1FFFC376 BL sub_1FFFCC20
ROM:1FFFC37A B loc_1FFFC3F2
ROM:1FFFC37C ; ---------------------------------------------------------------------------
ROM:1FFFC37C
ROM:1FFFC37C loc_1FFFC37C ; CODE XREF: sub_1FFFC2EE+74j
ROM:1FFFC37C CMP R0, #1
ROM:1FFFC37E BNE loc_1FFFC3F2
ROM:1FFFC380 BL sub_1FFFC0C6
ROM:1FFFC384 B loc_1FFFC3F2
ROM:1FFFC386 ; ---------------------------------------------------------------------------
ROM:1FFFC386
ROM:1FFFC386 loc_1FFFC386 ; CODE XREF: sub_1FFFC2EE+66j
ROM:1FFFC386 CMP R1, #0x92
ROM:1FFFC388 IT EQ
ROM:1FFFC38A CMPEQ R0, #1
ROM:1FFFC38C BNE loc_1FFFC31A
ROM:1FFFC38E MOVS R0, #0
ROM:1FFFC390 BL sub_1FFFC1AA
ROM:1FFFC394 BL clear_all_mem
ROM:1FFFC398 BL sys_reset
ROM:1FFFC39C B loc_1FFFC3F2
ROM:1FFFC39E ; ---------------------------------------------------------------------------
ROM:1FFFC39E
ROM:1FFFC39E loc_1FFFC39E ; CODE XREF: sub_1FFFC2EE+1Cj
ROM:1FFFC39E CMP R0, #2
ROM:1FFFC3A0 BCC loc_1FFFC3F2
ROM:1FFFC3A2 BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC3A2 ;
ROM:1FFFC3A6 CMP R0, #1
ROM:1FFFC3A8 BNE loc_1FFFC3B2
ROM:1FFFC3AA
ROM:1FFFC3AA loc_1FFFC3AA ; CODE XREF: sub_1FFFC2EE+50j
ROM:1FFFC3AA ; sub_1FFFC2EE+6Ej
ROM:1FFFC3AA MOVS R0, #0xA
ROM:1FFFC3AC STRB R0, [R4,#0x10]
ROM:1FFFC3AE MOVS R0, #0xB
ROM:1FFFC3B0 B loc_1FFFC3DC
ROM:1FFFC3B2 ; ---------------------------------------------------------------------------
ROM:1FFFC3B2
ROM:1FFFC3B2 loc_1FFFC3B2 ; CODE XREF: sub_1FFFC2EE+BAj
ROM:1FFFC3B2 LDR R0, [R4,#0x14]
ROM:1FFFC3B4 SUBS R0, R0, #2
ROM:1FFFC3B6 LDR R1, [R4,#0x20]
ROM:1FFFC3B8 ADD.W R5, R1, R0,LSL#11
ROM:1FFFC3BC MOV R0, R5 ; addr
ROM:1FFFC3BE BL get_mem_block
ROM:1FFFC3C2 STRB.W R0, [SP,#0x10+var_10]
ROM:1FFFC3C6 LDRB.W R0, [SP,#0x10+var_10]
ROM:1FFFC3CA CMP R0, #1
ROM:1FFFC3CC ITT NE
ROM:1FFFC3CE LDRNEB.W R0, [SP,#0x10+var_10]
ROM:1FFFC3D2 CMPNE R0, #5
ROM:1FFFC3D4 BNE loc_1FFFC3EA
ROM:1FFFC3D6
ROM:1FFFC3D6 loc_1FFFC3D6 ; CODE XREF: sub_1FFFC2EE+62j
ROM:1FFFC3D6 ; sub_1FFFC2EE+84j
ROM:1FFFC3D6 MOVS R0, #0xA
ROM:1FFFC3D8 STRB R0, [R4,#0x10]
ROM:1FFFC3DA MOVS R0, #1
ROM:1FFFC3DC
ROM:1FFFC3DC loc_1FFFC3DC ; CODE XREF: sub_1FFFC2EE+C2j
ROM:1FFFC3DC STRB R0, [R4]
ROM:1FFFC3DE MOVS R0, #0xA
ROM:1FFFC3E0 STRB R0, [R4,#4]
ROM:1FFFC3E2 MOVS R0, #0
ROM:1FFFC3E4 STRB R0, [R4,#1]
ROM:1FFFC3E6 STRH R0, [R4,#2]
ROM:1FFFC3E8 B loc_1FFFC426
ROM:1FFFC3EA ; ---------------------------------------------------------------------------
ROM:1FFFC3EA
ROM:1FFFC3EA loc_1FFFC3EA ; CODE XREF: sub_1FFFC2EE+E6j
ROM:1FFFC3EA LDR R1, [R4,#0x18]
ROM:1FFFC3EC MOV R0, R5
ROM:1FFFC3EE BL sub_1FFFCC38
ROM:1FFFC3F2
ROM:1FFFC3F2 loc_1FFFC3F2 ; CODE XREF: sub_1FFFC2EE+2Aj
ROM:1FFFC3F2 ; sub_1FFFC2EE+60j ...
ROM:1FFFC3F2 MOVS R0, #0
ROM:1FFFC3F4 STR R0, [R4,#0x18]
ROM:1FFFC3F6 STR R0, [R4,#0x14]
ROM:1FFFC3F8 MOVS R0, #3
ROM:1FFFC3FA B loc_1FFFC7EC
ROM:1FFFC3FC ; ---------------------------------------------------------------------------
ROM:1FFFC3FC
ROM:1FFFC3FC loc_1FFFC3FC ; CODE XREF: sub_1FFFC2EE+18j
ROM:1FFFC3FC CMP R1, #7
ROM:1FFFC3FE BNE locret_1FFFC436
ROM:1FFFC400 POP.W {R0,R4,R5,LR}
ROM:1FFFC404 B sub_1FFFC7A4
ROM:1FFFC406 ; ---------------------------------------------------------------------------
ROM:1FFFC406
ROM:1FFFC406 loc_1FFFC406 ; CODE XREF: sub_1FFFC2EE+10j
ROM:1FFFC406 CMP R1, #0x52
ROM:1FFFC408 BNE locret_1FFFC436
ROM:1FFFC40A CBZ R0, loc_1FFFC434
ROM:1FFFC40C CMP R0, #0x21
ROM:1FFFC40E BEQ loc_1FFFC41A
ROM:1FFFC410 CMP R0, #0x43
ROM:1FFFC412 BEQ loc_1FFFC420
ROM:1FFFC414 CMP R0, #0x63
ROM:1FFFC416 BEQ loc_1FFFC42C
ROM:1FFFC418 B loc_1FFFC432
ROM:1FFFC41A ; ---------------------------------------------------------------------------
ROM:1FFFC41A
ROM:1FFFC41A loc_1FFFC41A ; CODE XREF: sub_1FFFC2EE+120j
ROM:1FFFC41A POP.W {R0,R4,R5,LR}
ROM:1FFFC41E B sub_1FFFC8A6
ROM:1FFFC420 ; ---------------------------------------------------------------------------
ROM:1FFFC420
ROM:1FFFC420 loc_1FFFC420 ; CODE XREF: sub_1FFFC2EE+124j
ROM:1FFFC420 BL sub_1FFFC8E2
ROM:1FFFC424 MOVS R0, #0
ROM:1FFFC426
ROM:1FFFC426 loc_1FFFC426 ; CODE XREF: sub_1FFFC2EE+FAj
ROM:1FFFC426 STR R0, [R4,#0x18]
ROM:1FFFC428 STR R0, [R4,#0x14]
ROM:1FFFC42A POP {R0,R4,R5,PC}
ROM:1FFFC42C ; ---------------------------------------------------------------------------
ROM:1FFFC42C
ROM:1FFFC42C loc_1FFFC42C ; CODE XREF: sub_1FFFC2EE+128j
ROM:1FFFC42C POP.W {R0,R4,R5,LR}
ROM:1FFFC430 B sub_1FFFC91C
ROM:1FFFC432 ; ---------------------------------------------------------------------------
ROM:1FFFC432
ROM:1FFFC432 loc_1FFFC432 ; CODE XREF: sub_1FFFC2EE+12Aj
ROM:1FFFC432 MOVS R0, #0x20
ROM:1FFFC434
ROM:1FFFC434 loc_1FFFC434 ; CODE XREF: sub_1FFFC2EE+11Cj
ROM:1FFFC434 STRB R0, [R4,#8]
ROM:1FFFC436
ROM:1FFFC436 locret_1FFFC436 ; CODE XREF: sub_1FFFC2EE+110j
ROM:1FFFC436 ; sub_1FFFC2EE+11Aj
ROM:1FFFC436 POP {R0,R4,R5,PC}
ROM:1FFFC436 ; End of function sub_1FFFC2EE
ROM:1FFFC436
ROM:1FFFC438
ROM:1FFFC438 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC438
ROM:1FFFC438
ROM:1FFFC438 sub_1FFFC438 ; CODE XREF: sub_1FFFC2EE+52p
ROM:1FFFC438 ; sub_1FFFC2EE+76p
ROM:1FFFC438 LDRB R0, [R5,#1]
ROM:1FFFC43A LDRB R1, [R5,#2]
ROM:1FFFC43C ADD.W R0, R0, R1,LSL#8
ROM:1FFFC440 LDRB R1, [R5,#3]
ROM:1FFFC442 ADD.W R0, R0, R1,LSL#16
ROM:1FFFC446 LDRB R1, [R5,#4]
ROM:1FFFC448 ADD.W R0, R0, R1,LSL#24
ROM:1FFFC44C STR R0, [R4,#0x20]
ROM:1FFFC44E B.W get_mem_block
ROM:1FFFC44E ; End of function sub_1FFFC438
ROM:1FFFC44E
ROM:1FFFC452 ; ---------------------------------------------------------------------------
ROM:1FFFC452 PUSH {R4,LR}
ROM:1FFFC454 LDR.W R1, =0x20000C28
ROM:1FFFC458 LDR R1, [R1]
ROM:1FFFC45A LDRB R2, [R1]
ROM:1FFFC45C LDR.W R3, =0x20000138
ROM:1FFFC460 AND.W R4, R2, #0x7F
ROM:1FFFC464 CMP R4, #0x21
ROM:1FFFC466 BNE loc_1FFFC4AA
ROM:1FFFC468 LDRB R2, [R3,#0x10]
ROM:1FFFC46A CMP R0, #2
ROM:1FFFC46C BNE loc_1FFFC480
ROM:1FFFC46E CMP R2, #2
ROM:1FFFC470 IT NE
ROM:1FFFC472 CMPNE R2, #9
ROM:1FFFC474 BNE loc_1FFFC4CA
ROM:1FFFC476 ADR.W R2, (sub_1FFFC600+1)
ROM:1FFFC47A
ROM:1FFFC47A loc_1FFFC47A ; CODE XREF: ROM:1FFFC494j
ROM:1FFFC47A ; ROM:1FFFC49Ej ...
ROM:1FFFC47A MOVS R0, R2
ROM:1FFFC47C BNE loc_1FFFC4CE
ROM:1FFFC47E B loc_1FFFC4CA
ROM:1FFFC480 ; ---------------------------------------------------------------------------
ROM:1FFFC480
ROM:1FFFC480 loc_1FFFC480 ; CODE XREF: ROM:1FFFC46Cj
ROM:1FFFC480 CMP R0, #1
ROM:1FFFC482 BNE loc_1FFFC496
ROM:1FFFC484 CMP R2, #2
ROM:1FFFC486 IT NE
ROM:1FFFC488 CMPNE R2, #5
ROM:1FFFC48A BNE loc_1FFFC4CA
ROM:1FFFC48C MOVS R0, #3
ROM:1FFFC48E STRB R0, [R3,#0x10]
ROM:1FFFC490 ADR.W R2, (sub_1FFFC6E0+1)
ROM:1FFFC494 B loc_1FFFC47A
ROM:1FFFC496 ; ---------------------------------------------------------------------------
ROM:1FFFC496
ROM:1FFFC496 loc_1FFFC496 ; CODE XREF: ROM:1FFFC482j
ROM:1FFFC496 CMP R0, #5
ROM:1FFFC498 IT EQ
ROM:1FFFC49A ADREQ.W R2, (sub_1FFFC70C+1)
ROM:1FFFC49E BEQ loc_1FFFC47A
ROM:1FFFC4A0 CMP R0, #3
ROM:1FFFC4A2 BNE loc_1FFFC4CA
ROM:1FFFC4A4 ADR.W R2, (sub_1FFFC724+1)
ROM:1FFFC4A8 B loc_1FFFC47A
ROM:1FFFC4AA ; ---------------------------------------------------------------------------
ROM:1FFFC4AA
ROM:1FFFC4AA loc_1FFFC4AA ; CODE XREF: ROM:1FFFC466j
ROM:1FFFC4AA AND.W R2, R2, #0x7F
ROM:1FFFC4AE CMP R2, #0x41
ROM:1FFFC4B0 BNE loc_1FFFC4CA
ROM:1FFFC4B2 CMP R0, #0x52
ROM:1FFFC4B4 IT EQ
ROM:1FFFC4B6 ADREQ.W R2, (sub_1FFFC7F8+1)
ROM:1FFFC4BA BEQ loc_1FFFC47A
ROM:1FFFC4BC CMP R0, #0x53
ROM:1FFFC4BE IT EQ
ROM:1FFFC4C0 ADREQ.W R2, (sub_1FFFC874+1)
ROM:1FFFC4C4 BEQ loc_1FFFC47A
ROM:1FFFC4C6 MOVS R0, #0x20
ROM:1FFFC4C8 STRB R0, [R3,#8]
ROM:1FFFC4CA
ROM:1FFFC4CA loc_1FFFC4CA ; CODE XREF: ROM:1FFFC474j
ROM:1FFFC4CA ; ROM:1FFFC47Ej ...
ROM:1FFFC4CA MOVS R0, #2
ROM:1FFFC4CC POP {R4,PC}
ROM:1FFFC4CE ; ---------------------------------------------------------------------------
ROM:1FFFC4CE
ROM:1FFFC4CE loc_1FFFC4CE ; CODE XREF: ROM:1FFFC47Cj
ROM:1FFFC4CE STR R2, [R1,#0x18]
ROM:1FFFC4D0 MOVS R0, #0
ROM:1FFFC4D2 STRH R0, [R1,#0x12]
ROM:1FFFC4D4 BLX R2 ; sub_1FFFC600
ROM:1FFFC4D6 MOVS R0, #0
ROM:1FFFC4D8 POP {R4,PC}
ROM:1FFFC4DA ; ---------------------------------------------------------------------------
ROM:1FFFC4DA PUSH {R7,LR}
ROM:1FFFC4DC LDR.W R1, =0x20000C28
ROM:1FFFC4E0 LDR R1, [R1]
ROM:1FFFC4E2 LDRB R2, [R1]
ROM:1FFFC4E4 LDR.W R1, =0x20000138
ROM:1FFFC4E8 AND.W R3, R2, #0x7F
ROM:1FFFC4EC CMP R3, #0x21
ROM:1FFFC4EE BNE loc_1FFFC57A
ROM:1FFFC4F0 LDRB R2, [R1,#0x10]
ROM:1FFFC4F2 CMP R0, #1
ROM:1FFFC4F4 BNE loc_1FFFC50E
ROM:1FFFC4F6 CMP R2, #5
ROM:1FFFC4F8 IT NE
ROM:1FFFC4FA CMPNE R2, #2
ROM:1FFFC4FC BNE loc_1FFFC59E
ROM:1FFFC4FE STR R0, [R1,#0x1C]
ROM:1FFFC500 MOVS R0, #6
ROM:1FFFC502 STRB R0, [R1,#0x10]
ROM:1FFFC504 MOVS R0, #0
ROM:1FFFC506 STRB R0, [R1,#1]
ROM:1FFFC508 STRH R0, [R1,#2]
ROM:1FFFC50A MOVS R0, #6
ROM:1FFFC50C B loc_1FFFC51C
ROM:1FFFC50E ; ---------------------------------------------------------------------------
ROM:1FFFC50E
ROM:1FFFC50E loc_1FFFC50E ; CODE XREF: ROM:1FFFC4F4j
ROM:1FFFC50E CMP R0, #2
ROM:1FFFC510 BNE loc_1FFFC520
ROM:1FFFC512 STRB R0, [R1,#0x10]
ROM:1FFFC514 MOVS R0, #0
ROM:1FFFC516 STRB R0, [R1,#1]
ROM:1FFFC518 STRH R0, [R1,#2]
ROM:1FFFC51A MOVS R0, #2
ROM:1FFFC51C
ROM:1FFFC51C loc_1FFFC51C ; CODE XREF: ROM:1FFFC50Cj
ROM:1FFFC51C STRB R0, [R1,#4]
ROM:1FFFC51E B loc_1FFFC576
ROM:1FFFC520 ; ---------------------------------------------------------------------------
ROM:1FFFC520
ROM:1FFFC520 loc_1FFFC520 ; CODE XREF: ROM:1FFFC510j
ROM:1FFFC520 CMP R0, #4
ROM:1FFFC522 BNE loc_1FFFC54C
ROM:1FFFC524 CMP R2, #0xA
ROM:1FFFC526 BNE loc_1FFFC534
ROM:1FFFC528 MOVS R0, #2
ROM:1FFFC52A STRB R0, [R1,#0x10]
ROM:1FFFC52C MOVS R0, #0
ROM:1FFFC52E STR R0, [R1]
ROM:1FFFC530 MOVS R0, #2
ROM:1FFFC532 B loc_1FFFC544
ROM:1FFFC534 ; ---------------------------------------------------------------------------
ROM:1FFFC534
ROM:1FFFC534 loc_1FFFC534 ; CODE XREF: ROM:1FFFC526j
ROM:1FFFC534 MOVS R0, #0xA
ROM:1FFFC536 STRB R0, [R1,#0x10]
ROM:1FFFC538 MOVS R0, #0xE
ROM:1FFFC53A STRB R0, [R1]
ROM:1FFFC53C MOVS R0, #0
ROM:1FFFC53E STRB R0, [R1,#1]
ROM:1FFFC540 STRH R0, [R1,#2]
ROM:1FFFC542 MOVS R0, #0xA
ROM:1FFFC544
ROM:1FFFC544 loc_1FFFC544 ; CODE XREF: ROM:1FFFC532j
ROM:1FFFC544 STRB R0, [R1,#4]
ROM:1FFFC546 MOVS R0, #0
ROM:1FFFC548 STRB R0, [R1,#5]
ROM:1FFFC54A B loc_1FFFC576
ROM:1FFFC54C ; ---------------------------------------------------------------------------
ROM:1FFFC54C
ROM:1FFFC54C loc_1FFFC54C ; CODE XREF: ROM:1FFFC522j
ROM:1FFFC54C CMP R0, #6
ROM:1FFFC54E BNE loc_1FFFC59E
ROM:1FFFC550 CMP R2, #2
ROM:1FFFC552 IT NE
ROM:1FFFC554 CMPNE R2, #3
ROM:1FFFC556 BEQ loc_1FFFC562
ROM:1FFFC558 CMP R2, #5
ROM:1FFFC55A ITT NE
ROM:1FFFC55C CMPNE R2, #6
ROM:1FFFC55E CMPNE R2, #9
ROM:1FFFC560 BNE loc_1FFFC576
ROM:1FFFC562
ROM:1FFFC562 loc_1FFFC562 ; CODE XREF: ROM:1FFFC556j
ROM:1FFFC562 MOVS R0, #2
ROM:1FFFC564 STRB R0, [R1,#0x10]
ROM:1FFFC566 MOVS R0, #0
ROM:1FFFC568 STR R0, [R1]
ROM:1FFFC56A MOVS R0, #2
ROM:1FFFC56C STRB R0, [R1,#4]
ROM:1FFFC56E MOVS R0, #0
ROM:1FFFC570 STRB R0, [R1,#5]
ROM:1FFFC572 STR R0, [R1,#0x14]
ROM:1FFFC574 STR R0, [R1,#0x18]
ROM:1FFFC576
ROM:1FFFC576 loc_1FFFC576 ; CODE XREF: ROM:1FFFC51Ej
ROM:1FFFC576 ; ROM:1FFFC54Aj ...
ROM:1FFFC576 MOVS R0, #0
ROM:1FFFC578 POP {R1,PC}
ROM:1FFFC57A ; ---------------------------------------------------------------------------
ROM:1FFFC57A
ROM:1FFFC57A loc_1FFFC57A ; CODE XREF: ROM:1FFFC4EEj
ROM:1FFFC57A AND.W R2, R2, #0x7F
ROM:1FFFC57E CMP R2, #0x41
ROM:1FFFC580 IT EQ
ROM:1FFFC582 CMPEQ R0, #0x53
ROM:1FFFC584 BNE loc_1FFFC59E
ROM:1FFFC586 LDR.W R0, =0x20000C0C
ROM:1FFFC58A LDRB R0, [R0,#3]
ROM:1FFFC58C CMP R0, #0x73
ROM:1FFFC58E BEQ loc_1FFFC59A
ROM:1FFFC590 CMP R0, #0x82
ROM:1FFFC592 BEQ loc_1FFFC5A2
ROM:1FFFC594 CMP R0, #0x92
ROM:1FFFC596 BEQ loc_1FFFC5A8
ROM:1FFFC598 B loc_1FFFC5AE
ROM:1FFFC59A ; ---------------------------------------------------------------------------
ROM:1FFFC59A
ROM:1FFFC59A loc_1FFFC59A ; CODE XREF: ROM:1FFFC58Ej
ROM:1FFFC59A BL sub_1FFFC964
ROM:1FFFC59E
ROM:1FFFC59E loc_1FFFC59E ; CODE XREF: ROM:1FFFC4FCj
ROM:1FFFC59E ; ROM:1FFFC54Ej ...
ROM:1FFFC59E MOVS R0, #2
ROM:1FFFC5A0 POP {R1,PC}
ROM:1FFFC5A2 ; ---------------------------------------------------------------------------
ROM:1FFFC5A2
ROM:1FFFC5A2 loc_1FFFC5A2 ; CODE XREF: ROM:1FFFC592j
ROM:1FFFC5A2 BL sub_1FFFC978
ROM:1FFFC5A6 B loc_1FFFC59E
ROM:1FFFC5A8 ; ---------------------------------------------------------------------------
ROM:1FFFC5A8
ROM:1FFFC5A8 loc_1FFFC5A8 ; CODE XREF: ROM:1FFFC596j
ROM:1FFFC5A8 BL sub_1FFFC996
ROM:1FFFC5AC B loc_1FFFC59E
ROM:1FFFC5AE ; ---------------------------------------------------------------------------
ROM:1FFFC5AE
ROM:1FFFC5AE loc_1FFFC5AE ; CODE XREF: ROM:1FFFC598j
ROM:1FFFC5AE MOVS R0, #0x20
ROM:1FFFC5B0 STRB R0, [R1,#8]
ROM:1FFFC5B2 B loc_1FFFC59E
ROM:1FFFC5B4 ; ---------------------------------------------------------------------------
ROM:1FFFC5B4 LDR.W R1, =0x20000234
ROM:1FFFC5B8 B.W loc_1FFFCFD8
ROM:1FFFC5BC ; ---------------------------------------------------------------------------
ROM:1FFFC5BC LDR.W R1, =0x2000015C
ROM:1FFFC5C0 B.W loc_1FFFCFD8
ROM:1FFFC5C4 ; ---------------------------------------------------------------------------
ROM:1FFFC5C4 LDR.W R1, =0x20000C28
ROM:1FFFC5C8 LDR R1, [R1]
ROM:1FFFC5CA LDRB R1, [R1,#3]
ROM:1FFFC5CC LDR.W R2, =0x200000D4
ROM:1FFFC5D0 CMP R1, #4
ROM:1FFFC5D2 BNE loc_1FFFC5E6
ROM:1FFFC5D4 CBZ R0, loc_1FFFC5DC
ROM:1FFFC5D6 LDRB R3, [R2]
ROM:1FFFC5D8 ADDS R3, R3, #1
ROM:1FFFC5DA STRB R3, [R2]
ROM:1FFFC5DC
ROM:1FFFC5DC loc_1FFFC5DC ; CODE XREF: ROM:1FFFC5D4j
ROM:1FFFC5DC ; ROM:1FFFC5E8j
ROM:1FFFC5DC ADD.W R1, R2, R1,LSL#3
ROM:1FFFC5E0 ADDS R1, R1, #4
ROM:1FFFC5E2 B.W loc_1FFFCFD8
ROM:1FFFC5E6 ; ---------------------------------------------------------------------------
ROM:1FFFC5E6
ROM:1FFFC5E6 loc_1FFFC5E6 ; CODE XREF: ROM:1FFFC5D2j
ROM:1FFFC5E6 CMP R1, #6
ROM:1FFFC5E8 BLT loc_1FFFC5DC
ROM:1FFFC5EA MOVS R0, #0
ROM:1FFFC5EC BX LR
ROM:1FFFC5EE ; ---------------------------------------------------------------------------
ROM:1FFFC5EE CMP R1, #4
ROM:1FFFC5F0 IT CC
ROM:1FFFC5F2 CMPCC R0, #3
ROM:1FFFC5F4 BCC loc_1FFFC5FA
ROM:1FFFC5F6 MOVS R0, #2
ROM:1FFFC5F8 BX LR
ROM:1FFFC5FA ; ---------------------------------------------------------------------------
ROM:1FFFC5FA
ROM:1FFFC5FA loc_1FFFC5FA ; CODE XREF: ROM:1FFFC5F4j
ROM:1FFFC5FA MOVS R0, #0
ROM:1FFFC5FC BX LR
ROM:1FFFC5FC ; ---------------------------------------------------------------------------
ROM:1FFFC5FE ALIGN 0x10
ROM:1FFFC600
ROM:1FFFC600 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC600
ROM:1FFFC600
ROM:1FFFC600 sub_1FFFC600 ; CODE XREF: ROM:1FFFC4D4p
ROM:1FFFC600 ; DATA XREF: ROM:1FFFC476o
ROM:1FFFC600
ROM:1FFFC600 var_20 = -0x20
ROM:1FFFC600
ROM:1FFFC600 PUSH.W {R4-R8,LR}
ROM:1FFFC604 SUB SP, SP, #8
ROM:1FFFC606 MOV R4, R0
ROM:1FFFC608 LDR.W R0, =0x20000C0C
ROM:1FFFC60C LDRB R1, [R0,#2]
ROM:1FFFC60E LDRB R2, [R0,#3]
ROM:1FFFC610 ADD.W R2, R2, R1,LSL#8
ROM:1FFFC614 LDR.W R5, =0x20000138
ROM:1FFFC618 STR R2, [R5,#0x14]
ROM:1FFFC61A LDRB R1, [R0,#7]
ROM:1FFFC61C LDRB R0, [R0,#6]
ROM:1FFFC61E ADD.W R0, R0, R1,LSL#8
ROM:1FFFC622 STR R0, [R5,#0x18]
ROM:1FFFC624 LDR.W R6, =0x20000C28
ROM:1FFFC628 LDR R1, [R6]
ROM:1FFFC62A LDRH R7, [R1,#0x12]
ROM:1FFFC62C UXTH R3, R2
ROM:1FFFC62E CBNZ R3, loc_1FFFC662
ROM:1FFFC630 UXTH R0, R0
ROM:1FFFC632 CMP R0, #4
ROM:1FFFC634 ITE CS
ROM:1FFFC636 MOVCS R0, #2
ROM:1FFFC638 MOVCC R0, #9
ROM:1FFFC63A STRB R0, [R5,#0x10]
ROM:1FFFC63C LDRB R0, [R5,#0x10]
ROM:1FFFC63E STRB R0, [R5,#4]
ROM:1FFFC640 MOVS R0, #0
ROM:1FFFC642 STRB R0, [R5,#1]
ROM:1FFFC644 STRH R0, [R5,#2]
ROM:1FFFC646 LDR.W R0, =0x20000250
ROM:1FFFC64A MOVS R2, #0
ROM:1FFFC64C STRB R2, [R0]
ROM:1FFFC64E MOVS R2, #0x21
ROM:1FFFC650 STRB R2, [R0,#1]
ROM:1FFFC652 MOVS R2, #0x41
ROM:1FFFC654 STRB R2, [R0,#2]
ROM:1FFFC656 MOVS R2, #0x92
ROM:1FFFC658 STRB R2, [R0,#3]
ROM:1FFFC65A CMP R4, #0
ROM:1FFFC65C BNE locret_1FFFC6DC
ROM:1FFFC65E MOVS R0, #4
ROM:1FFFC660 B loc_1FFFC6AE
ROM:1FFFC662 ; ---------------------------------------------------------------------------
ROM:1FFFC662
ROM:1FFFC662 loc_1FFFC662 ; CODE XREF: sub_1FFFC600+2Ej
ROM:1FFFC662 UXTH R2, R2
ROM:1FFFC664 CMP R2, #2
ROM:1FFFC666 BCC loc_1FFFC6D0
ROM:1FFFC668 BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC668 ;
ROM:1FFFC66C CBNZ R0, loc_1FFFC6B8
ROM:1FFFC66E MOVS R0, #9
ROM:1FFFC670 STRB R0, [R5,#0x10]
ROM:1FFFC672 STRB R0, [R5,#4]
ROM:1FFFC674 MOVS R0, #0
ROM:1FFFC676 STRB R0, [R5,#1]
ROM:1FFFC678 STRH R0, [R5,#2]
ROM:1FFFC67A LDR R0, [R5,#0x14]
ROM:1FFFC67C SUBS R0, R0, #2
ROM:1FFFC67E LDR R1, [R5,#0x20]
ROM:1FFFC680 ADD.W R8, R1, R0,LSL#11
ROM:1FFFC684 MOV R0, R8
ROM:1FFFC686 BL get_mem_block
ROM:1FFFC68A STRB.W R0, [SP,#0x20+var_20]
ROM:1FFFC68E LDRB.W R0, [SP,#0x20+var_20]
ROM:1FFFC692 CMP R0, #1
ROM:1FFFC694 ITTT EQ
ROM:1FFFC696 MOVEQ R0, #0xA
ROM:1FFFC698 STREQB R0, [R5,#0x10]
ROM:1FFFC69A MOVEQ R0, #1
ROM:1FFFC69C BEQ loc_1FFFC6BE
ROM:1FFFC69E LDR R1, [R5,#0x18]
ROM:1FFFC6A0 MOV R0, R8
ROM:1FFFC6A2 BL sub_1FFFCC7A
ROM:1FFFC6A6 CBNZ R4, loc_1FFFC6B4
ROM:1FFFC6A8 LDR R0, [R5,#0x18]
ROM:1FFFC6AA SUBS R0, R0, R7
ROM:1FFFC6AC LDR R1, [R6]
ROM:1FFFC6AE
ROM:1FFFC6AE loc_1FFFC6AE ; CODE XREF: sub_1FFFC600+60j
ROM:1FFFC6AE STRH R0, [R1,#0x10]
ROM:1FFFC6B0 MOVS R0, #0
ROM:1FFFC6B2 B locret_1FFFC6DC
ROM:1FFFC6B4 ; ---------------------------------------------------------------------------
ROM:1FFFC6B4
ROM:1FFFC6B4 loc_1FFFC6B4 ; CODE XREF: sub_1FFFC600+A6j
ROM:1FFFC6B4 ADDS R0, R7, R0
ROM:1FFFC6B6 B locret_1FFFC6DC
ROM:1FFFC6B8 ; ---------------------------------------------------------------------------
ROM:1FFFC6B8
ROM:1FFFC6B8 loc_1FFFC6B8 ; CODE XREF: sub_1FFFC600+6Cj
ROM:1FFFC6B8 MOVS R0, #0xA
ROM:1FFFC6BA STRB R0, [R5,#0x10]
ROM:1FFFC6BC MOVS R0, #0xB
ROM:1FFFC6BE
ROM:1FFFC6BE loc_1FFFC6BE ; CODE XREF: sub_1FFFC600+9Cj
ROM:1FFFC6BE STRB R0, [R5]
ROM:1FFFC6C0 MOVS R0, #0xA
ROM:1FFFC6C2 STRB R0, [R5,#4]
ROM:1FFFC6C4 MOVS R0, #0
ROM:1FFFC6C6 STRB R0, [R5,#1]
ROM:1FFFC6C8 STRH R0, [R5,#2]
ROM:1FFFC6CA STR R0, [R5,#0x18]
ROM:1FFFC6CC STR R0, [R5,#0x14]
ROM:1FFFC6CE B locret_1FFFC6DC
ROM:1FFFC6D0 ; ---------------------------------------------------------------------------
ROM:1FFFC6D0
ROM:1FFFC6D0 loc_1FFFC6D0 ; CODE XREF: sub_1FFFC600+66j
ROM:1FFFC6D0 MOVS R0, #0xF
ROM:1FFFC6D2 STRB R0, [R5,#0x10]
ROM:1FFFC6D4 STRB R0, [R5,#4]
ROM:1FFFC6D6 MOVS R0, #0
ROM:1FFFC6D8 STRB R0, [R5,#1]
ROM:1FFFC6DA STRH R0, [R5,#2]
ROM:1FFFC6DC
ROM:1FFFC6DC locret_1FFFC6DC ; CODE XREF: sub_1FFFC600+5Cj
ROM:1FFFC6DC ; sub_1FFFC600+B2j ...
ROM:1FFFC6DC POP.W {R1,R2,R4-R8,PC}
ROM:1FFFC6DC ; End of function sub_1FFFC600
ROM:1FFFC6DC
ROM:1FFFC6E0
ROM:1FFFC6E0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC6E0
ROM:1FFFC6E0
ROM:1FFFC6E0 sub_1FFFC6E0 ; DATA XREF: ROM:1FFFC490o
ROM:1FFFC6E0 PUSH {R4,LR}
ROM:1FFFC6E2 LDR.W R1, =0x20000138
ROM:1FFFC6E6 LDR.W R2, =0x20000C0C
ROM:1FFFC6EA LDRB R3, [R2,#2]
ROM:1FFFC6EC LDRB R4, [R2,#3]
ROM:1FFFC6EE ADD.W R3, R4, R3,LSL#8
ROM:1FFFC6F2 STR R3, [R1,#0x14]
ROM:1FFFC6F4 LDRB R3, [R2,#7]
ROM:1FFFC6F6 LDRB R4, [R2,#6]
ROM:1FFFC6F8 ADD.W R3, R4, R3,LSL#8
ROM:1FFFC6FC STR R3, [R1,#0x18]
ROM:1FFFC6FE LDRH R2, [R2,#0x12]
ROM:1FFFC700 MOVS R4, #3
ROM:1FFFC702 STRB R4, [R1,#0x10]
ROM:1FFFC704 STRB R4, [R1,#4]
ROM:1FFFC706 CBNZ R0, loc_1FFFC70A
ROM:1FFFC708 B loc_1FFFC89A
ROM:1FFFC70A ; ---------------------------------------------------------------------------
ROM:1FFFC70A
ROM:1FFFC70A loc_1FFFC70A ; CODE XREF: sub_1FFFC6E0+26j
ROM:1FFFC70A B loc_1FFFC894
ROM:1FFFC70A ; End of function sub_1FFFC6E0
ROM:1FFFC70A
ROM:1FFFC70C
ROM:1FFFC70C ; =============== S U B R O U T I N E =======================================
ROM:1FFFC70C
ROM:1FFFC70C
ROM:1FFFC70C sub_1FFFC70C ; DATA XREF: ROM:1FFFC49Ao
ROM:1FFFC70C CBNZ R0, loc_1FFFC71C
ROM:1FFFC70E LDR.W R0, =0x20000C28
ROM:1FFFC712 LDR R0, [R0]
ROM:1FFFC714 MOVS R1, #1
ROM:1FFFC716 STRH R1, [R0,#0x10]
ROM:1FFFC718 MOVS R0, #0
ROM:1FFFC71A BX LR
ROM:1FFFC71C ; ---------------------------------------------------------------------------
ROM:1FFFC71C
ROM:1FFFC71C loc_1FFFC71C ; CODE XREF: sub_1FFFC70Cj
ROM:1FFFC71C LDR.W R0, =0x20000148
ROM:1FFFC720 BX LR
ROM:1FFFC720 ; End of function sub_1FFFC70C
ROM:1FFFC720
ROM:1FFFC720 ; ---------------------------------------------------------------------------
ROM:1FFFC722 ALIGN 4
ROM:1FFFC724
ROM:1FFFC724 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC724
ROM:1FFFC724
ROM:1FFFC724 sub_1FFFC724 ; DATA XREF: ROM:1FFFC4A4o
ROM:1FFFC724 PUSH {R3-R5,LR}
ROM:1FFFC726 MOV R4, R0
ROM:1FFFC728 LDR.W R5, =0x20000138
ROM:1FFFC72C LDRB R0, [R5,#0x10]
ROM:1FFFC72E CMP R0, #3
ROM:1FFFC730 BEQ loc_1FFFC738
ROM:1FFFC732 CMP R0, #6
ROM:1FFFC734 BEQ loc_1FFFC766
ROM:1FFFC736 B loc_1FFFC790
ROM:1FFFC738 ; ---------------------------------------------------------------------------
ROM:1FFFC738
ROM:1FFFC738 loc_1FFFC738 ; CODE XREF: sub_1FFFC724+Cj
ROM:1FFFC738 LDR R0, [R5,#0x18]
ROM:1FFFC73A CBZ R0, loc_1FFFC762
ROM:1FFFC73C MOVS R0, #4
ROM:1FFFC73E STRB R0, [R5,#0x10]
ROM:1FFFC740 STRB R0, [R5,#4]
ROM:1FFFC742 LDR R0, [R5,#0x20]
ROM:1FFFC744 LDR R1, [R5,#0x14]
ROM:1FFFC746 CMP R1, #0
ROM:1FFFC748 ITTT EQ
ROM:1FFFC74A LDREQ.W R1, =0x20000250
ROM:1FFFC74E LDREQB R1, [R1]
ROM:1FFFC750 CMPEQ R1, #0x41
ROM:1FFFC752 ITTEE EQ
ROM:1FFFC754 MOVEQ R2, R5
ROM:1FFFC756 MOVEQ R1, #0
ROM:1FFFC758 MOVNE R2, R5
ROM:1FFFC75A MOVNE R1, #1
ROM:1FFFC75C BL sub_1FFFCC84
ROM:1FFFC760 B loc_1FFFC790
ROM:1FFFC762 ; ---------------------------------------------------------------------------
ROM:1FFFC762
ROM:1FFFC762 loc_1FFFC762 ; CODE XREF: sub_1FFFC724+16j
ROM:1FFFC762 MOVS R0, #5
ROM:1FFFC764 B loc_1FFFC786
ROM:1FFFC766 ; ---------------------------------------------------------------------------
ROM:1FFFC766
ROM:1FFFC766 loc_1FFFC766 ; CODE XREF: sub_1FFFC724+10j
ROM:1FFFC766 LDR R0, [R5,#0x1C]
ROM:1FFFC768 CMP R0, #1
ROM:1FFFC76A BNE loc_1FFFC77A
ROM:1FFFC76C MOVS R0, #7
ROM:1FFFC76E STRB R0, [R5,#0x10]
ROM:1FFFC770 STRB R0, [R5,#4]
ROM:1FFFC772 MOVS R0, #1
ROM:1FFFC774 STRB R0, [R5,#1]
ROM:1FFFC776 MOVS R0, #0
ROM:1FFFC778 B loc_1FFFC78E
ROM:1FFFC77A ; ---------------------------------------------------------------------------
ROM:1FFFC77A
ROM:1FFFC77A loc_1FFFC77A ; CODE XREF: sub_1FFFC724+46j
ROM:1FFFC77A CBNZ R0, loc_1FFFC790
ROM:1FFFC77C LDR R0, [R5,#0x24]
ROM:1FFFC77E LDRB R0, [R0,#0x14]
ROM:1FFFC780 LSLS R0, R0, #0x1D
ROM:1FFFC782 BPL loc_1FFFC790
ROM:1FFFC784 MOVS R0, #2
ROM:1FFFC786
ROM:1FFFC786 loc_1FFFC786 ; CODE XREF: sub_1FFFC724+40j
ROM:1FFFC786 STRB R0, [R5,#0x10]
ROM:1FFFC788 STRB R0, [R5,#4]
ROM:1FFFC78A MOVS R0, #0
ROM:1FFFC78C STRB R0, [R5,#1]
ROM:1FFFC78E
ROM:1FFFC78E loc_1FFFC78E ; CODE XREF: sub_1FFFC724+54j
ROM:1FFFC78E STRH R0, [R5,#2]
ROM:1FFFC790
ROM:1FFFC790 loc_1FFFC790 ; CODE XREF: sub_1FFFC724+12j
ROM:1FFFC790 ; sub_1FFFC724+3Cj ...
ROM:1FFFC790 CBNZ R4, loc_1FFFC7A0
ROM:1FFFC792 LDR.W R0, =0x20000C28
ROM:1FFFC796 LDR R0, [R0]
ROM:1FFFC798 MOVS R1, #6
ROM:1FFFC79A STRH R1, [R0,#0x10]
ROM:1FFFC79C MOVS R0, #0
ROM:1FFFC79E POP {R1,R4,R5,PC}
ROM:1FFFC7A0 ; ---------------------------------------------------------------------------
ROM:1FFFC7A0
ROM:1FFFC7A0 loc_1FFFC7A0 ; CODE XREF: sub_1FFFC724:loc_1FFFC790j
ROM:1FFFC7A0 MOV R0, R5
ROM:1FFFC7A2 POP {R1,R4,R5,PC}
ROM:1FFFC7A2 ; End of function sub_1FFFC724
ROM:1FFFC7A2
ROM:1FFFC7A4
ROM:1FFFC7A4 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC7A4
ROM:1FFFC7A4
ROM:1FFFC7A4 sub_1FFFC7A4 ; CODE XREF: sub_1FFFC2EE+116p
ROM:1FFFC7A4 PUSH {R3-R5,LR}
ROM:1FFFC7A6 LDR.W R4, =0x20000138
ROM:1FFFC7AA MOVS R0, #0
ROM:1FFFC7AC STR R0, [R4,#0x1C]
ROM:1FFFC7AE BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC7AE ;
ROM:1FFFC7B2 CMP R0, #1
ROM:1FFFC7B4 BEQ loc_1FFFC7BE
ROM:1FFFC7B6 LDR R0, [R4,#0x24]
ROM:1FFFC7B8 LDRB R0, [R0,#0x14]
ROM:1FFFC7BA LSLS R0, R0, #0x1D
ROM:1FFFC7BC BPL loc_1FFFC7C2
ROM:1FFFC7BE
ROM:1FFFC7BE loc_1FFFC7BE ; CODE XREF: sub_1FFFC7A4+10j
ROM:1FFFC7BE MOVS R0, #6
ROM:1FFFC7C0 B loc_1FFFC7EC
ROM:1FFFC7C2 ; ---------------------------------------------------------------------------
ROM:1FFFC7C2
ROM:1FFFC7C2 loc_1FFFC7C2 ; CODE XREF: sub_1FFFC7A4+18j
ROM:1FFFC7C2 MOVS R0, #8
ROM:1FFFC7C4 STRB R0, [R4,#0x10]
ROM:1FFFC7C6 STRB R0, [R4,#4]
ROM:1FFFC7C8 MOVS R0, #0
ROM:1FFFC7CA STRB R0, [R4,#1]
ROM:1FFFC7CC STRH R0, [R4,#2]
ROM:1FFFC7CE LDR.W R5, =0x20000210
ROM:1FFFC7D2 BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC7D2 ;
ROM:1FFFC7D6 CMP R0, #1
ROM:1FFFC7D8 ITE EQ
ROM:1FFFC7DA MOVEQ.W R0, #0x8000000
ROM:1FFFC7DE LDRNE R0, [R4,#0x20]
ROM:1FFFC7E0 STR R0, [R5]
ROM:1FFFC7E2 LDR.W R0, =0x20000198
ROM:1FFFC7E6 MOVS R1, #0
ROM:1FFFC7E8 STR R1, [R0]
ROM:1FFFC7EA POP {R0,R4,R5,PC}
ROM:1FFFC7EC ; ---------------------------------------------------------------------------
ROM:1FFFC7EC
ROM:1FFFC7EC loc_1FFFC7EC ; CODE XREF: sub_1FFFC2EE+10Cj
ROM:1FFFC7EC ; sub_1FFFC7A4+1Cj
ROM:1FFFC7EC STRB R0, [R4,#0x10]
ROM:1FFFC7EE STRB R0, [R4,#4]
ROM:1FFFC7F0 MOVS R0, #0
ROM:1FFFC7F2 STRB R0, [R4,#1]
ROM:1FFFC7F4 STRH R0, [R4,#2]
ROM:1FFFC7F6 POP {R0,R4,R5,PC}
ROM:1FFFC7F6 ; End of function sub_1FFFC7A4
ROM:1FFFC7F6
ROM:1FFFC7F8
ROM:1FFFC7F8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC7F8
ROM:1FFFC7F8
ROM:1FFFC7F8 sub_1FFFC7F8 ; DATA XREF: ROM:1FFFC4B6o
ROM:1FFFC7F8 PUSH {R4,LR}
ROM:1FFFC7FA LDR R1, =0x20000C0C
ROM:1FFFC7FC LDRB R1, [R1,#3]
ROM:1FFFC7FE LDR R4, =0x20000138
ROM:1FFFC800 CBNZ R0, loc_1FFFC850
ROM:1FFFC802 LDR R0, =0x20000C28
ROM:1FFFC804 LDR R0, [R0]
ROM:1FFFC806 CBZ R1, loc_1FFFC816
ROM:1FFFC808 CMP R1, #1
ROM:1FFFC80A BEQ loc_1FFFC81E
ROM:1FFFC80C CMP R1, #2
ROM:1FFFC80E BEQ loc_1FFFC818
ROM:1FFFC810 CMP R1, #5
ROM:1FFFC812 BEQ loc_1FFFC822
ROM:1FFFC814 B loc_1FFFC81A
ROM:1FFFC816 ; ---------------------------------------------------------------------------
ROM:1FFFC816
ROM:1FFFC816 loc_1FFFC816 ; CODE XREF: sub_1FFFC7F8+Ej
ROM:1FFFC816 MOVS R1, #0xB
ROM:1FFFC818
ROM:1FFFC818 loc_1FFFC818 ; CODE XREF: sub_1FFFC7F8+16j
ROM:1FFFC818 ; sub_1FFFC7F8+28j
ROM:1FFFC818 STRH R1, [R0,#0x10]
ROM:1FFFC81A
ROM:1FFFC81A loc_1FFFC81A ; CODE XREF: sub_1FFFC7F8+1Cj
ROM:1FFFC81A ; sub_1FFFC7F8+3Ej ...
ROM:1FFFC81A MOVS R0, #0
ROM:1FFFC81C POP {R4,PC}
ROM:1FFFC81E ; ---------------------------------------------------------------------------
ROM:1FFFC81E
ROM:1FFFC81E loc_1FFFC81E ; CODE XREF: sub_1FFFC7F8+12j
ROM:1FFFC81E MOVS R1, #3
ROM:1FFFC820 B loc_1FFFC818
ROM:1FFFC822 ; ---------------------------------------------------------------------------
ROM:1FFFC822
ROM:1FFFC822 loc_1FFFC822 ; CODE XREF: sub_1FFFC7F8+1Aj
ROM:1FFFC822 MOVS R1, #9
ROM:1FFFC824 STRH R1, [R0,#0x10]
ROM:1FFFC826 BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC826 ;
ROM:1FFFC82A CMP R0, #1
ROM:1FFFC82C BNE loc_1FFFC838
ROM:1FFFC82E STRB R0, [R4,#9]
ROM:1FFFC830 MOVS R0, #0
ROM:1FFFC832 STRH R0, [R4,#0xA]
ROM:1FFFC834 STRH R0, [R4,#0xC]
ROM:1FFFC836 B loc_1FFFC81A
ROM:1FFFC838 ; ---------------------------------------------------------------------------
ROM:1FFFC838
ROM:1FFFC838 loc_1FFFC838 ; CODE XREF: sub_1FFFC7F8+34j
ROM:1FFFC838 MOVS R0, #0
ROM:1FFFC83A STRB R0, [R4,#9]
ROM:1FFFC83C LDR R0, =0x40022020
ROM:1FFFC83E LDR R0, [R0]
ROM:1FFFC840 STRB R0, [R4,#0xA]
ROM:1FFFC842 LSRS R1, R0, #8
ROM:1FFFC844 STRB R1, [R4,#0xB]
ROM:1FFFC846 LSRS R1, R0, #0x10
ROM:1FFFC848 STRB R1, [R4,#0xC]
ROM:1FFFC84A LSRS R0, R0, #0x18
ROM:1FFFC84C STRB R0, [R4,#0xD]
ROM:1FFFC84E B loc_1FFFC81A
ROM:1FFFC850 ; ---------------------------------------------------------------------------
ROM:1FFFC850
ROM:1FFFC850 loc_1FFFC850 ; CODE XREF: sub_1FFFC7F8+8j
ROM:1FFFC850 CBZ R1, loc_1FFFC860
ROM:1FFFC852 CMP R1, #1
ROM:1FFFC854 BEQ loc_1FFFC864
ROM:1FFFC856 CMP R1, #2
ROM:1FFFC858 BEQ loc_1FFFC868
ROM:1FFFC85A CMP R1, #5
ROM:1FFFC85C BEQ loc_1FFFC86C
ROM:1FFFC85E B loc_1FFFC81A
ROM:1FFFC860 ; ---------------------------------------------------------------------------
ROM:1FFFC860
ROM:1FFFC860 loc_1FFFC860 ; CODE XREF: sub_1FFFC7F8:loc_1FFFC850j
ROM:1FFFC860 LDR R0, =0x20000220
ROM:1FFFC862 POP {R4,PC}
ROM:1FFFC864 ; ---------------------------------------------------------------------------
ROM:1FFFC864
ROM:1FFFC864 loc_1FFFC864 ; CODE XREF: sub_1FFFC7F8+5Cj
ROM:1FFFC864 LDR R0, =0x20000244
ROM:1FFFC866 POP {R4,PC}
ROM:1FFFC868 ; ---------------------------------------------------------------------------
ROM:1FFFC868
ROM:1FFFC868 loc_1FFFC868 ; CODE XREF: sub_1FFFC7F8+60j
ROM:1FFFC868 LDR R0, =0x2000024C
ROM:1FFFC86A POP {R4,PC}
ROM:1FFFC86C ; ---------------------------------------------------------------------------
ROM:1FFFC86C
ROM:1FFFC86C loc_1FFFC86C ; CODE XREF: sub_1FFFC7F8+64j
ROM:1FFFC86C ADD.W R0, R4, #8
ROM:1FFFC870 POP {R4,PC}
ROM:1FFFC870 ; End of function sub_1FFFC7F8
ROM:1FFFC870
ROM:1FFFC870 ; ---------------------------------------------------------------------------
ROM:1FFFC872 ALIGN 4
ROM:1FFFC874
ROM:1FFFC874 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC874
ROM:1FFFC874
ROM:1FFFC874 sub_1FFFC874 ; DATA XREF: ROM:1FFFC4C0o
ROM:1FFFC874 PUSH {R4,LR}
ROM:1FFFC876 LDR R1, =0x20000138
ROM:1FFFC878 LDR R2, =0x20000C0C
ROM:1FFFC87A LDRB R3, [R2,#3]
ROM:1FFFC87C STR R3, [R1,#0x14]
ROM:1FFFC87E LDRB R3, [R2,#7]
ROM:1FFFC880 LDRB R4, [R2,#6]
ROM:1FFFC882 ADD.W R3, R4, R3,LSL#8
ROM:1FFFC886 STR R3, [R1,#0x18]
ROM:1FFFC888 LDRH R2, [R2,#0x12]
ROM:1FFFC88A MOVS R4, #1
ROM:1FFFC88C STRB R4, [R1,#8]
ROM:1FFFC88E CBNZ R0, loc_1FFFC892
ROM:1FFFC890 B loc_1FFFC89A
ROM:1FFFC892 ; ---------------------------------------------------------------------------
ROM:1FFFC892
ROM:1FFFC892 loc_1FFFC892 ; CODE XREF: sub_1FFFC874+1Aj
ROM:1FFFC892 NOP
ROM:1FFFC894
ROM:1FFFC894 loc_1FFFC894 ; CODE XREF: sub_1FFFC6E0:loc_1FFFC70Aj
ROM:1FFFC894 LDR R0, =0x20000250
ROM:1FFFC896 ADDS R0, R2, R0
ROM:1FFFC898 POP {R4,PC}
ROM:1FFFC89A ; ---------------------------------------------------------------------------
ROM:1FFFC89A
ROM:1FFFC89A loc_1FFFC89A ; CODE XREF: sub_1FFFC6E0+28j
ROM:1FFFC89A ; sub_1FFFC874+1Cj
ROM:1FFFC89A SUBS R0, R3, R2
ROM:1FFFC89C LDR R1, =0x20000C28
ROM:1FFFC89E LDR R1, [R1]
ROM:1FFFC8A0 STRH R0, [R1,#0x10]
ROM:1FFFC8A2 MOVS R0, #0
ROM:1FFFC8A4 POP {R4,PC}
ROM:1FFFC8A4 ; End of function sub_1FFFC874
ROM:1FFFC8A4
ROM:1FFFC8A6
ROM:1FFFC8A6 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC8A6
ROM:1FFFC8A6
ROM:1FFFC8A6 sub_1FFFC8A6 ; CODE XREF: sub_1FFFC2EE+130p
ROM:1FFFC8A6 PUSH {R4,LR}
ROM:1FFFC8A8 LDR R0, =0x20000250
ROM:1FFFC8AA LDRB R1, [R0]
ROM:1FFFC8AC LDRB R2, [R0,#1]
ROM:1FFFC8AE ADD.W R1, R1, R2,LSL#8
ROM:1FFFC8B2 LDRB R2, [R0,#2]
ROM:1FFFC8B4 ADD.W R1, R1, R2,LSL#16
ROM:1FFFC8B8 LDRB R0, [R0,#3]
ROM:1FFFC8BA ADD.W R0, R1, R0,LSL#24
ROM:1FFFC8BE LDR R4, =0x20000138
ROM:1FFFC8C0 STR R0, [R4,#0x20]
ROM:1FFFC8C2 BL get_mem_block
ROM:1FFFC8C6 CMP R0, #2
ROM:1FFFC8C8 IT NE
ROM:1FFFC8CA CMPNE R0, #3
ROM:1FFFC8CC BEQ loc_1FFFC8D4
ROM:1FFFC8CE MOVS R0, #0x10
ROM:1FFFC8D0 STRB R0, [R4,#8]
ROM:1FFFC8D2 POP {R4,PC}
ROM:1FFFC8D4 ; ---------------------------------------------------------------------------
ROM:1FFFC8D4
ROM:1FFFC8D4 loc_1FFFC8D4 ; CODE XREF: sub_1FFFC8A6+26j
ROM:1FFFC8D4 LDR R0, [R4,#0x20]
ROM:1FFFC8D6 LDR R1, =0x20000210
ROM:1FFFC8D8 STR R0, [R1]
ROM:1FFFC8DA LDR R0, =0x20000198
ROM:1FFFC8DC MOVS R1, #0
ROM:1FFFC8DE STR R1, [R0]
ROM:1FFFC8E0 POP {R4,PC}
ROM:1FFFC8E0 ; End of function sub_1FFFC8A6
ROM:1FFFC8E0
ROM:1FFFC8E2
ROM:1FFFC8E2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC8E2
ROM:1FFFC8E2
ROM:1FFFC8E2 sub_1FFFC8E2 ; CODE XREF: sub_1FFFC2EE:loc_1FFFC420p
ROM:1FFFC8E2 PUSH {R3-R7,LR}
ROM:1FFFC8E4 LDR R5, =0x20000250
ROM:1FFFC8E6 LDRB R6, [R5]
ROM:1FFFC8E8 LDR R4, =0x20000138
ROM:1FFFC8EA BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC8EA ;
ROM:1FFFC8EE CBNZ R0, loc_1FFFC916
ROM:1FFFC8F0 CMP R6, #0xFF
ROM:1FFFC8F2 BNE loc_1FFFC8FA
ROM:1FFFC8F4 BL sub_1FFFC0C6
ROM:1FFFC8F8 B loc_1FFFC912
ROM:1FFFC8FA ; ---------------------------------------------------------------------------
ROM:1FFFC8FA
ROM:1FFFC8FA loc_1FFFC8FA ; CODE XREF: sub_1FFFC8E2+10j
ROM:1FFFC8FA ADDS R6, R6, #1
ROM:1FFFC8FC MOVS R7, #1
ROM:1FFFC8FE B loc_1FFFC90E
ROM:1FFFC900 ; ---------------------------------------------------------------------------
ROM:1FFFC900
ROM:1FFFC900 loc_1FFFC900 ; CODE XREF: sub_1FFFC8E2+2Ej
ROM:1FFFC900 LDRB R0, [R7,R5]
ROM:1FFFC902 LSLS R0, R0, #0xB
ROM:1FFFC904 ADD.W R0, R0, #0x8000000
ROM:1FFFC908 BL FLASH_ErasePage
ROM:1FFFC90C ADDS R7, R7, #1
ROM:1FFFC90E
ROM:1FFFC90E loc_1FFFC90E ; CODE XREF: sub_1FFFC8E2+1Cj
ROM:1FFFC90E CMP R6, R7
ROM:1FFFC910 BCS loc_1FFFC900
ROM:1FFFC912
ROM:1FFFC912 loc_1FFFC912 ; CODE XREF: sub_1FFFC8E2+16j
ROM:1FFFC912 MOVS R0, #0
ROM:1FFFC914 B loc_1FFFC918
ROM:1FFFC916 ; ---------------------------------------------------------------------------
ROM:1FFFC916
ROM:1FFFC916 loc_1FFFC916 ; CODE XREF: sub_1FFFC8E2+Cj
ROM:1FFFC916 MOVS R0, #0x10
ROM:1FFFC918
ROM:1FFFC918 loc_1FFFC918 ; CODE XREF: sub_1FFFC8E2+32j
ROM:1FFFC918 STRB R0, [R4,#8]
ROM:1FFFC91A POP {R0,R4-R7,PC}
ROM:1FFFC91A ; End of function sub_1FFFC8E2
ROM:1FFFC91A
ROM:1FFFC91C
ROM:1FFFC91C ; =============== S U B R O U T I N E =======================================
ROM:1FFFC91C
ROM:1FFFC91C
ROM:1FFFC91C sub_1FFFC91C ; CODE XREF: sub_1FFFC2EE+142p
ROM:1FFFC91C
ROM:1FFFC91C var_10 = -0x10
ROM:1FFFC91C
ROM:1FFFC91C PUSH {R3-R5,LR}
ROM:1FFFC91E MOVS R0, #0
ROM:1FFFC920 STR R0, [SP,#0x10+var_10]
ROM:1FFFC922 LDR R4, =0x20000250
ROM:1FFFC924 LDRB R5, [R4]
ROM:1FFFC926 BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC926 ;
ROM:1FFFC92A CBNZ R0, loc_1FFFC95C
ROM:1FFFC92C CMP R5, #0x20
ROM:1FFFC92E BCS loc_1FFFC95C
ROM:1FFFC930 STR R0, [SP,#0x10+var_10]
ROM:1FFFC932 ADDS R0, R5, #1
ROM:1FFFC934
ROM:1FFFC934 loc_1FFFC934 ; CODE XREF: sub_1FFFC91C+26j
ROM:1FFFC934 LDR R1, [SP,#0x10+var_10]
ROM:1FFFC936 MOVS R2, #1
ROM:1FFFC938 LDRSB R3, [R0,R4]
ROM:1FFFC93A LSLS R2, R3
ROM:1FFFC93C ORRS R1, R2
ROM:1FFFC93E STR R1, [SP,#0x10+var_10]
ROM:1FFFC940 SUBS R0, R0, #1
ROM:1FFFC942 BNE loc_1FFFC934
ROM:1FFFC944 BL FLASH_UnlockBank1
ROM:1FFFC948 LDR R0, =0x4002200C
ROM:1FFFC94A MOVS R1, #0x35
ROM:1FFFC94C STR R1, [R0]
ROM:1FFFC94E LDR R0, [SP,#0x10+var_10]
ROM:1FFFC950 BL sub_1FFFC0FC
ROM:1FFFC954 POP.W {R0,R4,R5,LR}
ROM:1FFFC958 B.W sys_reset
ROM:1FFFC95C ; ---------------------------------------------------------------------------
ROM:1FFFC95C
ROM:1FFFC95C loc_1FFFC95C ; CODE XREF: sub_1FFFC91C+Ej
ROM:1FFFC95C ; sub_1FFFC91C+12j
ROM:1FFFC95C LDR R0, =0x20000138
ROM:1FFFC95E MOVS R1, #0x10
ROM:1FFFC960 STRB R1, [R0,#8]
ROM:1FFFC962 POP {R0,R4,R5,PC}
ROM:1FFFC962 ; End of function sub_1FFFC91C
ROM:1FFFC962
ROM:1FFFC964
ROM:1FFFC964 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC964
ROM:1FFFC964
ROM:1FFFC964 sub_1FFFC964 ; CODE XREF: ROM:loc_1FFFC59Ap
ROM:1FFFC964 PUSH {R7,LR}
ROM:1FFFC966 BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC966 ;
ROM:1FFFC96A CMP R0, #1
ROM:1FFFC96C BEQ loc_1FFFC976
ROM:1FFFC96E MOVS R0, #0
ROM:1FFFC970 BL sub_1FFFC1AA
ROM:1FFFC974 B loc_1FFFC9A2
ROM:1FFFC976 ; ---------------------------------------------------------------------------
ROM:1FFFC976
ROM:1FFFC976 loc_1FFFC976 ; CODE XREF: sub_1FFFC964+8j
ROM:1FFFC976 B loc_1FFFC98E
ROM:1FFFC976 ; End of function sub_1FFFC964
ROM:1FFFC976
ROM:1FFFC978
ROM:1FFFC978 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC978
ROM:1FFFC978
ROM:1FFFC978 sub_1FFFC978 ; CODE XREF: ROM:loc_1FFFC5A2p
ROM:1FFFC978 PUSH {R7,LR}
ROM:1FFFC97A BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC97A ;
ROM:1FFFC97E CMP R0, #1
ROM:1FFFC980 BEQ loc_1FFFC98E
ROM:1FFFC982 MOVS R0, #1
ROM:1FFFC984 BL sub_1FFFC1AA
ROM:1FFFC988 BL sub_1FFFCC08
ROM:1FFFC98C B loc_1FFFC9A2
ROM:1FFFC98E ; ---------------------------------------------------------------------------
ROM:1FFFC98E
ROM:1FFFC98E loc_1FFFC98E ; CODE XREF: sub_1FFFC964:loc_1FFFC976j
ROM:1FFFC98E ; sub_1FFFC978+8j
ROM:1FFFC98E LDR R0, =0x20000138
ROM:1FFFC990 MOVS R1, #0x10
ROM:1FFFC992 STRB R1, [R0,#8]
ROM:1FFFC994 POP {R0,PC}
ROM:1FFFC994 ; End of function sub_1FFFC978
ROM:1FFFC994
ROM:1FFFC996
ROM:1FFFC996 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC996
ROM:1FFFC996
ROM:1FFFC996 sub_1FFFC996 ; CODE XREF: ROM:loc_1FFFC5A8p
ROM:1FFFC996 PUSH {R7,LR}
ROM:1FFFC998 MOVS R0, #0
ROM:1FFFC99A BL sub_1FFFC1AA
ROM:1FFFC99E BL clear_all_mem
ROM:1FFFC9A2
ROM:1FFFC9A2 loc_1FFFC9A2 ; CODE XREF: sub_1FFFC964+10j
ROM:1FFFC9A2 ; sub_1FFFC978+14j
ROM:1FFFC9A2 POP.W {R0,LR}
ROM:1FFFC9A6 B.W sys_reset
ROM:1FFFC9A6 ; End of function sub_1FFFC996
ROM:1FFFC9A6
ROM:1FFFC9AA
ROM:1FFFC9AA ; =============== S U B R O U T I N E =======================================
ROM:1FFFC9AA
ROM:1FFFC9AA
ROM:1FFFC9AA sub_1FFFC9AA ; CODE XREF: start_work:boot_user_appp
ROM:1FFFC9AA PUSH.W {R3-R11,LR}
ROM:1FFFC9AE MOVW R8, #0xAAA
ROM:1FFFC9B2 LDR R5, =0x20000198 ; 1FFFEB6C
ROM:1FFFC9B4
ROM:1FFFC9B4 loc_1FFFC9B4 ; CODE XREF: sub_1FFFC9AA+Ej
ROM:1FFFC9B4 LDR R0, [R5]
ROM:1FFFC9B6 CMP R0, R8
ROM:1FFFC9B8 BNE loc_1FFFC9B4 ; 死等一个变量变化,肯定启用了中断程序修改此变量
ROM:1FFFC9BA LDR R6, =0x2000022C ; 0x1FFFEC00
ROM:1FFFC9BC LDR.W R9, =0x4FFFFF ; 0x1FFFEC04
ROM:1FFFC9C0 STR.W R9, [R6,#4]
ROM:1FFFC9C4 LDR R4, =0x20000BC8
ROM:1FFFC9C6 B loc_1FFFC9CE
ROM:1FFFC9C8 ; ---------------------------------------------------------------------------
ROM:1FFFC9C8
ROM:1FFFC9C8 loc_1FFFC9C8 ; CODE XREF: sub_1FFFC9AA+2Cj
ROM:1FFFC9C8 LDR R0, [R6,#4]
ROM:1FFFC9CA SUBS R0, R0, #1
ROM:1FFFC9CC STR R0, [R6,#4]
ROM:1FFFC9CE
ROM:1FFFC9CE loc_1FFFC9CE ; CODE XREF: sub_1FFFC9AA+1Cj
ROM:1FFFC9CE LDR R0, [R4]
ROM:1FFFC9D0 CBNZ R0, loc_1FFFC9D8
ROM:1FFFC9D2 LDR R0, [R6,#4]
ROM:1FFFC9D4 CMP R0, #2
ROM:1FFFC9D6 BCS loc_1FFFC9C8
ROM:1FFFC9D8
ROM:1FFFC9D8 loc_1FFFC9D8 ; CODE XREF: sub_1FFFC9AA+26j
ROM:1FFFC9D8 LDR R7, =0x20000C4C
ROM:1FFFC9DA LDR R0, [R6,#4]
ROM:1FFFC9DC CMP R0, #2
ROM:1FFFC9DE BCS loc_1FFFC9EE
ROM:1FFFC9E0
ROM:1FFFC9E0 loc_1FFFC9E0 ; CODE XREF: sub_1FFFC9AA+AEj
ROM:1FFFC9E0 ; sub_1FFFC9AA+B6j
ROM:1FFFC9E0 LDR R0, [R7]
ROM:1FFFC9E2 ADDS R0, R0, #1
ROM:1FFFC9E4 STR R0, [R7]
ROM:1FFFC9E6 B loc_1FFFC9EE
ROM:1FFFC9E8 ; ---------------------------------------------------------------------------
ROM:1FFFC9E8
ROM:1FFFC9E8 loc_1FFFC9E8 ; CODE XREF: sub_1FFFC9AA+B4j
ROM:1FFFC9E8 MOVS R1, #0
ROM:1FFFC9EA STR R1, [R7]
ROM:1FFFC9EC STR R0, [R6]
ROM:1FFFC9EE
ROM:1FFFC9EE loc_1FFFC9EE ; CODE XREF: sub_1FFFC9AA+34j
ROM:1FFFC9EE ; sub_1FFFC9AA+3Cj
ROM:1FFFC9EE LDR R0, [R6]
ROM:1FFFC9F0 LDR.W R10, =0x40003000
ROM:1FFFC9F4 MOVW R11, #0xAAAA
ROM:1FFFC9F8 LDR R1, [R6,#4]
ROM:1FFFC9FA CMP R1, #2
ROM:1FFFC9FC IT CC
ROM:1FFFC9FE CMPCC R0, #2
ROM:1FFFCA00 BCS loc_1FFFCA62
ROM:1FFFCA02 STR.W R11, [R10]
ROM:1FFFCA06 BL clk_cfg
ROM:1FFFCA0A BL sub_1FFFCC08
ROM:1FFFCA0E MOVS R0, #0
ROM:1FFFCA10 STR R0, [R5]
ROM:1FFFCA12 BL enale_usb_trans
ROM:1FFFCA16
ROM:1FFFCA16 loc_1FFFCA16 ; CODE XREF: sub_1FFFC9AA+70j
ROM:1FFFCA16 LDR R0, [R5]
ROM:1FFFCA18 CMP R0, R8
ROM:1FFFCA1A BNE loc_1FFFCA16
ROM:1FFFCA1C LDR R0, [R6]
ROM:1FFFCA1E ADDS R0, R0, #1
ROM:1FFFCA20 LDR R1, [R7]
ROM:1FFFCA22 CBZ R1, loc_1FFFCA2C
ROM:1FFFCA24 CMP R1, #2
ROM:1FFFCA26 BEQ loc_1FFFCA38
ROM:1FFFCA28 BCC loc_1FFFCA32
ROM:1FFFCA2A B loc_1FFFCA3E
ROM:1FFFCA2C ; ---------------------------------------------------------------------------
ROM:1FFFCA2C
ROM:1FFFCA2C loc_1FFFCA2C ; CODE XREF: sub_1FFFC9AA+78j
ROM:1FFFCA2C MUL.W R1, R9, R0
ROM:1FFFCA30 B loc_1FFFCA48
ROM:1FFFCA32 ; ---------------------------------------------------------------------------
ROM:1FFFCA32
ROM:1FFFCA32 loc_1FFFCA32 ; CODE XREF: sub_1FFFC9AA+7Ej
ROM:1FFFCA32 LDR R1, =0x5FFFFF
ROM:1FFFCA34 MULS R1, R0
ROM:1FFFCA36 B loc_1FFFCA48
ROM:1FFFCA38 ; ---------------------------------------------------------------------------
ROM:1FFFCA38
ROM:1FFFCA38 loc_1FFFCA38 ; CODE XREF: sub_1FFFC9AA+7Cj
ROM:1FFFCA38 RSB.W R1, R0, R0,LSL#25
ROM:1FFFCA3C B loc_1FFFCA48
ROM:1FFFCA3E ; ---------------------------------------------------------------------------
ROM:1FFFCA3E
ROM:1FFFCA3E loc_1FFFCA3E ; CODE XREF: sub_1FFFC9AA+80j
ROM:1FFFCA3E RSB.W R1, R0, R0,LSL#24
ROM:1FFFCA42 B loc_1FFFCA48
ROM:1FFFCA44 ; ---------------------------------------------------------------------------
ROM:1FFFCA44
ROM:1FFFCA44 loc_1FFFCA44 ; CODE XREF: sub_1FFFC9AA+A8j
ROM:1FFFCA44 LDR R1, [R6,#4]
ROM:1FFFCA46 SUBS R1, R1, #1
ROM:1FFFCA48
ROM:1FFFCA48 loc_1FFFCA48 ; CODE XREF: sub_1FFFC9AA+86j
ROM:1FFFCA48 ; sub_1FFFC9AA+8Cj ...
ROM:1FFFCA48 STR R1, [R6,#4]
ROM:1FFFCA4A LDR R1, [R4]
ROM:1FFFCA4C CBNZ R1, loc_1FFFCA54
ROM:1FFFCA4E LDR R1, [R6,#4]
ROM:1FFFCA50 CMP R1, #2
ROM:1FFFCA52 BCS loc_1FFFCA44
ROM:1FFFCA54
ROM:1FFFCA54 loc_1FFFCA54 ; CODE XREF: sub_1FFFC9AA+A2j
ROM:1FFFCA54 LDR R1, [R6,#4]
ROM:1FFFCA56 CMP R1, #2
ROM:1FFFCA58 BCS loc_1FFFC9E0
ROM:1FFFCA5A LDR R1, [R7]
ROM:1FFFCA5C CMP R1, #2
ROM:1FFFCA5E BEQ loc_1FFFC9E8
ROM:1FFFCA60 B loc_1FFFC9E0
ROM:1FFFCA62 ; ---------------------------------------------------------------------------
ROM:1FFFCA62
ROM:1FFFCA62 loc_1FFFCA62 ; CODE XREF: sub_1FFFC9AA+56j
ROM:1FFFCA62 CMP R0, #2
ROM:1FFFCA64 IT CS
ROM:1FFFCA66 BLCS sys_reset
ROM:1FFFCA6A LDR R0, [R7]
ROM:1FFFCA6C SUBS R0, R0, #1
ROM:1FFFCA6E STR R0, [R7]
ROM:1FFFCA70 B loc_1FFFCA76
ROM:1FFFCA72 ; ---------------------------------------------------------------------------
ROM:1FFFCA72
ROM:1FFFCA72 loc_1FFFCA72 ; CODE XREF: sub_1FFFC9AA+D0j
ROM:1FFFCA72 STR.W R11, [R10]
ROM:1FFFCA76
ROM:1FFFCA76 loc_1FFFCA76 ; CODE XREF: sub_1FFFC9AA+C6j
ROM:1FFFCA76 LDR R0, [R5]
ROM:1FFFCA78 CMP R0, R8
ROM:1FFFCA7A BEQ loc_1FFFCA72
ROM:1FFFCA7C POP.W {R0,R4-R11,PC}
ROM:1FFFCA7C ; End of function sub_1FFFC9AA
ROM:1FFFCA7C
ROM:1FFFCA80
ROM:1FFFCA80 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCA80
ROM:1FFFCA80
ROM:1FFFCA80 enale_usb_trans ; CODE XREF: sub_1FFFC9AA+68p
ROM:1FFFCA80 ; g_sys_init+ACp
ROM:1FFFCA80 PUSH {R7,LR}
ROM:1FFFCA82 LDR R0, =0x20000138 ; 变量地址0x1FFFEB0C
ROM:1FFFCA84 MOVS R1, #0xA
ROM:1FFFCA86 STRB R1, [R0,#0x10] ; 变量0x1FFFEB1C=0x0A
ROM:1FFFCA88 STRB R1, [R0] ; 变量0x1FFFEB0C=0x0A
ROM:1FFFCA8A STRB R1, [R0,#4] ; 变量0x1FFFEB10=0x0A
ROM:1FFFCA8C MOVS R1, #0
ROM:1FFFCA8E STRB R1, [R0,#8] ; 变量0x1FFFEB14=0x00
ROM:1FFFCA90 BL clk_cfg_0
ROM:1FFFCA94 BL trigger_usb_start
ROM:1FFFCA98 POP.W {R0,LR}
ROM:1FFFCA9C B.W return_0
ROM:1FFFCA9C ; End of function enale_usb_trans
ROM:1FFFCA9C
ROM:1FFFCAA0
ROM:1FFFCAA0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCAA0
ROM:1FFFCAA0
ROM:1FFFCAA0 sub_1FFFCAA0 ; CODE XREF: start_work+28p
ROM:1FFFCAA0 ; g_sys_init+122p ...
ROM:1FFFCAA0
ROM:1FFFCAA0 var_8 = -8
ROM:1FFFCAA0
ROM:1FFFCAA0 PUSH {R7,LR}
ROM:1FFFCAA2 MOVS R0, #0
ROM:1FFFCAA4 STR R0, [SP,#8+var_8]
ROM:1FFFCAA6 MOVS R0, #0x10
ROM:1FFFCAA8 BL sub_1FFFD648
ROM:1FFFCAAC BL sub_1FFFD672
ROM:1FFFCAB0 BL sub_1FFFD5DE
ROM:1FFFCAB4 BL sub_1FFFD6AC
ROM:1FFFCAB8 LDR R0, =0x40021014
ROM:1FFFCABA LDR R1, [R0]
ROM:1FFFCABC BIC.W R1, R1, #0x1000
ROM:1FFFCAC0 STR R1, [R0]
ROM:1FFFCAC2 LDR R0, =0xE000E180
ROM:1FFFCAC4 MOV.W R1, #0xFFFFFFFF
ROM:1FFFCAC8 STR R1, [R0]
ROM:1FFFCACA STR R1, [R0,#4]
ROM:1FFFCACC MOVS R2, #0xF
ROM:1FFFCACE STR R2, [R0,#8] ; 禁止中断
ROM:1FFFCAD0 LDR R0, =0xE000E280
ROM:1FFFCAD2 STR R1, [R0]
ROM:1FFFCAD4 STR R1, [R0,#4]
ROM:1FFFCAD6 STR R2, [R0,#8]
ROM:1FFFCAD8 MOVS R0, #0
ROM:1FFFCADA STR R0, [SP,#8+var_8] ; 重装中断向量表吗?
ROM:1FFFCADC LDR R1, =0xE000E400
ROM:1FFFCADE MOVS R2, #0
ROM:1FFFCAE0 B loc_1FFFCAEE
ROM:1FFFCAE2 ; ---------------------------------------------------------------------------
ROM:1FFFCAE2
ROM:1FFFCAE2 loc_1FFFCAE2 ; CODE XREF: sub_1FFFCAA0+52j
ROM:1FFFCAE2 LDR R0, [SP,#8+var_8]
ROM:1FFFCAE4 STR.W R2, [R1,R0,LSL#2]
ROM:1FFFCAE8 LDR R0, [SP,#8+var_8]
ROM:1FFFCAEA ADDS R0, R0, #1
ROM:1FFFCAEC STR R0, [SP,#8+var_8]
ROM:1FFFCAEE
ROM:1FFFCAEE loc_1FFFCAEE ; CODE XREF: sub_1FFFCAA0+40j
ROM:1FFFCAEE LDR R0, [SP,#8+var_8]
ROM:1FFFCAF0 CMP R0, #0x11
ROM:1FFFCAF2 BCC loc_1FFFCAE2
ROM:1FFFCAF4 POP {R0,PC}
ROM:1FFFCAF4 ; End of function sub_1FFFCAA0
ROM:1FFFCAF4
ROM:1FFFCAF4 ; ---------------------------------------------------------------------------
ROM:1FFFCAF6 ALIGN 4
ROM:1FFFCAF8 dword_1FFFCAF8 DCD 0x20000C0C ; DATA XREF: usb_monitor_en+2r
ROM:1FFFCAF8 ; sub_1FFFC2B0r ...
ROM:1FFFCAFC dword_1FFFCAFC DCD 0x20000C64 ; DATA XREF: usb_monitor_en+16r
ROM:1FFFCAFC ; sub_1FFFC2B0+16r ...
ROM:1FFFCB00 dword_1FFFCB00 DCD 0x20000C28 ; DATA XREF: sub_1FFFC2B0+8r
ROM:1FFFCB00 ; ROM:1FFFC454r ...
ROM:1FFFCB04 dword_1FFFCB04 DCD 0x200001AC ; DATA XREF: sub_1FFFC2B0+Er
ROM:1FFFCB08 dword_1FFFCB08 DCD 0x20000138 ; DATA XREF: sub_1FFFC2EE+2r
ROM:1FFFCB08 ; ROM:1FFFC45Cr ...
ROM:1FFFCB0C dword_1FFFCB0C DCD 0x20000250 ; DATA XREF: sub_1FFFC2EE+20r
ROM:1FFFCB0C ; sub_1FFFC600+46r ...
ROM:1FFFCB10 dword_1FFFCB10 DCD 0x20000234 ; DATA XREF: ROM:1FFFC5B4r
ROM:1FFFCB14 dword_1FFFCB14 DCD 0x2000015C ; DATA XREF: ROM:1FFFC5BCr
ROM:1FFFCB18 dword_1FFFCB18 DCD 0x200000D4 ; DATA XREF: ROM:1FFFC5CCr
ROM:1FFFCB1C dword_1FFFCB1C DCD 0x20000148 ; DATA XREF: sub_1FFFC70C:loc_1FFFC71Cr
ROM:1FFFCB20 dword_1FFFCB20 DCD 0x20000210 ; DATA XREF: sub_1FFFC7A4+2Ar
ROM:1FFFCB20 ; sub_1FFFC8A6+30r
ROM:1FFFCB24 dword_1FFFCB24 DCD 0x20000198 ; DATA XREF: sub_1FFFC7A4+3Er
ROM:1FFFCB24 ; sub_1FFFC8A6+34r ...
ROM:1FFFCB28 dword_1FFFCB28 DCD 0x40022020 ; DATA XREF: sub_1FFFC7F8+44r
ROM:1FFFCB2C dword_1FFFCB2C DCD 0x20000220 ; DATA XREF: sub_1FFFC7F8:loc_1FFFC860r
ROM:1FFFCB30 dword_1FFFCB30 DCD 0x20000244 ; DATA XREF: sub_1FFFC7F8:loc_1FFFC864r
ROM:1FFFCB34 dword_1FFFCB34 DCD 0x2000024C ; DATA XREF: sub_1FFFC7F8:loc_1FFFC868r
ROM:1FFFCB38 dword_1FFFCB38 DCD 0x4002200C ; DATA XREF: sub_1FFFC91C+2Cr
ROM:1FFFCB3C dword_1FFFCB3C DCD 0x2000022C ; DATA XREF: sub_1FFFC9AA+10r
ROM:1FFFCB40 dword_1FFFCB40 DCD 0x4FFFFF ; DATA XREF: sub_1FFFC9AA+12r
ROM:1FFFCB44 dword_1FFFCB44 DCD 0x20000BC8 ; DATA XREF: sub_1FFFC9AA+1Ar
ROM:1FFFCB48 dword_1FFFCB48 DCD 0x20000C4C ; DATA XREF: sub_1FFFC9AA:loc_1FFFC9D8r
ROM:1FFFCB4C dword_1FFFCB4C DCD 0x40003000 ; DATA XREF: sub_1FFFC9AA+46r
ROM:1FFFCB50 dword_1FFFCB50 DCD 0x5FFFFF ; DATA XREF: sub_1FFFC9AA:loc_1FFFCA32r
ROM:1FFFCB54 dword_1FFFCB54 DCD 0x40021014 ; DATA XREF: sub_1FFFCAA0+18r
ROM:1FFFCB58 dword_1FFFCB58 DCD 0xE000E180 ; DATA XREF: sub_1FFFCAA0+22r
ROM:1FFFCB5C dword_1FFFCB5C DCD 0xE000E280 ; DATA XREF: sub_1FFFCAA0+30r
ROM:1FFFCB60 dword_1FFFCB60 DCD 0xE000E400 ; DATA XREF: sub_1FFFCAA0+3Cr
ROM:1FFFCB64
ROM:1FFFCB64 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCB64
ROM:1FFFCB64
ROM:1FFFCB64 return_0_0 ; CODE XREF: usb_monitor_en+Ap
ROM:1FFFCB64 MOVS R0, #0
ROM:1FFFCB66 BX LR
ROM:1FFFCB66 ; End of function return_0_0
ROM:1FFFCB66
ROM:1FFFCB68
ROM:1FFFCB68 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCB68
ROM:1FFFCB68
ROM:1FFFCB68 usb_chuli ; CODE XREF: usb_monitor_en+Ep
ROM:1FFFCB68
ROM:1FFFCB68 var_10 = -0x10
ROM:1FFFCB68
ROM:1FFFCB68 PUSH {LR}
ROM:1FFFCB6A SUB SP, SP, #0xC
ROM:1FFFCB6C MOV.W R0, #0x50000000 ; usb otg fs
ROM:1FFFCB70 BL USB_OTG_SelectCore
ROM:1FFFCB74 BL sub_1FFFD636
ROM:1FFFCB78 BL sub_1FFFD5B0
ROM:1FFFCB7C BL sub_1FFFD6E2
ROM:1FFFCB80 BL sub_1FFFDB52
ROM:1FFFCB84 MOVS R0, #0x80
ROM:1FFFCB86 STRB.W R0, [SP,#0x10+var_10+2]
ROM:1FFFCB8A MOVS R0, #0x40
ROM:1FFFCB8C STRH.W R0, [SP,#0x10+var_10+4]
ROM:1FFFCB90 MOVS R0, #0
ROM:1FFFCB92 STRB.W R0, [SP,#0x10+var_10+3]
ROM:1FFFCB96 ADD R0, SP, #0x10+var_10
ROM:1FFFCB98 BL sub_1FFFDBB4
ROM:1FFFCB9C MOVS R0, #0
ROM:1FFFCB9E STRB.W R0, [SP,#0x10+var_10+2]
ROM:1FFFCBA2 ADD R0, SP, #0x10+var_10
ROM:1FFFCBA4 BL sub_1FFFDBB4
ROM:1FFFCBA8 BL sub_1FFFDCDC
ROM:1FFFCBAC BL sub_1FFFD628
ROM:1FFFCBB0 POP {R0-R2,PC}
ROM:1FFFCBB0 ; End of function usb_chuli
ROM:1FFFCBB0
ROM:1FFFCBB2
ROM:1FFFCBB2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCBB2
ROM:1FFFCBB2
ROM:1FFFCBB2 sub_1FFFCBB2 ; CODE XREF: sub_1FFFCE28+66p
ROM:1FFFCBB2 ; sub_1FFFCEB0+34p ...
ROM:1FFFCBB2 PUSH {R7,LR}
ROM:1FFFCBB4 AND.W R0, R0, #0x7F
ROM:1FFFCBB8 BL sub_1FFFDC7A
ROM:1FFFCBBC B loc_1FFFCBC8
ROM:1FFFCBBC ; End of function sub_1FFFCBB2
ROM:1FFFCBBC
ROM:1FFFCBBE
ROM:1FFFCBBE ; =============== S U B R O U T I N E =======================================
ROM:1FFFCBBE
ROM:1FFFCBBE
ROM:1FFFCBBE sub_1FFFCBBE ; CODE XREF: sub_1FFFCE28:loc_1FFFCE9Ep
ROM:1FFFCBBE ; sub_1FFFCEB0:loc_1FFFCEEAp ...
ROM:1FFFCBBE PUSH {R7,LR}
ROM:1FFFCBC0 AND.W R0, R0, #0x7F
ROM:1FFFCBC4 BL sub_1FFFDCA2
ROM:1FFFCBC8
ROM:1FFFCBC8 loc_1FFFCBC8 ; CODE XREF: sub_1FFFCBB2+Aj
ROM:1FFFCBC8 POP.W {R1,LR}
ROM:1FFFCBCC B.W sub_1FFFDA86
ROM:1FFFCBCC ; End of function sub_1FFFCBBE
ROM:1FFFCBCC
ROM:1FFFCBD0
ROM:1FFFCBD0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCBD0
ROM:1FFFCBD0
ROM:1FFFCBD0 sub_1FFFCBD0 ; CODE XREF: sub_1FFFCC0Cj
ROM:1FFFCBD0 ; sub_1FFFCF5A+46p ...
ROM:1FFFCBD0 PUSH {R3-R5,LR}
ROM:1FFFCBD2 MOV R4, R0
ROM:1FFFCBD4 MOV R5, R1
ROM:1FFFCBD6 AND.W R0, R4, #0x7F
ROM:1FFFCBDA BL sub_1FFFDC7A
ROM:1FFFCBDE CMP R4, #0x80
ROM:1FFFCBE0 ITTT EQ
ROM:1FFFCBE2 CMPEQ R5, #0x10
ROM:1FFFCBE4 MOVEQ R1, #1
ROM:1FFFCBE6 STREQB R1, [R0,#1]
ROM:1FFFCBE8 MOV R1, R5
ROM:1FFFCBEA POP.W {R2,R4,R5,LR}
ROM:1FFFCBEE B.W sub_1FFFDAB8
ROM:1FFFCBEE ; End of function sub_1FFFCBD0
ROM:1FFFCBEE
ROM:1FFFCBF2
ROM:1FFFCBF2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCBF2
ROM:1FFFCBF2
ROM:1FFFCBF2 sub_1FFFCBF2 ; CODE XREF: sub_1FFFCEB0:loc_1FFFCF46p
ROM:1FFFCBF2 ; sub_1FFFCF5A+52p ...
ROM:1FFFCBF2 PUSH {R4,LR}
ROM:1FFFCBF4 MOV R4, R1
ROM:1FFFCBF6 AND.W R0, R0, #0x7F
ROM:1FFFCBFA BL sub_1FFFDCA2
ROM:1FFFCBFE MOV R1, R4
ROM:1FFFCC00 POP.W {R4,LR}
ROM:1FFFCC04 B.W sub_1FFFDAB8
ROM:1FFFCC04 ; End of function sub_1FFFCBF2
ROM:1FFFCC04
ROM:1FFFCC08
ROM:1FFFCC08 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCC08
ROM:1FFFCC08 ; Attributes: thunk
ROM:1FFFCC08
ROM:1FFFCC08 sub_1FFFCC08 ; CODE XREF: sub_1FFFC978+10p
ROM:1FFFCC08 ; sub_1FFFC9AA+60p
ROM:1FFFCC08 B.W sub_1FFFDCCA
ROM:1FFFCC08 ; End of function sub_1FFFCC08
ROM:1FFFCC08
ROM:1FFFCC0C
ROM:1FFFCC0C ; =============== S U B R O U T I N E =======================================
ROM:1FFFCC0C
ROM:1FFFCC0C ; Attributes: thunk
ROM:1FFFCC0C
ROM:1FFFCC0C sub_1FFFCC0C ; CODE XREF: sub_1FFFCEB0+68p
ROM:1FFFCC0C B sub_1FFFCBD0
ROM:1FFFCC0C ; End of function sub_1FFFCC0C
ROM:1FFFCC0C
ROM:1FFFCC0E
ROM:1FFFCC0E ; =============== S U B R O U T I N E =======================================
ROM:1FFFCC0E
ROM:1FFFCC0E
ROM:1FFFCC0E nullsub_2 ; CODE XREF: sub_1FFFCFF2+50p
ROM:1FFFCC0E ; sub_1FFFD06E+6Ep
ROM:1FFFCC0E BX LR
ROM:1FFFCC0E ; End of function nullsub_2
ROM:1FFFCC0E
ROM:1FFFCC10
ROM:1FFFCC10 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCC10
ROM:1FFFCC10
ROM:1FFFCC10 nullsub_1 ; CODE XREF: sub_1FFFCEB0+86p
ROM:1FFFCC10 ; sub_1FFFD438+Ap
ROM:1FFFCC10 BX LR
ROM:1FFFCC10 ; End of function nullsub_1
ROM:1FFFCC10
ROM:1FFFCC12
ROM:1FFFCC12 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCC12
ROM:1FFFCC12
ROM:1FFFCC12 sub_1FFFCC12 ; CODE XREF: sub_1FFFD356+2Cp
ROM:1FFFCC12 ; sub_1FFFD356+38p
ROM:1FFFCC12 LSLS R1, R0, #0x18
ROM:1FFFCC14 LSRS R1, R1, #0x10
ROM:1FFFCC16 ORR.W R0, R1, R0,LSR#8
ROM:1FFFCC1A BX LR
ROM:1FFFCC1A ; End of function sub_1FFFCC12
ROM:1FFFCC1A
ROM:1FFFCC1C
ROM:1FFFCC1C ; =============== S U B R O U T I N E =======================================
ROM:1FFFCC1C
ROM:1FFFCC1C
ROM:1FFFCC1C return_0 ; CODE XREF: enale_usb_trans+1Cp
ROM:1FFFCC1C MOVS R0, #0
ROM:1FFFCC1E BX LR
ROM:1FFFCC1E ; End of function return_0
ROM:1FFFCC1E
ROM:1FFFCC20
ROM:1FFFCC20 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCC20
ROM:1FFFCC20
ROM:1FFFCC20 sub_1FFFCC20 ; CODE XREF: sub_1FFFC2EE+88p
ROM:1FFFCC20 AND.W R1, R0, #0xFC000000
ROM:1FFFCC24 CMP.W R1, #0x8000000
ROM:1FFFCC28 BNE loc_1FFFCC34
ROM:1FFFCC2A LDR R1, =0x20000C50
ROM:1FFFCC2C LDR R2, =(FLASH_ErasePage_0+1)
ROM:1FFFCC2E STR R2, [R1]
ROM:1FFFCC30 B.W FLASH_ErasePage_0
ROM:1FFFCC34 ; ---------------------------------------------------------------------------
ROM:1FFFCC34
ROM:1FFFCC34 loc_1FFFCC34 ; CODE XREF: sub_1FFFCC20+8j
ROM:1FFFCC34 MOVS R0, #1
ROM:1FFFCC36 BX LR
ROM:1FFFCC36 ; End of function sub_1FFFCC20
ROM:1FFFCC36
ROM:1FFFCC38
ROM:1FFFCC38 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCC38
ROM:1FFFCC38
ROM:1FFFCC38 sub_1FFFCC38 ; CODE XREF: sub_1FFFC2EE+100p
ROM:1FFFCC38
ROM:1FFFCC38 var_10 = -0x10
ROM:1FFFCC38
ROM:1FFFCC38 PUSH {R3-R5,LR}
ROM:1FFFCC3A MOV R4, R0
ROM:1FFFCC3C MOV R5, R1
ROM:1FFFCC3E BL get_mem_block
ROM:1FFFCC42 STRB.W R0, [SP,#0x10+var_10]
ROM:1FFFCC46 LDRB.W R0, [SP,#0x10+var_10]
ROM:1FFFCC4A CMP R0, #2
ROM:1FFFCC4C BEQ loc_1FFFCC58
ROM:1FFFCC4E BCC loc_1FFFCC76
ROM:1FFFCC50 CMP R0, #4
ROM:1FFFCC52 BEQ loc_1FFFCC70
ROM:1FFFCC54 BCC loc_1FFFCC6A
ROM:1FFFCC56 B loc_1FFFCC76
ROM:1FFFCC58 ; ---------------------------------------------------------------------------
ROM:1FFFCC58
ROM:1FFFCC58 loc_1FFFCC58 ; CODE XREF: sub_1FFFCC38+14j
ROM:1FFFCC58 LDR R0, =(sub_1FFFDCFE+1)
ROM:1FFFCC5A
ROM:1FFFCC5A loc_1FFFCC5A ; CODE XREF: sub_1FFFCC38+36j
ROM:1FFFCC5A ; sub_1FFFCC38+3Cj
ROM:1FFFCC5A LDR R2, =0x20000C54
ROM:1FFFCC5C STR R0, [R2]
ROM:1FFFCC5E MOV R1, R5
ROM:1FFFCC60 MOV R0, R4
ROM:1FFFCC62 LDR R2, [R2]
ROM:1FFFCC64 POP.W {R3-R5,LR}
ROM:1FFFCC68 BX R2
ROM:1FFFCC6A ; ---------------------------------------------------------------------------
ROM:1FFFCC6A
ROM:1FFFCC6A loc_1FFFCC6A ; CODE XREF: sub_1FFFCC38+1Cj
ROM:1FFFCC6A ADR.W R0, (sub_1FFFCCA8+1)
ROM:1FFFCC6E B loc_1FFFCC5A
ROM:1FFFCC70 ; ---------------------------------------------------------------------------
ROM:1FFFCC70
ROM:1FFFCC70 loc_1FFFCC70 ; CODE XREF: sub_1FFFCC38+1Aj
ROM:1FFFCC70 ADR.W R0, (sub_1FFFCCE0+1)
ROM:1FFFCC74 B loc_1FFFCC5A
ROM:1FFFCC76 ; ---------------------------------------------------------------------------
ROM:1FFFCC76
ROM:1FFFCC76 loc_1FFFCC76 ; CODE XREF: sub_1FFFCC38+16j
ROM:1FFFCC76 ; sub_1FFFCC38+1Ej
ROM:1FFFCC76 MOVS R0, #1
ROM:1FFFCC78 POP {R1,R4,R5,PC}
ROM:1FFFCC78 ; End of function sub_1FFFCC38
ROM:1FFFCC78
ROM:1FFFCC7A
ROM:1FFFCC7A ; =============== S U B R O U T I N E =======================================
ROM:1FFFCC7A
ROM:1FFFCC7A
ROM:1FFFCC7A sub_1FFFCC7A ; CODE XREF: sub_1FFFC600+A2p
ROM:1FFFCC7A
ROM:1FFFCC7A ; FUNCTION CHUNK AT ROM:1FFFDD40 SIZE 00000002 BYTES
ROM:1FFFCC7A
ROM:1FFFCC7A LDR R2, =0x20000C58
ROM:1FFFCC7C LDR R3, =(locret_1FFFDD40+1)
ROM:1FFFCC7E STR R3, [R2]
ROM:1FFFCC80 B.W locret_1FFFDD40
ROM:1FFFCC80 ; End of function sub_1FFFCC7A
ROM:1FFFCC80
ROM:1FFFCC84
ROM:1FFFCC84 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCC84
ROM:1FFFCC84
ROM:1FFFCC84 sub_1FFFCC84 ; CODE XREF: sub_1FFFC724+38p
ROM:1FFFCC84 LSRS R0, R0, #0x1A
ROM:1FFFCC86 AND.W R0, R0, #3
ROM:1FFFCC8A AND.W R1, R1, #1
ROM:1FFFCC8E ADR.W R3, loc_1FFFCD64
ROM:1FFFCC92 ADD.W R0, R3, R0,LSL#2
ROM:1FFFCC96 LDRH.W R0, [R0,R1,LSL#1]
ROM:1FFFCC9A STRB R0, [R2,#1]
ROM:1FFFCC9C LSRS R0, R0, #8
ROM:1FFFCC9E STRB R0, [R2,#2]
ROM:1FFFCCA0 MOVS R0, #0
ROM:1FFFCCA2 STRB R0, [R2,#3]
ROM:1FFFCCA4 BX LR
ROM:1FFFCCA4 ; End of function sub_1FFFCC84
ROM:1FFFCCA4
ROM:1FFFCCA4 ; ---------------------------------------------------------------------------
ROM:1FFFCCA6 ALIGN 4
ROM:1FFFCCA8
ROM:1FFFCCA8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCCA8
ROM:1FFFCCA8
ROM:1FFFCCA8 sub_1FFFCCA8 ; DATA XREF: sub_1FFFCC38:loc_1FFFCC6Ao
ROM:1FFFCCA8 PUSH {R4-R6,LR}
ROM:1FFFCCAA MOV R4, R0
ROM:1FFFCCAC MOV R5, R1
ROM:1FFFCCAE LDR R6, =0x20000250
ROM:1FFFCCB0 ANDS.W R0, R5, #3
ROM:1FFFCCB4 BEQ loc_1FFFCCCC
ROM:1FFFCCB6 MOVW R0, #0xFFFC
ROM:1FFFCCBA ANDS R0, R5
ROM:1FFFCCBC ADDS R0, R0, #4
ROM:1FFFCCBE CMP R5, R0
ROM:1FFFCCC0 BCS loc_1FFFCCCC
ROM:1FFFCCC2 MOVS R2, #0xFF
ROM:1FFFCCC4 SUBS R1, R0, R5
ROM:1FFFCCC6 ADDS R0, R5, R6
ROM:1FFFCCC8 BL sub_1FFFDD44
ROM:1FFFCCCC
ROM:1FFFCCCC loc_1FFFCCCC ; CODE XREF: sub_1FFFCCA8+Cj
ROM:1FFFCCCC ; sub_1FFFCCA8+18j
ROM:1FFFCCCC MOVS R0, #0
ROM:1FFFCCCE B loc_1FFFCCD8
ROM:1FFFCCD0 ; ---------------------------------------------------------------------------
ROM:1FFFCCD0
ROM:1FFFCCD0 loc_1FFFCCD0 ; CODE XREF: sub_1FFFCCA8+32j
ROM:1FFFCCD0 LDR R1, [R0,R6]
ROM:1FFFCCD2 STR.W R1, [R4],#4
ROM:1FFFCCD6 ADDS R0, R0, #4
ROM:1FFFCCD8
ROM:1FFFCCD8 loc_1FFFCCD8 ; CODE XREF: sub_1FFFCCA8+26j
ROM:1FFFCCD8 CMP R0, R5
ROM:1FFFCCDA BCC loc_1FFFCCD0
ROM:1FFFCCDC MOVS R0, #0
ROM:1FFFCCDE POP {R4-R6,PC}
ROM:1FFFCCDE ; End of function sub_1FFFCCA8
ROM:1FFFCCDE
ROM:1FFFCCE0
ROM:1FFFCCE0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCCE0
ROM:1FFFCCE0
ROM:1FFFCCE0 sub_1FFFCCE0 ; DATA XREF: sub_1FFFCC38:loc_1FFFCC70o
ROM:1FFFCCE0 PUSH.W {R4-R8,LR}
ROM:1FFFCCE4 MOV R5, R1
ROM:1FFFCCE6 LDR R4, =0x1FFFF800
ROM:1FFFCCE8 CMP R0, R4
ROM:1FFFCCEA BNE loc_1FFFCD3A
ROM:1FFFCCEC LSLS R0, R5, #0x1F
ROM:1FFFCCEE ITT MI
ROM:1FFFCCF0 ANDMI.W R0, R5, #0xFE
ROM:1FFFCCF4 ADDMI R5, R0, #2
ROM:1FFFCCF6 BL sub_1FFFC046
ROM:1FFFCCFA BL FLASH_UnlockBank1
ROM:1FFFCCFE BL sub_1FFFC010
ROM:1FFFCD02 LDR R6, =0x40022010
ROM:1FFFCD04 LDR R0, [R6]
ROM:1FFFCD06 ORR.W R0, R0, #0x10
ROM:1FFFCD0A STR R0, [R6]
ROM:1FFFCD0C BL FLASH_WaitForLastOperation
ROM:1FFFCD10 ; ---------------------------------------------------------------------------
ROM:1FFFCD10 MOVS R7, R5
ROM:1FFFCD12 LDR.W R8, =0x20000250
ROM:1FFFCD16 B loc_1FFFCD2C
ROM:1FFFCD18 ; ---------------------------------------------------------------------------
ROM:1FFFCD18
ROM:1FFFCD18 loc_1FFFCD18 ; CODE XREF: sub_1FFFCCE0:loc_1FFFCD2Cj
ROM:1FFFCD18 NEGS R0, R7
ROM:1FFFCD1A ADD.W R1, R5, R8
ROM:1FFFCD1E LDRH R0, [R0,R1]
ROM:1FFFCD20 UXTB R0, R0
ROM:1FFFCD22 SUBS R1, R4, R7
ROM:1FFFCD24 STRH R0, [R5,R1]
ROM:1FFFCD26 BL FLASH_WaitForLastOperation
ROM:1FFFCD2A ; ---------------------------------------------------------------------------
ROM:1FFFCD2A SUBS R7, R7, #2
ROM:1FFFCD2C
ROM:1FFFCD2C loc_1FFFCD2C ; CODE XREF: sub_1FFFCCE0+36j
ROM:1FFFCD2C BNE loc_1FFFCD18
ROM:1FFFCD2E LDR R0, [R6]
ROM:1FFFCD30 BIC.W R0, R0, #0x10
ROM:1FFFCD34 STR R0, [R6]
ROM:1FFFCD36 BL sys_reset
ROM:1FFFCD3A
ROM:1FFFCD3A loc_1FFFCD3A ; CODE XREF: sub_1FFFCCE0+Aj
ROM:1FFFCD3A MOVS R0, #1
ROM:1FFFCD3C POP.W {R4-R8,PC}
ROM:1FFFCD3C ; End of function sub_1FFFCCE0
ROM:1FFFCD3C
ROM:1FFFCD3C ; ---------------------------------------------------------------------------
ROM:1FFFCD40 dword_1FFFCD40 DCD 0x20000C50 ; DATA XREF: sub_1FFFCC20+Ar
ROM:1FFFCD44 off_1FFFCD44 DCD FLASH_ErasePage_0+1 ; DATA XREF: sub_1FFFCC20+Cr
ROM:1FFFCD48 off_1FFFCD48 DCD sub_1FFFDCFE+1 ; DATA XREF: sub_1FFFCC38:loc_1FFFCC58r
ROM:1FFFCD4C dword_1FFFCD4C DCD 0x20000C54 ; DATA XREF: sub_1FFFCC38:loc_1FFFCC5Ar
ROM:1FFFCD50 dword_1FFFCD50 DCD 0x20000C58 ; DATA XREF: sub_1FFFCC7Ar
ROM:1FFFCD54 off_1FFFCD54 DCD locret_1FFFDD40+1 ; DATA XREF: sub_1FFFCC7A+2r
ROM:1FFFCD58 dword_1FFFCD58 DCD 0x20000250 ; DATA XREF: sub_1FFFCCA8+6r
ROM:1FFFCD58 ; sub_1FFFCCE0+32r
ROM:1FFFCD5C dword_1FFFCD5C DCD 0x1FFFF800 ; DATA XREF: sub_1FFFCCE0+6r
ROM:1FFFCD60 dword_1FFFCD60 DCD 0x40022010 ; DATA XREF: sub_1FFFCCE0+22r
ROM:1FFFCD64 ; ---------------------------------------------------------------------------
ROM:1FFFCD64
ROM:1FFFCD64 loc_1FFFCD64 ; DATA XREF: sub_1FFFCC84+Ao
ROM:1FFFCD64 LSRS R0, R7, #0xE
ROM:1FFFCD66 MOVS R4, R2
ROM:1FFFCD68 LSLS R0, R5, #0xF
ROM:1FFFCD6A MOVS R1, R3
ROM:1FFFCD6C MOVS R2, R6
ROM:1FFFCD6E LSLS R3, R1, #1
ROM:1FFFCD70 LSLS R0, R5, #0xF
ROM:1FFFCD72 MOVS R1, R3
ROM:1FFFCD74 LSLS R0, R5, #0xF
ROM:1FFFCD76 MOVS R5, R5
ROM:1FFFCD78 PUSH {R4,LR}
ROM:1FFFCD7A LDR.W R4, =0x20000C28
ROM:1FFFCD7E CBNZ R0, loc_1FFFCD82
ROM:1FFFCD80 B loc_1FFFCDDA
ROM:1FFFCD82 ; ---------------------------------------------------------------------------
ROM:1FFFCD82
ROM:1FFFCD82 loc_1FFFCD82 ; CODE XREF: ROM:1FFFCD7Ej
ROM:1FFFCD82 BL sub_1FFFCEA8
ROM:1FFFCD86 LDR R0, [R0]
ROM:1FFFCD88 BLX R0
ROM:1FFFCD8A LDR R0, [R4]
ROM:1FFFCD8C ADDS R0, #0xA
ROM:1FFFCD8E POP {R4,PC}
ROM:1FFFCD90
ROM:1FFFCD90 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCD90
ROM:1FFFCD90
ROM:1FFFCD90 sub_1FFFCD90 ; CODE XREF: sub_1FFFD10E+16p
ROM:1FFFCD90 PUSH {R7,LR}
ROM:1FFFCD92 LDR.W R0, =0x20000C28
ROM:1FFFCD96 LDR R0, [R0]
ROM:1FFFCD98 LDRB R1, [R0,#3]
ROM:1FFFCD9A LDR.W R2, =0x20000248
ROM:1FFFCD9E LDRB R2, [R2,#1]
ROM:1FFFCDA0 CMP R2, R1
ROM:1FFFCDA2 BCC loc_1FFFCDBE
ROM:1FFFCDA4 LDRB R2, [R0,#2]
ROM:1FFFCDA6 CMP R2, #0
ROM:1FFFCDA8 ITT EQ
ROM:1FFFCDAA LDREQH R2, [R0,#4]
ROM:1FFFCDAC CMPEQ R2, #0
ROM:1FFFCDAE BNE loc_1FFFCDBE
ROM:1FFFCDB0 STRB R1, [R0,#0xA]
ROM:1FFFCDB2 BL sub_1FFFCEA8
ROM:1FFFCDB6 LDR R0, [R0,#4]
ROM:1FFFCDB8 BLX R0
ROM:1FFFCDBA MOVS R0, #0
ROM:1FFFCDBC POP {R1,PC}
ROM:1FFFCDBE ; ---------------------------------------------------------------------------
ROM:1FFFCDBE
ROM:1FFFCDBE loc_1FFFCDBE ; CODE XREF: sub_1FFFCD90+12j
ROM:1FFFCDBE ; sub_1FFFCD90+1Ej
ROM:1FFFCDBE MOVS R0, #2
ROM:1FFFCDC0 POP {R1,PC}
ROM:1FFFCDC0 ; End of function sub_1FFFCD90
ROM:1FFFCDC0
ROM:1FFFCDC2
ROM:1FFFCDC2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCDC2
ROM:1FFFCDC2
ROM:1FFFCDC2 sub_1FFFCDC2 ; DATA XREF: sub_1FFFD1D8+FAo
ROM:1FFFCDC2 ; ROM:off_1FFFD498o
ROM:1FFFCDC2 PUSH {R4,LR}
ROM:1FFFCDC4 LDR.W R4, =0x20000C28
ROM:1FFFCDC8 CBNZ R0, loc_1FFFCDCC
ROM:1FFFCDCA B loc_1FFFCDDA
ROM:1FFFCDCC ; ---------------------------------------------------------------------------
ROM:1FFFCDCC
ROM:1FFFCDCC loc_1FFFCDCC ; CODE XREF: sub_1FFFCDC2+6j
ROM:1FFFCDCC BL sub_1FFFCEA8
ROM:1FFFCDD0 LDR R0, [R0,#8]
ROM:1FFFCDD2 BLX R0
ROM:1FFFCDD4 LDR R0, [R4]
ROM:1FFFCDD6 ADDS R0, #0xC
ROM:1FFFCDD8 POP {R4,PC}
ROM:1FFFCDDA ; ---------------------------------------------------------------------------
ROM:1FFFCDDA
ROM:1FFFCDDA loc_1FFFCDDA ; CODE XREF: ROM:1FFFCD80j
ROM:1FFFCDDA ; sub_1FFFCDC2+8j
ROM:1FFFCDDA LDR R0, [R4]
ROM:1FFFCDDC MOVS R1, #1
ROM:1FFFCDDE STRH R1, [R0,#0x10]
ROM:1FFFCDE0 MOVS R0, #0
ROM:1FFFCDE2 POP {R4,PC}
ROM:1FFFCDE2 ; End of function sub_1FFFCDC2
ROM:1FFFCDE2
ROM:1FFFCDE4
ROM:1FFFCDE4 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCDE4
ROM:1FFFCDE4
ROM:1FFFCDE4 sub_1FFFCDE4 ; CODE XREF: sub_1FFFD10E+8Cp
ROM:1FFFCDE4 PUSH {R4,LR}
ROM:1FFFCDE6 BL sub_1FFFD3B2
ROM:1FFFCDEA LDRB R1, [R0,#3]
ROM:1FFFCDEC LDRB R0, [R0,#5]
ROM:1FFFCDEE LDR.W R2, =0x20000C2C
ROM:1FFFCDF2 LDR R2, [R2]
ROM:1FFFCDF4 LDR R2, [R2,#0x18]
ROM:1FFFCDF6 BLX R2
ROM:1FFFCDF8 LDR R1, [R4]
ROM:1FFFCDFA LDRB R2, [R1,#0xA]
ROM:1FFFCDFC CBZ R2, loc_1FFFCE24
ROM:1FFFCDFE CMP R0, #0
ROM:1FFFCE00 ITT EQ
ROM:1FFFCE02 LDREQB R0, [R1,#4]
ROM:1FFFCE04 CMPEQ R0, #0
ROM:1FFFCE06 BNE loc_1FFFCE24
ROM:1FFFCE08 LDRB R0, [R1,#2]
ROM:1FFFCE0A CBNZ R0, loc_1FFFCE24
ROM:1FFFCE0C BL sub_1FFFCEA8
ROM:1FFFCE10 LDR R0, [R0,#0xC]
ROM:1FFFCE12 BLX R0
ROM:1FFFCE14 LDR R0, [R4]
ROM:1FFFCE16 LDRB R1, [R0,#5]
ROM:1FFFCE18 STRB R1, [R0,#0xB]
ROM:1FFFCE1A LDR R0, [R4]
ROM:1FFFCE1C LDRB R1, [R0,#3]
ROM:1FFFCE1E STRB R1, [R0,#0xC]
ROM:1FFFCE20 MOVS R0, #0
ROM:1FFFCE22 POP {R4,PC}
ROM:1FFFCE24 ; ---------------------------------------------------------------------------
ROM:1FFFCE24
ROM:1FFFCE24 loc_1FFFCE24 ; CODE XREF: sub_1FFFCDE4+18j
ROM:1FFFCE24 ; sub_1FFFCDE4+22j ...
ROM:1FFFCE24 MOVS R0, #2
ROM:1FFFCE26 POP {R4,PC}
ROM:1FFFCE26 ; End of function sub_1FFFCDE4
ROM:1FFFCE26
ROM:1FFFCE28
ROM:1FFFCE28 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCE28
ROM:1FFFCE28
ROM:1FFFCE28 sub_1FFFCE28 ; DATA XREF: sub_1FFFD1D8:loc_1FFFD28Eo
ROM:1FFFCE28 ; ROM:off_1FFFD490o
ROM:1FFFCE28 PUSH {R4,LR}
ROM:1FFFCE2A LDR.W R1, =0x20000C28
ROM:1FFFCE2E LDR R1, [R1]
ROM:1FFFCE30 CBNZ R0, loc_1FFFCE3A
ROM:1FFFCE32 MOVS R0, #2
ROM:1FFFCE34 STRH R0, [R1,#0x10]
ROM:1FFFCE36
ROM:1FFFCE36 loc_1FFFCE36 ; CODE XREF: sub_1FFFCE28+5Aj
ROM:1FFFCE36 MOVS R0, #0
ROM:1FFFCE38 POP {R4,PC}
ROM:1FFFCE3A ; ---------------------------------------------------------------------------
ROM:1FFFCE3A
ROM:1FFFCE3A loc_1FFFCE3A ; CODE XREF: sub_1FFFCE28+8j
ROM:1FFFCE3A LDR.W R4, =0x20000C60
ROM:1FFFCE3E MOVS R0, #0
ROM:1FFFCE40 STRH R0, [R4]
ROM:1FFFCE42 LDRB R0, [R1]
ROM:1FFFCE44 MOVS R2, #0x7F
ROM:1FFFCE46 TST R0, R2
ROM:1FFFCE48 BNE loc_1FFFCE74
ROM:1FFFCE4A LDRB R0, [R1,#9]
ROM:1FFFCE4C LSLS R1, R0, #0x1A
ROM:1FFFCE4E BPL loc_1FFFCE58
ROM:1FFFCE50 MOVS R1, #2
ROM:1FFFCE56 STRB R1, [R4]
ROM:1FFFCE58
ROM:1FFFCE58 loc_1FFFCE58 ; CODE XREF: sub_1FFFCE28+26j
ROM:1FFFCE58 LSLS R0, R0, #0x19
ROM:1FFFCE5A LDRB R0, [R4]
ROM:1FFFCE5C ITE PL
ROM:1FFFCE5E ORRPL.W R0, R0, #1
ROM:1FFFCE62 ANDMI.W R0, R0, #0xFE
ROM:1FFFCE66
ROM:1FFFCE66 loc_1FFFCE66 ; CODE XREF: sub_1FFFCE28+74j
ROM:1FFFCE66 STRB R0, [R4]
ROM:1FFFCE68
ROM:1FFFCE68 loc_1FFFCE68 ; CODE XREF: sub_1FFFCE28:loc_1FFFCE94j
ROM:1FFFCE68 BL sub_1FFFCEA8
ROM:1FFFCE6C LDR R0, [R0,#0x10]
ROM:1FFFCE6E BLX R0
ROM:1FFFCE70
ROM:1FFFCE70 loc_1FFFCE70 ; CODE XREF: sub_1FFFCE28+52j
ROM:1FFFCE70 MOV R0, R4
ROM:1FFFCE72 POP {R4,PC}
ROM:1FFFCE74 ; ---------------------------------------------------------------------------
ROM:1FFFCE74
ROM:1FFFCE74 loc_1FFFCE74 ; CODE XREF: sub_1FFFCE28+20j
ROM:1FFFCE74 AND.W R2, R0, #0x7F
ROM:1FFFCE78 CMP R2, #1
ROM:1FFFCE7A BEQ loc_1FFFCE70
ROM:1FFFCE7C AND.W R0, R0, #0x7F
ROM:1FFFCE80 CMP R0, #2
ROM:1FFFCE82 BNE loc_1FFFCE36
ROM:1FFFCE84 LDRB R1, [R1,#5]
ROM:1FFFCE86 AND.W R0, R1, #0xF
ROM:1FFFCE8A LSLS R1, R1, #0x18
ROM:1FFFCE8C BPL loc_1FFFCE9E
ROM:1FFFCE8E BL sub_1FFFCBB2
ROM:1FFFCE92 CMP R0, #0x10
ROM:1FFFCE94
ROM:1FFFCE94 loc_1FFFCE94 ; CODE XREF: sub_1FFFCE28+7Ej
ROM:1FFFCE94 BNE loc_1FFFCE68
ROM:1FFFCE96 LDRB R0, [R4]
ROM:1FFFCE98 ORR.W R0, R0, #1
ROM:1FFFCE9C B loc_1FFFCE66
ROM:1FFFCE9E ; ---------------------------------------------------------------------------
ROM:1FFFCE9E
ROM:1FFFCE9E loc_1FFFCE9E ; CODE XREF: sub_1FFFCE28+64j
ROM:1FFFCE9E BL sub_1FFFCBBE
ROM:1FFFCEA2 CMP.W R0, #0x1000
ROM:1FFFCEA6 B loc_1FFFCE94
ROM:1FFFCEA6 ; End of function sub_1FFFCE28
ROM:1FFFCEA6
ROM:1FFFCEA8
ROM:1FFFCEA8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCEA8
ROM:1FFFCEA8
ROM:1FFFCEA8 sub_1FFFCEA8 ; CODE XREF: ROM:loc_1FFFCD82p
ROM:1FFFCEA8 ; sub_1FFFCD90+22p ...
ROM:1FFFCEA8 LDR.W R0, =0x20000C30
ROM:1FFFCEAC LDR R0, [R0]
ROM:1FFFCEAE BX LR
ROM:1FFFCEAE ; End of function sub_1FFFCEA8
ROM:1FFFCEAE
ROM:1FFFCEB0
ROM:1FFFCEB0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCEB0
ROM:1FFFCEB0
ROM:1FFFCEB0 sub_1FFFCEB0 ; CODE XREF: sub_1FFFD10E:loc_1FFFD1ACp
ROM:1FFFCEB0 PUSH {R4-R6,LR}
ROM:1FFFCEB2 LDR.W R4, =0x20000C28
ROM:1FFFCEB6 LDR R0, [R4]
ROM:1FFFCEB8 LDRB R1, [R0]
ROM:1FFFCEBA ANDS.W R1, R1, #0x7F
ROM:1FFFCEBE ITTT EQ
ROM:1FFFCEC0 LDREQB R1, [R0,#9]
ROM:1FFFCEC2 ANDEQ.W R1, R1, #0xDF
ROM:1FFFCEC6 STREQB R1, [R0,#9]
ROM:1FFFCEC8 BEQ loc_1FFFCF52
ROM:1FFFCECA CMP R1, #2
ROM:1FFFCECC ITTTT EQ
ROM:1FFFCECE LDREQH R1, [R0,#2]
ROM:1FFFCED0 CMPEQ R1, #0
ROM:1FFFCED2 LDREQB R1, [R0,#4]
ROM:1FFFCED4 CMPEQ R1, #0
ROM:1FFFCED6 BNE loc_1FFFCF56
ROM:1FFFCED8 LDRB R6, [R0,#5]
ROM:1FFFCEDA BIC.W R5, R6, #0x80
ROM:1FFFCEDE LSLS R0, R6, #0x18
ROM:1FFFCEE0 MOV R0, R5
ROM:1FFFCEE2 BPL loc_1FFFCEEA
ROM:1FFFCEE4 BL sub_1FFFCBB2
ROM:1FFFCEE8 B loc_1FFFCEEE
ROM:1FFFCEEA ; ---------------------------------------------------------------------------
ROM:1FFFCEEA
ROM:1FFFCEEA loc_1FFFCEEA ; CODE XREF: sub_1FFFCEB0+32j
ROM:1FFFCEEA BL sub_1FFFCBBE
ROM:1FFFCEEE
ROM:1FFFCEEE loc_1FFFCEEE ; CODE XREF: sub_1FFFCEB0+38j
ROM:1FFFCEEE UXTH R0, R0
ROM:1FFFCEF0 LDR.W R1, =0x20000248
ROM:1FFFCEF4 LDRB R1, [R1]
ROM:1FFFCEF6 CMP R5, R1
ROM:1FFFCEF8 BCS loc_1FFFCF56
ROM:1FFFCEFA CMP R0, #0
ROM:1FFFCEFC ITTT NE
ROM:1FFFCEFE LDRNE R0, [R4]
ROM:1FFFCF00 LDRNEB R0, [R0,#0xA]
ROM:1FFFCF02 CMPNE R0, #0
ROM:1FFFCF04 BEQ loc_1FFFCF56
ROM:1FFFCF06 LSLS R0, R6, #0x18
ROM:1FFFCF08 MOV R0, R5
ROM:1FFFCF0A BPL loc_1FFFCF1E
ROM:1FFFCF0C BL sub_1FFFCBB2
ROM:1FFFCF10 CMP R0, #0x10
ROM:1FFFCF12 BNE loc_1FFFCF4A
ROM:1FFFCF14 MOVS R1, #0x30
ROM:1FFFCF16 MOV R0, R5
ROM:1FFFCF18 BL sub_1FFFCC0C
ROM:1FFFCF1C B loc_1FFFCF4A
ROM:1FFFCF1E ; ---------------------------------------------------------------------------
ROM:1FFFCF1E
ROM:1FFFCF1E loc_1FFFCF1E ; CODE XREF: sub_1FFFCEB0+5Aj
ROM:1FFFCF1E BL sub_1FFFCBBE
ROM:1FFFCF22 CMP.W R0, #0x1000
ROM:1FFFCF26 BNE loc_1FFFCF4A
ROM:1FFFCF28 MOVS R0, R5
ROM:1FFFCF2A BNE loc_1FFFCF42
ROM:1FFFCF2C LDR.W R0, =0x20000108
ROM:1FFFCF30 LDRB.W R1, [R0,#0x2C]
ROM:1FFFCF34 MOV R0, R5
ROM:1FFFCF36 BL nullsub_1
ROM:1FFFCF3A MOV.W R1, #0x3000
ROM:1FFFCF3E MOV R0, R5
ROM:1FFFCF40 B loc_1FFFCF46
ROM:1FFFCF42 ; ---------------------------------------------------------------------------
ROM:1FFFCF42
ROM:1FFFCF42 loc_1FFFCF42 ; CODE XREF: sub_1FFFCEB0+7Aj
ROM:1FFFCF42 MOV.W R1, #0x3000
ROM:1FFFCF46
ROM:1FFFCF46 loc_1FFFCF46 ; CODE XREF: sub_1FFFCEB0+90j
ROM:1FFFCF46 BL sub_1FFFCBF2
ROM:1FFFCF4A
ROM:1FFFCF4A loc_1FFFCF4A ; CODE XREF: sub_1FFFCEB0+62j
ROM:1FFFCF4A ; sub_1FFFCEB0+6Cj ...
ROM:1FFFCF4A BL sub_1FFFCEA8
ROM:1FFFCF4E LDR R0, [R0,#0x14]
ROM:1FFFCF50 BLX R0
ROM:1FFFCF52
ROM:1FFFCF52 loc_1FFFCF52 ; CODE XREF: sub_1FFFCEB0+18j
ROM:1FFFCF52 MOVS R0, #0
ROM:1FFFCF54 POP {R4-R6,PC}
ROM:1FFFCF56 ; ---------------------------------------------------------------------------
ROM:1FFFCF56
ROM:1FFFCF56 loc_1FFFCF56 ; CODE XREF: sub_1FFFCEB0+26j
ROM:1FFFCF56 ; sub_1FFFCEB0+48j ...
ROM:1FFFCF56 MOVS R0, #2
ROM:1FFFCF58 POP {R4-R6,PC}
ROM:1FFFCF58 ; End of function sub_1FFFCEB0
ROM:1FFFCF58
ROM:1FFFCF5A
ROM:1FFFCF5A ; =============== S U B R O U T I N E =======================================
ROM:1FFFCF5A
ROM:1FFFCF5A
ROM:1FFFCF5A sub_1FFFCF5A ; CODE XREF: sub_1FFFD10E+A8p
ROM:1FFFCF5A PUSH {R4-R6,LR}
ROM:1FFFCF5C LDR.W R6, =0x20000C28
ROM:1FFFCF60 LDR R0, [R6]
ROM:1FFFCF62 LDRB R5, [R0,#5]
ROM:1FFFCF64 BIC.W R4, R5, #0x80
ROM:1FFFCF68 LSLS R0, R5, #0x18
ROM:1FFFCF6A MOV R0, R4
ROM:1FFFCF6C BPL loc_1FFFCF74
ROM:1FFFCF6E BL sub_1FFFCBB2
ROM:1FFFCF72 B loc_1FFFCF78
ROM:1FFFCF74 ; ---------------------------------------------------------------------------
ROM:1FFFCF74
ROM:1FFFCF74 loc_1FFFCF74 ; CODE XREF: sub_1FFFCF5A+12j
ROM:1FFFCF74 BL sub_1FFFCBBE
ROM:1FFFCF78
ROM:1FFFCF78 loc_1FFFCF78 ; CODE XREF: sub_1FFFCF5A+18j
ROM:1FFFCF78 UXTH R0, R0
ROM:1FFFCF7A LDR.W R1, =0x20000248
ROM:1FFFCF7E LDRB R1, [R1]
ROM:1FFFCF80 CMP R4, R1
ROM:1FFFCF82 BCS loc_1FFFCF94
ROM:1FFFCF84 LDR R1, [R6]
ROM:1FFFCF86 LDRH R2, [R1,#2]
ROM:1FFFCF88 CBNZ R2, loc_1FFFCF94
ROM:1FFFCF8A CMP R0, #0
ROM:1FFFCF8C ITT NE
ROM:1FFFCF8E LDRNEB R0, [R1,#0xA]
ROM:1FFFCF90 CMPNE R0, #0
ROM:1FFFCF92 BNE loc_1FFFCF98
ROM:1FFFCF94
ROM:1FFFCF94 loc_1FFFCF94 ; CODE XREF: sub_1FFFCF5A+28j
ROM:1FFFCF94 ; sub_1FFFCF5A+2Ej
ROM:1FFFCF94 MOVS R0, #2
ROM:1FFFCF96 POP {R4-R6,PC}
ROM:1FFFCF98 ; ---------------------------------------------------------------------------
ROM:1FFFCF98
ROM:1FFFCF98 loc_1FFFCF98 ; CODE XREF: sub_1FFFCF5A+38j
ROM:1FFFCF98 LSLS R0, R5, #0x18
ROM:1FFFCF9A BPL loc_1FFFCFA6
ROM:1FFFCF9C MOVS R1, #0x10
ROM:1FFFCF9E MOV R0, R4
ROM:1FFFCFA0 BL sub_1FFFCBD0
ROM:1FFFCFA4 B loc_1FFFCFB0
ROM:1FFFCFA6 ; ---------------------------------------------------------------------------
ROM:1FFFCFA6
ROM:1FFFCFA6 loc_1FFFCFA6 ; CODE XREF: sub_1FFFCF5A+40j
ROM:1FFFCFA6 MOV.W R1, #0x1000
ROM:1FFFCFAA MOV R0, R4
ROM:1FFFCFAC BL sub_1FFFCBF2
ROM:1FFFCFB0
ROM:1FFFCFB0 loc_1FFFCFB0 ; CODE XREF: sub_1FFFCF5A+4Aj
ROM:1FFFCFB0 BL sub_1FFFCEA8
ROM:1FFFCFB4 LDR R0, [R0,#0x18]
ROM:1FFFCFB6 BLX R0
ROM:1FFFCFB8 MOVS R0, #0
ROM:1FFFCFBA POP {R4-R6,PC}
ROM:1FFFCFBA ; End of function sub_1FFFCF5A
ROM:1FFFCFBA
ROM:1FFFCFBC
ROM:1FFFCFBC ; =============== S U B R O U T I N E =======================================
ROM:1FFFCFBC
ROM:1FFFCFBC
ROM:1FFFCFBC sub_1FFFCFBC ; CODE XREF: sub_1FFFD10E+64p
ROM:1FFFCFBC PUSH {R7,LR}
ROM:1FFFCFBE LDR.W R0, =0x20000C28
ROM:1FFFCFC2 LDR R0, [R0]
ROM:1FFFCFC4 LDRB R1, [R0,#9]
ROM:1FFFCFC6 ORR.W R1, R1, #0x20
ROM:1FFFCFCA STRB R1, [R0,#9]
ROM:1FFFCFCC BL sub_1FFFCEA8
ROM:1FFFCFD0 LDR R0, [R0,#0x1C]
ROM:1FFFCFD2 BLX R0
ROM:1FFFCFD4 MOVS R0, #0
ROM:1FFFCFD6 POP {R1,PC}
ROM:1FFFCFD6 ; End of function sub_1FFFCFBC
ROM:1FFFCFD6
ROM:1FFFCFD8 ; ---------------------------------------------------------------------------
ROM:1FFFCFD8
ROM:1FFFCFD8 loc_1FFFCFD8 ; CODE XREF: ROM:1FFFC5B8j
ROM:1FFFCFD8 ; ROM:1FFFC5C0j ...
ROM:1FFFCFD8 LDR.W R2, =0x20000C28
ROM:1FFFCFDC LDR R2, [R2]
ROM:1FFFCFDE LDRH R3, [R2,#0x12]
ROM:1FFFCFE0 CBNZ R0, loc_1FFFCFEC
ROM:1FFFCFE2 LDRH R0, [R1,#4]
ROM:1FFFCFE4 SUBS R0, R0, R3
ROM:1FFFCFE6 STRH R0, [R2,#0x10]
ROM:1FFFCFE8 MOVS R0, #0
ROM:1FFFCFEA BX LR
ROM:1FFFCFEC ; ---------------------------------------------------------------------------
ROM:1FFFCFEC
ROM:1FFFCFEC loc_1FFFCFEC ; CODE XREF: ROM:1FFFCFE0j
ROM:1FFFCFEC LDR R0, [R1]
ROM:1FFFCFEE ADDS R0, R3, R0
ROM:1FFFCFF0 BX LR
ROM:1FFFCFF2
ROM:1FFFCFF2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCFF2
ROM:1FFFCFF2
ROM:1FFFCFF2 sub_1FFFCFF2 ; CODE XREF: sub_1FFFD406+10p
ROM:1FFFCFF2 PUSH {R4-R6,LR}
ROM:1FFFCFF4 LDR.W R5, =0x20000C28
ROM:1FFFCFF8 LDR R0, [R5]
ROM:1FFFCFFA ADD.W R4, R0, #0x10
ROM:1FFFCFFE LDRH R6, [R4]
ROM:1FFFD000 LDR R1, [R4,#8]
ROM:1FFFD002 MOVS R0, R1
ROM:1FFFD004 BEQ loc_1FFFD02C
ROM:1FFFD006 MOVS R0, R6
ROM:1FFFD008 BEQ loc_1FFFD02C
ROM:1FFFD00A LDRH R0, [R4,#4]
ROM:1FFFD00C CMP R6, R0
ROM:1FFFD00E IT HI
ROM:1FFFD010 MOVHI R6, R0
ROM:1FFFD012 MOV R0, R6
ROM:1FFFD014 BLX R1
ROM:1FFFD016 LDRH R1, [R4]
ROM:1FFFD018 SUBS R1, R1, R6
ROM:1FFFD01A STRH R1, [R4]
ROM:1FFFD01C LDRH R1, [R4,#2]
ROM:1FFFD01E ADDS R1, R6, R1
ROM:1FFFD020 STRH R1, [R4,#2]
ROM:1FFFD022 MOV R2, R6
ROM:1FFFD024 MOV R1, R0
ROM:1FFFD026 MOVS R0, #0
ROM:1FFFD028 BL sub_1FFFDC04
ROM:1FFFD02C
ROM:1FFFD02C loc_1FFFD02C ; CODE XREF: sub_1FFFCFF2+12j
ROM:1FFFD02C ; sub_1FFFCFF2+16j
ROM:1FFFD02C LDR.W R6, =0x2000009A
ROM:1FFFD030 LDRH R0, [R4]
ROM:1FFFD032 CBZ R0, loc_1FFFD04A
ROM:1FFFD034 LDR.W R0, =0x20000098
ROM:1FFFD038 MOV.W R1, #0x3000
ROM:1FFFD03C STRH R1, [R0]
ROM:1FFFD03E MOVS R1, #0
ROM:1FFFD040 MOVS R0, #0
ROM:1FFFD042 BL nullsub_2
ROM:1FFFD046 MOVS R0, #0x30
ROM:1FFFD048 STRH R0, [R6]
ROM:1FFFD04A
ROM:1FFFD04A loc_1FFFD04A ; CODE XREF: sub_1FFFCFF2+40j
ROM:1FFFD04A LDR R0, [R5]
ROM:1FFFD04C LDRH R1, [R4]
ROM:1FFFD04E LDRH R2, [R4,#4]
ROM:1FFFD050 CMP R1, R2
ROM:1FFFD052 IT CS
ROM:1FFFD054 MOVCS R1, #3
ROM:1FFFD056 BCS loc_1FFFD05C
ROM:1FFFD058 CBZ R1, loc_1FFFD060
ROM:1FFFD05A MOVS R1, #5
ROM:1FFFD05C
ROM:1FFFD05C loc_1FFFD05C ; CODE XREF: sub_1FFFCFF2+64j
ROM:1FFFD05C STRB R1, [R0,#8]
ROM:1FFFD05E POP {R4-R6,PC}
ROM:1FFFD060 ; ---------------------------------------------------------------------------
ROM:1FFFD060
ROM:1FFFD060 loc_1FFFD060 ; CODE XREF: sub_1FFFCFF2+66j
ROM:1FFFD060 MOVS R1, #6
ROM:1FFFD062 STRB R1, [R0,#8]
ROM:1FFFD064 BL sub_1FFFD104
ROM:1FFFD068 MOVS R0, #0x30
ROM:1FFFD06A STRH R0, [R6]
ROM:1FFFD06C POP {R4-R6,PC}
ROM:1FFFD06C ; End of function sub_1FFFCFF2
ROM:1FFFD06C
ROM:1FFFD06E
ROM:1FFFD06E ; =============== S U B R O U T I N E =======================================
ROM:1FFFD06E
ROM:1FFFD06E
ROM:1FFFD06E sub_1FFFD06E ; CODE XREF: sub_1FFFD1D8+16Ep
ROM:1FFFD06E ; sub_1FFFD3B8+10p
ROM:1FFFD06E PUSH.W {R4-R8,LR}
ROM:1FFFD072 BL sub_1FFFD3B2
ROM:1FFFD076 ADD.W R6, R0, #0x10
ROM:1FFFD07A LDRH R1, [R6]
ROM:1FFFD07C LDR.W R5, =0x2000009A
ROM:1FFFD080 MOVS R2, R1
ROM:1FFFD082 ITT EQ
ROM:1FFFD084 LDREQB R0, [R0,#8]
ROM:1FFFD086 CMPEQ R0, #4
ROM:1FFFD088 BNE loc_1FFFD0B2
ROM:1FFFD08A LDR.W R6, =0x20000C68
ROM:1FFFD08E LDRB R0, [R6]
ROM:1FFFD090 CMP R0, #1
ROM:1FFFD092 BNE loc_1FFFD0A4
ROM:1FFFD094 BL sub_1FFFD104
ROM:1FFFD098 MOVS R0, #0x30
ROM:1FFFD09A STRH R0, [R5]
ROM:1FFFD09C MOVS R7, #4
ROM:1FFFD09E MOVS R0, #0
ROM:1FFFD0A0 STRB R0, [R6]
ROM:1FFFD0A2 B loc_1FFFD0FC
ROM:1FFFD0A4 ; ---------------------------------------------------------------------------
ROM:1FFFD0A4
ROM:1FFFD0A4 loc_1FFFD0A4 ; CODE XREF: sub_1FFFD06E+24j
ROM:1FFFD0A4 MOVS R7, #7
ROM:1FFFD0A6 MOVS R2, #0
ROM:1FFFD0A8 MOVS R1, #0
ROM:1FFFD0AA MOV R0, R1
ROM:1FFFD0AC BL sub_1FFFDC04
ROM:1FFFD0B0 B loc_1FFFD0FC
ROM:1FFFD0B2 ; ---------------------------------------------------------------------------
ROM:1FFFD0B2
ROM:1FFFD0B2 loc_1FFFD0B2 ; CODE XREF: sub_1FFFD06E+1Aj
ROM:1FFFD0B2 LDRH.W R8, [R6,#4]
ROM:1FFFD0B6 CMP R8, R1
ROM:1FFFD0B8 BCC loc_1FFFD0C6
ROM:1FFFD0BA MOVS R7, #4
ROM:1FFFD0BC CMP R1, R8
ROM:1FFFD0BE IT HI
ROM:1FFFD0C0 MOVHI R1, R8
ROM:1FFFD0C2 MOV R8, R1
ROM:1FFFD0C4 B loc_1FFFD0C8
ROM:1FFFD0C6 ; ---------------------------------------------------------------------------
ROM:1FFFD0C6
ROM:1FFFD0C6 loc_1FFFD0C6 ; CODE XREF: sub_1FFFD06E+4Aj
ROM:1FFFD0C6 MOVS R7, #2
ROM:1FFFD0C8
ROM:1FFFD0C8 loc_1FFFD0C8 ; CODE XREF: sub_1FFFD06E+56j
ROM:1FFFD0C8 MOV R0, R8
ROM:1FFFD0CA LDR R1, [R6,#8]
ROM:1FFFD0CC BLX R1
ROM:1FFFD0CE MOV R1, R0
ROM:1FFFD0D0 MOV R2, R8
ROM:1FFFD0D2 MOVS R0, #0
ROM:1FFFD0D4 BL loc_1FFFDC28
ROM:1FFFD0D8 MOV R1, R8
ROM:1FFFD0DA MOVS R0, #0
ROM:1FFFD0DC BL nullsub_2
ROM:1FFFD0E0 LDRH R0, [R6]
ROM:1FFFD0E2 SUB.W R0, R0, R8
ROM:1FFFD0E6 STRH R0, [R6]
ROM:1FFFD0E8 LDRH R0, [R6,#2]
ROM:1FFFD0EA ADD R0, R8
ROM:1FFFD0EC STRH R0, [R6,#2]
ROM:1FFFD0EE MOVS R0, #0x30
ROM:1FFFD0F0 STRH R0, [R5]
ROM:1FFFD0F2 LDR.W R0, =0x20000098
ROM:1FFFD0F6 MOV.W R1, #0x3000
ROM:1FFFD0FA STRH R1, [R0]
ROM:1FFFD0FC
ROM:1FFFD0FC loc_1FFFD0FC ; CODE XREF: sub_1FFFD06E+34j
ROM:1FFFD0FC ; sub_1FFFD06E+42j
ROM:1FFFD0FC LDR R0, [R4]
ROM:1FFFD0FE STRB R7, [R0,#8]
ROM:1FFFD100 POP.W {R4-R8,PC}
ROM:1FFFD100 ; End of function sub_1FFFD06E
ROM:1FFFD100
ROM:1FFFD104
ROM:1FFFD104 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD104
ROM:1FFFD104
ROM:1FFFD104 sub_1FFFD104 ; CODE XREF: sub_1FFFCFF2+72p
ROM:1FFFD104 ; sub_1FFFD06E+26p ...
ROM:1FFFD104 MOVS R2, #0
ROM:1FFFD106 MOVS R1, #0
ROM:1FFFD108 MOV R0, R1
ROM:1FFFD10A B.W loc_1FFFDC28
ROM:1FFFD10A ; End of function sub_1FFFD104
ROM:1FFFD10A
ROM:1FFFD10E
ROM:1FFFD10E ; =============== S U B R O U T I N E =======================================
ROM:1FFFD10E
ROM:1FFFD10E
ROM:1FFFD10E sub_1FFFD10E ; CODE XREF: sub_1FFFD356+50p
ROM:1FFFD10E PUSH {R3-R5,LR}
ROM:1FFFD110 LDR.W R4, =0x20000C28
ROM:1FFFD114 LDR R1, [R4]
ROM:1FFFD116 LDRB R5, [R1,#1]
ROM:1FFFD118 LDRB R0, [R1]
ROM:1FFFD11A MOVS R2, #0x7F
ROM:1FFFD11C TST R0, R2
ROM:1FFFD11E BNE loc_1FFFD18E
ROM:1FFFD120 CMP R5, #9
ROM:1FFFD122 BNE loc_1FFFD12A
ROM:1FFFD124 BL sub_1FFFCD90
ROM:1FFFD128 B loc_1FFFD1BA
ROM:1FFFD12A ; ---------------------------------------------------------------------------
ROM:1FFFD12A
ROM:1FFFD12A loc_1FFFD12A ; CODE XREF: sub_1FFFD10E+14j
ROM:1FFFD12A CMP R5, #5
ROM:1FFFD12C BNE loc_1FFFD15C
ROM:1FFFD12E LDRB R0, [R1,#3]
ROM:1FFFD130 CMP R0, #0x80
ROM:1FFFD132 BCS loc_1FFFD1D4
ROM:1FFFD134 LDRB R2, [R1,#2]
ROM:1FFFD136 CMP R2, #0
ROM:1FFFD138 ITTTT EQ
ROM:1FFFD13A LDREQH R2, [R1,#4]
ROM:1FFFD13C CMPEQ R2, #0
ROM:1FFFD13E LDREQB R1, [R1,#0xA]
ROM:1FFFD140 CMPEQ R1, #0
ROM:1FFFD142 BNE loc_1FFFD1D4
ROM:1FFFD144 BL sub_1FFFDC68
ROM:1FFFD148
ROM:1FFFD148 loc_1FFFD148 ; CODE XREF: sub_1FFFD10E+AEj
ROM:1FFFD148 ; sub_1FFFD10E+C4j
ROM:1FFFD148 MOVS R5, #6
ROM:1FFFD14A BL sub_1FFFD104
ROM:1FFFD14E LDR.W R0, =0x2000009A
ROM:1FFFD152 MOVS R1, #0x30
ROM:1FFFD154 STRH R1, [R0]
ROM:1FFFD156
ROM:1FFFD156 loc_1FFFD156 ; CODE XREF: sub_1FFFD10E+C0j
ROM:1FFFD156 ; sub_1FFFD10E+C8j
ROM:1FFFD156 LDR R0, [R4]
ROM:1FFFD158 STRB R5, [R0,#8]
ROM:1FFFD15A POP {R0,R4,R5,PC}
ROM:1FFFD15C ; ---------------------------------------------------------------------------
ROM:1FFFD15C
ROM:1FFFD15C loc_1FFFD15C ; CODE XREF: sub_1FFFD10E+1Ej
ROM:1FFFD15C CMP R5, #3
ROM:1FFFD15E BNE loc_1FFFD178
ROM:1FFFD160 LDRB R0, [R1,#3]
ROM:1FFFD162 CMP R0, #1
ROM:1FFFD164 ITT EQ
ROM:1FFFD166 LDREQH R0, [R1,#4]
ROM:1FFFD168 CMPEQ R0, #0
ROM:1FFFD16A BNE loc_1FFFD1BE
ROM:1FFFD16C LDRB R0, [R1,#9]
ROM:1FFFD16E LSLS R0, R0, #0x1A
ROM:1FFFD170 BPL loc_1FFFD1BE
ROM:1FFFD172 BL sub_1FFFCFBC
ROM:1FFFD176 B loc_1FFFD1BA
ROM:1FFFD178 ; ---------------------------------------------------------------------------
ROM:1FFFD178
ROM:1FFFD178 loc_1FFFD178 ; CODE XREF: sub_1FFFD10E+50j
ROM:1FFFD178 CMP R5, #1
ROM:1FFFD17A ITT EQ
ROM:1FFFD17C LDREQB R0, [R1,#3]
ROM:1FFFD17E CMPEQ R0, #1
ROM:1FFFD180 BNE loc_1FFFD1BE
ROM:1FFFD182 LDRH R0, [R1,#4]
ROM:1FFFD184 CBNZ R0, loc_1FFFD1BE
ROM:1FFFD186 LDRB R0, [R1,#9]
ROM:1FFFD188 LSLS R0, R0, #0x1A
ROM:1FFFD18A BMI loc_1FFFD1AC
ROM:1FFFD18C B loc_1FFFD1BE
ROM:1FFFD18E ; ---------------------------------------------------------------------------
ROM:1FFFD18E
ROM:1FFFD18E loc_1FFFD18E ; CODE XREF: sub_1FFFD10E+10j
ROM:1FFFD18E AND.W R1, R0, #0x7F
ROM:1FFFD192 CMP R1, #1
ROM:1FFFD194 BNE loc_1FFFD1A0
ROM:1FFFD196 CMP R5, #0xB
ROM:1FFFD198 BNE loc_1FFFD1BE
ROM:1FFFD19A BL sub_1FFFCDE4
ROM:1FFFD19E B loc_1FFFD1BA
ROM:1FFFD1A0 ; ---------------------------------------------------------------------------
ROM:1FFFD1A0
ROM:1FFFD1A0 loc_1FFFD1A0 ; CODE XREF: sub_1FFFD10E+86j
ROM:1FFFD1A0 AND.W R0, R0, #0x7F
ROM:1FFFD1A4 CMP R0, #2
ROM:1FFFD1A6 BNE loc_1FFFD1BE
ROM:1FFFD1A8 CMP R5, #1
ROM:1FFFD1AA BNE loc_1FFFD1B2
ROM:1FFFD1AC
ROM:1FFFD1AC loc_1FFFD1AC ; CODE XREF: sub_1FFFD10E+7Cj
ROM:1FFFD1AC BL sub_1FFFCEB0
ROM:1FFFD1B0 B loc_1FFFD1BA
ROM:1FFFD1B2 ; ---------------------------------------------------------------------------
ROM:1FFFD1B2
ROM:1FFFD1B2 loc_1FFFD1B2 ; CODE XREF: sub_1FFFD10E+9Cj
ROM:1FFFD1B2 CMP R5, #3
ROM:1FFFD1B4 BNE loc_1FFFD1BE
ROM:1FFFD1B6 BL sub_1FFFCF5A
ROM:1FFFD1BA
ROM:1FFFD1BA loc_1FFFD1BA ; CODE XREF: sub_1FFFD10E+1Aj
ROM:1FFFD1BA ; sub_1FFFD10E+68j ...
ROM:1FFFD1BA CMP R0, #0
ROM:1FFFD1BC BEQ loc_1FFFD148
ROM:1FFFD1BE
ROM:1FFFD1BE loc_1FFFD1BE ; CODE XREF: sub_1FFFD10E+5Cj
ROM:1FFFD1BE ; sub_1FFFD10E+62j ...
ROM:1FFFD1BE MOV R0, R5
ROM:1FFFD1C0 LDR R1, =0x20000C2C
ROM:1FFFD1C2 LDR R1, [R1]
ROM:1FFFD1C4 LDR R1, [R1,#0x14]
ROM:1FFFD1C6 BLX R1
ROM:1FFFD1C8 CMP R0, #3
ROM:1FFFD1CA IT EQ
ROM:1FFFD1CC MOVEQ R5, #9
ROM:1FFFD1CE BEQ loc_1FFFD156
ROM:1FFFD1D0 CMP R0, #0
ROM:1FFFD1D2 BEQ loc_1FFFD148
ROM:1FFFD1D4
ROM:1FFFD1D4 loc_1FFFD1D4 ; CODE XREF: sub_1FFFD10E+24j
ROM:1FFFD1D4 ; sub_1FFFD10E+34j
ROM:1FFFD1D4 MOVS R5, #8
ROM:1FFFD1D6 B loc_1FFFD156
ROM:1FFFD1D6 ; End of function sub_1FFFD10E
ROM:1FFFD1D6
ROM:1FFFD1D8
ROM:1FFFD1D8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD1D8
ROM:1FFFD1D8
ROM:1FFFD1D8 sub_1FFFD1D8 ; CODE XREF: sub_1FFFD356:loc_1FFFD3ACp
ROM:1FFFD1D8
ROM:1FFFD1D8 var_18 = -0x18
ROM:1FFFD1D8
ROM:1FFFD1D8 PUSH {R3-R7,LR}
ROM:1FFFD1DA LDR R5, =0x20000C28
ROM:1FFFD1DC LDR R0, [R5]
ROM:1FFFD1DE LDRB R1, [R0,#1]
ROM:1FFFD1E0 LDR R4, =0x20000C2C
ROM:1FFFD1E2 LDR R2, [R4]
ROM:1FFFD1E4 CMP R1, #6
ROM:1FFFD1E6 BNE loc_1FFFD20A
ROM:1FFFD1E8 LDRB R1, [R0]
ROM:1FFFD1EA MOVS R3, #0x7F
ROM:1FFFD1EC TST R1, R3
ROM:1FFFD1EE BNE loc_1FFFD244
ROM:1FFFD1F0 LDRB R0, [R0,#2]
ROM:1FFFD1F2 CMP R0, #1
ROM:1FFFD1F4 IT EQ
ROM:1FFFD1F6 LDREQ R1, [R2,#0x1C]
ROM:1FFFD1F8 BEQ loc_1FFFD2D4
ROM:1FFFD1FA CMP R0, #2
ROM:1FFFD1FC IT EQ
ROM:1FFFD1FE LDREQ R1, [R2,#0x20]
ROM:1FFFD200 BEQ loc_1FFFD2D4
ROM:1FFFD202 CMP R0, #3
ROM:1FFFD204 BNE loc_1FFFD244
ROM:1FFFD206 LDR R1, [R2,#0x24]
ROM:1FFFD208 B loc_1FFFD2D4
ROM:1FFFD20A ; ---------------------------------------------------------------------------
ROM:1FFFD20A
ROM:1FFFD20A loc_1FFFD20A ; CODE XREF: sub_1FFFD1D8+Ej
ROM:1FFFD20A MOVS R3, R1
ROM:1FFFD20C BNE loc_1FFFD292
ROM:1FFFD20E LDRH R1, [R0,#2]
ROM:1FFFD210 CMP R1, #0
ROM:1FFFD212 ITT EQ
ROM:1FFFD214 LDREQH R1, [R0,#6]
ROM:1FFFD216 CMPEQ R1, #2
ROM:1FFFD218 BNE loc_1FFFD244
ROM:1FFFD21A LDRB R1, [R0,#4]
ROM:1FFFD21C CBNZ R1, loc_1FFFD244
ROM:1FFFD21E LDRB R1, [R0]
ROM:1FFFD220 MOVS R3, #0x7F
ROM:1FFFD222 TST R1, R3
ROM:1FFFD224 ITT EQ
ROM:1FFFD226 LDREQH R3, [R0,#4]
ROM:1FFFD228 CMPEQ R3, #0
ROM:1FFFD22A BEQ loc_1FFFD28E
ROM:1FFFD22C AND.W R3, R1, #0x7F
ROM:1FFFD230 CMP R3, #1
ROM:1FFFD232 BNE loc_1FFFD25A
ROM:1FFFD234 MOVS R1, #0
ROM:1FFFD236 LDRB R0, [R0,#5]
ROM:1FFFD238 LDR R2, [R2,#0x18]
ROM:1FFFD23A BLX R2
ROM:1FFFD23C CBNZ R0, loc_1FFFD244
ROM:1FFFD23E LDR R0, [R5]
ROM:1FFFD240 LDRB R0, [R0,#0xA]
ROM:1FFFD242 CBNZ R0, loc_1FFFD28E
ROM:1FFFD244
ROM:1FFFD244 loc_1FFFD244 ; CODE XREF: sub_1FFFD1D8+16j
ROM:1FFFD244 ; sub_1FFFD1D8+2Cj ...
ROM:1FFFD244 LDR R0, [R5]
ROM:1FFFD246 LDRB R0, [R0,#1]
ROM:1FFFD248 LDR R1, [R4]
ROM:1FFFD24A LDR R1, [R1,#0x10]
ROM:1FFFD24C BLX R1
ROM:1FFFD24E CMP R0, #3
ROM:1FFFD250 BNE loc_1FFFD2E6
ROM:1FFFD252 LDR R0, [R5]
ROM:1FFFD254 MOVS R1, #9
ROM:1FFFD256 STRB R1, [R0,#8]
ROM:1FFFD258 POP {R0,R4-R7,PC}
ROM:1FFFD25A ; ---------------------------------------------------------------------------
ROM:1FFFD25A
ROM:1FFFD25A loc_1FFFD25A ; CODE XREF: sub_1FFFD1D8+5Aj
ROM:1FFFD25A AND.W R1, R1, #0x7F
ROM:1FFFD25E CMP R1, #2
ROM:1FFFD260 BNE loc_1FFFD244
ROM:1FFFD262 LDRB R0, [R0,#5]
ROM:1FFFD264 AND.W R6, R0, #0xF
ROM:1FFFD268 AND.W R7, R0, #0x70
ROM:1FFFD26C LSLS R0, R0, #0x18
ROM:1FFFD26E MOV R0, R6
ROM:1FFFD270 BPL loc_1FFFD278
ROM:1FFFD272 BL sub_1FFFCBB2
ROM:1FFFD276 B loc_1FFFD27C
ROM:1FFFD278 ; ---------------------------------------------------------------------------
ROM:1FFFD278
ROM:1FFFD278 loc_1FFFD278 ; CODE XREF: sub_1FFFD1D8+98j
ROM:1FFFD278 BL sub_1FFFCBBE
ROM:1FFFD27C
ROM:1FFFD27C loc_1FFFD27C ; CODE XREF: sub_1FFFD1D8+9Ej
ROM:1FFFD27C UXTH R0, R0
ROM:1FFFD27E LDR R1, =0x20000248
ROM:1FFFD280 LDRB R1, [R1]
ROM:1FFFD282 CMP R6, R1
ROM:1FFFD284 BCS loc_1FFFD244
ROM:1FFFD286 CMP R7, #0
ROM:1FFFD288 BNE loc_1FFFD244
ROM:1FFFD28A CMP R0, #0
ROM:1FFFD28C BEQ loc_1FFFD244
ROM:1FFFD28E
ROM:1FFFD28E loc_1FFFD28E ; CODE XREF: sub_1FFFD1D8+52j
ROM:1FFFD28E ; sub_1FFFD1D8+6Aj
ROM:1FFFD28E LDR R1, =(sub_1FFFCE28+1)
ROM:1FFFD290 B loc_1FFFD2D4
ROM:1FFFD292 ; ---------------------------------------------------------------------------
ROM:1FFFD292
ROM:1FFFD292 loc_1FFFD292 ; CODE XREF: sub_1FFFD1D8+34j
ROM:1FFFD292 CMP R1, #8
ROM:1FFFD294 BNE loc_1FFFD2A2
ROM:1FFFD296 LDRB R0, [R0]
ROM:1FFFD298 MOVS R1, #0x7F
ROM:1FFFD29A TST R0, R1
ROM:1FFFD29C BNE loc_1FFFD244
ROM:1FFFD29E LDR R1, =0x1FFFCD79
ROM:1FFFD2A0 B loc_1FFFD2D4
ROM:1FFFD2A2 ; ---------------------------------------------------------------------------
ROM:1FFFD2A2
ROM:1FFFD2A2 loc_1FFFD2A2 ; CODE XREF: sub_1FFFD1D8+BCj
ROM:1FFFD2A2 CMP R1, #0xA
ROM:1FFFD2A4 ITTT EQ
ROM:1FFFD2A6 LDREQB R1, [R0]
ROM:1FFFD2A8 ANDEQ.W R1, R1, #0x7F
ROM:1FFFD2AC CMPEQ R1, #1
ROM:1FFFD2AE BNE loc_1FFFD244
ROM:1FFFD2B0 LDRB R1, [R0,#0xA]
ROM:1FFFD2B2 CMP R1, #0
ROM:1FFFD2B4 BEQ loc_1FFFD244
ROM:1FFFD2B6 LDRH R1, [R0,#2]
ROM:1FFFD2B8 CMP R1, #0
ROM:1FFFD2BA ITTTT EQ
ROM:1FFFD2BC LDREQB R1, [R0,#4]
ROM:1FFFD2BE CMPEQ R1, #0
ROM:1FFFD2C0 LDREQH R1, [R0,#6]
ROM:1FFFD2C2 CMPEQ R1, #1
ROM:1FFFD2C4 BNE loc_1FFFD244
ROM:1FFFD2C6 MOVS R1, #0
ROM:1FFFD2C8 LDRB R0, [R0,#5]
ROM:1FFFD2CA LDR R2, [R2,#0x18]
ROM:1FFFD2CC BLX R2
ROM:1FFFD2CE CMP R0, #0
ROM:1FFFD2D0 BNE loc_1FFFD244
ROM:1FFFD2D2 LDR R1, =(sub_1FFFCDC2+1)
ROM:1FFFD2D4
ROM:1FFFD2D4 loc_1FFFD2D4 ; CODE XREF: sub_1FFFD1D8+20j
ROM:1FFFD2D4 ; sub_1FFFD1D8+28j ...
ROM:1FFFD2D4 MOVS R0, R1
ROM:1FFFD2D6 BEQ loc_1FFFD244
ROM:1FFFD2D8 LDR R0, [R5]
ROM:1FFFD2DA MOVS R2, #0
ROM:1FFFD2DC STRH R2, [R0,#0x12]
ROM:1FFFD2DE STR R1, [R0,#0x18]
ROM:1FFFD2E0 MOVS R0, #0
ROM:1FFFD2E2 BLX R1
ROM:1FFFD2E4 MOVS R0, #0
ROM:1FFFD2E6
ROM:1FFFD2E6 loc_1FFFD2E6 ; CODE XREF: sub_1FFFD1D8+78j
ROM:1FFFD2E6 LDR R1, [R5]
ROM:1FFFD2E8 LDRH R2, [R1,#0x10]
ROM:1FFFD2EA MOVW R3, #0xFFFF
ROM:1FFFD2EE CMP R2, R3
ROM:1FFFD2F0 IT EQ
ROM:1FFFD2F2 MOVEQ R0, #9
ROM:1FFFD2F4 BEQ loc_1FFFD300
ROM:1FFFD2F6 CMP R0, #2
ROM:1FFFD2F8 IT NE
ROM:1FFFD2FA CMPNE R2, #0
ROM:1FFFD2FC BNE loc_1FFFD304
ROM:1FFFD2FE MOVS R0, #8
ROM:1FFFD300
ROM:1FFFD300 loc_1FFFD300 ; CODE XREF: sub_1FFFD1D8+11Cj
ROM:1FFFD300 STRB R0, [R1,#8]
ROM:1FFFD302 POP {R0,R4-R7,PC}
ROM:1FFFD304 ; ---------------------------------------------------------------------------
ROM:1FFFD304
ROM:1FFFD304 loc_1FFFD304 ; CODE XREF: sub_1FFFD1D8+124j
ROM:1FFFD304 LDRB R0, [R1]
ROM:1FFFD306 LSLS R0, R0, #0x18
ROM:1FFFD308 BPL loc_1FFFD348
ROM:1FFFD30A LDRH R0, [R1,#6]
ROM:1FFFD30C STR R0, [SP,#0x18+var_18]
ROM:1FFFD30E LDR R3, [R4]
ROM:1FFFD310 LDR R4, [SP,#0x18+var_18]
ROM:1FFFD312 CMP R4, R2
ROM:1FFFD314 ITT CC
ROM:1FFFD316 LDRCC R0, [SP,#0x18+var_18]
ROM:1FFFD318 STRCCH R0, [R1,#0x10]
ROM:1FFFD31A BCC loc_1FFFD33C
ROM:1FFFD31C CMP R2, R0
ROM:1FFFD31E BCS loc_1FFFD33C
ROM:1FFFD320 LDRB.W R0, [R3,#0x2C]
ROM:1FFFD324 LDR R4, =0x20000C68
ROM:1FFFD326 CMP R2, R0
ROM:1FFFD328 IT CC
ROM:1FFFD32A MOVCC R0, #0
ROM:1FFFD32C BCC loc_1FFFD33A
ROM:1FFFD32E SDIV.W R5, R2, R0
ROM:1FFFD332 MLS.W R0, R0, R5, R2
ROM:1FFFD336 CBNZ R0, loc_1FFFD33C
ROM:1FFFD338 MOVS R0, #1
ROM:1FFFD33A
ROM:1FFFD33A loc_1FFFD33A ; CODE XREF: sub_1FFFD1D8+154j
ROM:1FFFD33A STRB R0, [R4]
ROM:1FFFD33C
ROM:1FFFD33C loc_1FFFD33C ; CODE XREF: sub_1FFFD1D8+142j
ROM:1FFFD33C ; sub_1FFFD1D8+146j ...
ROM:1FFFD33C LDRB.W R0, [R3,#0x2C]
ROM:1FFFD340 STRH R0, [R1,#0x14]
ROM:1FFFD342 POP.W {R0,R4-R7,LR}
ROM:1FFFD346 B sub_1FFFD06E
ROM:1FFFD348 ; ---------------------------------------------------------------------------
ROM:1FFFD348
ROM:1FFFD348 loc_1FFFD348 ; CODE XREF: sub_1FFFD1D8+130j
ROM:1FFFD348 MOVS R0, #3
ROM:1FFFD34A STRB R0, [R1,#8]
ROM:1FFFD34C LDR R0, =0x20000098
ROM:1FFFD34E MOV.W R1, #0x3000
ROM:1FFFD352 STRH R1, [R0]
ROM:1FFFD354 POP {R0,R4-R7,PC}
ROM:1FFFD354 ; End of function sub_1FFFD1D8
ROM:1FFFD354
ROM:1FFFD356
ROM:1FFFD356 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD356
ROM:1FFFD356
ROM:1FFFD356 sub_1FFFD356 ; CODE XREF: sub_1FFFE430+38p
ROM:1FFFD356 PUSH {R3-R5,LR}
ROM:1FFFD358 MOVS R0, #0
ROM:1FFFD35A BL sub_1FFFDCA2
ROM:1FFFD35E LDR R1, =0x20000C5C
ROM:1FFFD360 STR R0, [R1]
ROM:1FFFD362 LDR R5, [R0,#0x14]
ROM:1FFFD364 BL sub_1FFFD948
ROM:1FFFD368 BL sub_1FFFD3B2
ROM:1FFFD36C LDRB R1, [R0,#8]
ROM:1FFFD36E CMP R1, #9
ROM:1FFFD370 BEQ loc_1FFFD39A
ROM:1FFFD372 LDRB R1, [R5]
ROM:1FFFD374 STRB R1, [R0]
ROM:1FFFD376 LDR R0, [R4]
ROM:1FFFD378 LDRB.W R1, [R5,#1]!
ROM:1FFFD37C STRB R1, [R0,#1]
ROM:1FFFD37E LDRH.W R0, [R5,#1]!
ROM:1FFFD382 BL sub_1FFFCC12
ROM:1FFFD386 LDR R1, [R4]
ROM:1FFFD388 STRH R0, [R1,#2]
ROM:1FFFD38A LDRH.W R0, [R5,#2]!
ROM:1FFFD38E BL sub_1FFFCC12
ROM:1FFFD392 LDR R1, [R4]
ROM:1FFFD394 STRH R0, [R1,#4]
ROM:1FFFD396 LDRH R0, [R5,#2]
ROM:1FFFD398 STRH R0, [R1,#6]
ROM:1FFFD39A
ROM:1FFFD39A loc_1FFFD39A ; CODE XREF: sub_1FFFD356+1Aj
ROM:1FFFD39A LDR R0, [R4]
ROM:1FFFD39C MOVS R1, #1
ROM:1FFFD39E STRB R1, [R0,#8]
ROM:1FFFD3A0 LDR R0, [R4]
ROM:1FFFD3A2 LDRH R0, [R0,#6]
ROM:1FFFD3A4 CBNZ R0, loc_1FFFD3AC
ROM:1FFFD3A6 BL sub_1FFFD10E
ROM:1FFFD3AA B loc_1FFFD3B0
ROM:1FFFD3AC ; ---------------------------------------------------------------------------
ROM:1FFFD3AC
ROM:1FFFD3AC loc_1FFFD3AC ; CODE XREF: sub_1FFFD356+4Ej
ROM:1FFFD3AC BL sub_1FFFD1D8
ROM:1FFFD3B0
ROM:1FFFD3B0 loc_1FFFD3B0 ; CODE XREF: sub_1FFFD356+54j
ROM:1FFFD3B0 B loc_1FFFD434
ROM:1FFFD3B0 ; End of function sub_1FFFD356
ROM:1FFFD3B0
ROM:1FFFD3B2
ROM:1FFFD3B2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD3B2
ROM:1FFFD3B2
ROM:1FFFD3B2 sub_1FFFD3B2 ; CODE XREF: sub_1FFFCDE4+2p
ROM:1FFFD3B2 ; sub_1FFFD06E+4p ...
ROM:1FFFD3B2 LDR R4, =0x20000C28
ROM:1FFFD3B4 LDR R0, [R4]
ROM:1FFFD3B6 BX LR
ROM:1FFFD3B6 ; End of function sub_1FFFD3B2
ROM:1FFFD3B6
ROM:1FFFD3B8
ROM:1FFFD3B8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD3B8
ROM:1FFFD3B8
ROM:1FFFD3B8 sub_1FFFD3B8 ; CODE XREF: sub_1FFFE356+BEp
ROM:1FFFD3B8 PUSH {R4,LR}
ROM:1FFFD3BA BL sub_1FFFD3B2
ROM:1FFFD3BE LDRB R1, [R0,#8]
ROM:1FFFD3C0 CMP R1, #2
ROM:1FFFD3C2 IT NE
ROM:1FFFD3C4 CMPNE R1, #4
ROM:1FFFD3C6 BNE loc_1FFFD3D2
ROM:1FFFD3C8 BL sub_1FFFD06E
ROM:1FFFD3CC LDR R0, [R4]
ROM:1FFFD3CE LDRB R0, [R0,#8]
ROM:1FFFD3D0 B loc_1FFFD3FC
ROM:1FFFD3D2 ; ---------------------------------------------------------------------------
ROM:1FFFD3D2
ROM:1FFFD3D2 loc_1FFFD3D2 ; CODE XREF: sub_1FFFD3B8+Ej
ROM:1FFFD3D2 CMP R1, #6
ROM:1FFFD3D4 BNE loc_1FFFD3FA
ROM:1FFFD3D6 LDRB R1, [R0,#1]
ROM:1FFFD3D8 CMP R1, #5
ROM:1FFFD3DA ITTT EQ
ROM:1FFFD3DC LDREQB R1, [R0]
ROM:1FFFD3DE MOVEQ R2, #0x7F
ROM:1FFFD3E0 TSTEQ R1, R2
ROM:1FFFD3E2 BNE loc_1FFFD3F2
ROM:1FFFD3E4 LDRB R0, [R0,#3]
ROM:1FFFD3E6 BL sub_1FFFDC68
ROM:1FFFD3EA BL sub_1FFFCEA8
ROM:1FFFD3EE LDR R0, [R0,#0x20]
ROM:1FFFD3F0 BLX R0
ROM:1FFFD3F2
ROM:1FFFD3F2 loc_1FFFD3F2 ; CODE XREF: sub_1FFFD3B8+2Aj
ROM:1FFFD3F2 LDR R0, =0x20000C2C
ROM:1FFFD3F4 LDR R0, [R0]
ROM:1FFFD3F6 LDR R0, [R0,#8]
ROM:1FFFD3F8 BLX R0
ROM:1FFFD3FA
ROM:1FFFD3FA loc_1FFFD3FA ; CODE XREF: sub_1FFFD3B8+1Cj
ROM:1FFFD3FA MOVS R0, #8
ROM:1FFFD3FC
ROM:1FFFD3FC loc_1FFFD3FC ; CODE XREF: sub_1FFFD3B8+18j
ROM:1FFFD3FC LDR R1, [R4]
ROM:1FFFD3FE STRB R0, [R1,#8]
ROM:1FFFD400 POP.W {R4,LR}
ROM:1FFFD404 B sub_1FFFD438
ROM:1FFFD404 ; End of function sub_1FFFD3B8
ROM:1FFFD404
ROM:1FFFD406
ROM:1FFFD406 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD406
ROM:1FFFD406
ROM:1FFFD406 sub_1FFFD406 ; CODE XREF: sub_1FFFE430+78p
ROM:1FFFD406 PUSH {R3-R5,LR}
ROM:1FFFD408 BL sub_1FFFD3B2
ROM:1FFFD40C LDRB R5, [R0,#8]
ROM:1FFFD40E CMP R5, #3
ROM:1FFFD410 IT NE
ROM:1FFFD412 CMPNE R5, #5
ROM:1FFFD414 BNE loc_1FFFD420
ROM:1FFFD416 BL sub_1FFFCFF2
ROM:1FFFD41A LDR R0, [R4]
ROM:1FFFD41C LDRB R5, [R0,#8]
ROM:1FFFD41E B loc_1FFFD430
ROM:1FFFD420 ; ---------------------------------------------------------------------------
ROM:1FFFD420
ROM:1FFFD420 loc_1FFFD420 ; CODE XREF: sub_1FFFD406+Ej
ROM:1FFFD420 CMP R5, #7
ROM:1FFFD422 BNE loc_1FFFD42E
ROM:1FFFD424 LDR R0, =0x20000C2C
ROM:1FFFD426 LDR R0, [R0]
ROM:1FFFD428 LDR R0, [R0,#0xC]
ROM:1FFFD42A BLX R0
ROM:1FFFD42C B loc_1FFFD430
ROM:1FFFD42E ; ---------------------------------------------------------------------------
ROM:1FFFD42E
ROM:1FFFD42E loc_1FFFD42E ; CODE XREF: sub_1FFFD406+1Cj
ROM:1FFFD42E MOVS R5, #8
ROM:1FFFD430
ROM:1FFFD430 loc_1FFFD430 ; CODE XREF: sub_1FFFD406+18j
ROM:1FFFD430 ; sub_1FFFD406+26j
ROM:1FFFD430 LDR R0, [R4]
ROM:1FFFD432 STRB R5, [R0,#8]
ROM:1FFFD434
ROM:1FFFD434 loc_1FFFD434 ; CODE XREF: sub_1FFFD356:loc_1FFFD3B0j
ROM:1FFFD434 POP.W {R0,R4,R5,LR}
ROM:1FFFD434 ; End of function sub_1FFFD406
ROM:1FFFD434
ROM:1FFFD438
ROM:1FFFD438 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD438
ROM:1FFFD438
ROM:1FFFD438 sub_1FFFD438 ; CODE XREF: sub_1FFFD3B8+4Cp
ROM:1FFFD438 PUSH {R7,LR}
ROM:1FFFD43A LDR R0, =0x20000108
ROM:1FFFD43C LDRB.W R1, [R0,#0x2C]
ROM:1FFFD440 MOVS R0, #0
ROM:1FFFD442 BL nullsub_1
ROM:1FFFD446 LDR R0, =0x20000C28
ROM:1FFFD448 LDR R0, [R0]
ROM:1FFFD44A LDRB R1, [R0,#8]
ROM:1FFFD44C CMP R1, #8
ROM:1FFFD44E BNE loc_1FFFD45E
ROM:1FFFD450 LDR R1, =0x20000098
ROM:1FFFD452 MOV.W R2, #0x1000
ROM:1FFFD456 STRH R2, [R1]
ROM:1FFFD458 LDR R1, =0x2000009A
ROM:1FFFD45A MOVS R2, #0x10
ROM:1FFFD45C STRH R2, [R1]
ROM:1FFFD45E
ROM:1FFFD45E loc_1FFFD45E ; CODE XREF: sub_1FFFD438+16j
ROM:1FFFD45E LDRB R0, [R0,#8]
ROM:1FFFD460 CMP R0, #9
ROM:1FFFD462 BNE loc_1FFFD468
ROM:1FFFD464 MOVS R0, #1
ROM:1FFFD466 POP {R1,PC}
ROM:1FFFD468 ; ---------------------------------------------------------------------------
ROM:1FFFD468
ROM:1FFFD468 loc_1FFFD468 ; CODE XREF: sub_1FFFD438+2Aj
ROM:1FFFD468 MOVS R0, #0
ROM:1FFFD46A POP {R1,PC}
ROM:1FFFD46A ; End of function sub_1FFFD438
ROM:1FFFD46A
ROM:1FFFD46A ; ---------------------------------------------------------------------------
ROM:1FFFD46C dword_1FFFD46C DCD 0x20000C28 ; DATA XREF: ROM:1FFFCD7Ar
ROM:1FFFD46C ; sub_1FFFCD90+2r ...
ROM:1FFFD470 dword_1FFFD470 DCD 0x20000248 ; DATA XREF: sub_1FFFCD90+Ar
ROM:1FFFD470 ; sub_1FFFCEB0+40r ...
ROM:1FFFD474 dword_1FFFD474 DCD 0x20000C2C ; DATA XREF: sub_1FFFCDE4+Ar
ROM:1FFFD474 ; sub_1FFFD10E+B2r ...
ROM:1FFFD478 dword_1FFFD478 DCD 0x20000C60 ; DATA XREF: sub_1FFFCE28:loc_1FFFCE3Ar
ROM:1FFFD47C dword_1FFFD47C DCD 0x20000C30 ; DATA XREF: sub_1FFFCEA8r
ROM:1FFFD480 dword_1FFFD480 DCD 0x20000108 ; DATA XREF: sub_1FFFCEB0+7Cr
ROM:1FFFD480 ; sub_1FFFD438+2r
ROM:1FFFD484 dword_1FFFD484 DCD 0x2000009A ; DATA XREF: sub_1FFFCFF2:loc_1FFFD02Cr
ROM:1FFFD484 ; sub_1FFFD06E+Er ...
ROM:1FFFD488 dword_1FFFD488 DCD 0x20000098 ; DATA XREF: sub_1FFFCFF2+42r
ROM:1FFFD488 ; sub_1FFFD06E+84r ...
ROM:1FFFD48C dword_1FFFD48C DCD 0x20000C68 ; DATA XREF: sub_1FFFD06E+1Cr
ROM:1FFFD48C ; sub_1FFFD1D8+14Cr
ROM:1FFFD490 off_1FFFD490 DCD sub_1FFFCE28+1 ; DATA XREF: sub_1FFFD1D8:loc_1FFFD28Er
ROM:1FFFD494 dword_1FFFD494 DCD 0x1FFFCD79 ; DATA XREF: sub_1FFFD1D8+C6r
ROM:1FFFD498 off_1FFFD498 DCD sub_1FFFCDC2+1 ; DATA XREF: sub_1FFFD1D8+FAr
ROM:1FFFD49C dword_1FFFD49C DCD 0x20000C5C ; DATA XREF: sub_1FFFD356+8r
ROM:1FFFD4A0 ; ---------------------------------------------------------------------------
ROM:1FFFD4A0
ROM:1FFFD4A0 locret_1FFFD4A0 ; DATA XREF: ROM:1FFFEA78o
ROM:1FFFD4A0 ; ROM:1FFFEA7Co ...
ROM:1FFFD4A0 BX LR
ROM:1FFFD4A0 ; ---------------------------------------------------------------------------
ROM:1FFFD4A2 ALIGN 4
ROM:1FFFD4A4
ROM:1FFFD4A4 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD4A4
ROM:1FFFD4A4
ROM:1FFFD4A4 trigger_usb_start ; CODE XREF: enale_usb_trans+14p
ROM:1FFFD4A4 LDR R0, =0x20000C0C
ROM:1FFFD4A6 STR R0, [R0,#0x1C]
ROM:1FFFD4A8 MOVS R1, #2
ROM:1FFFD4AA STRB R1, [R0,#8]
ROM:1FFFD4AC LDR R1, =0x20000108 ; 0x20000108->0x1FFFEADC->0x1FFFC291
ROM:1FFFD4AE STR R1, [R0,#0x20]
ROM:1FFFD4B0 LDR R2, =0x200001D0
ROM:1FFFD4B2 STR R2, [R0,#0x24]
ROM:1FFFD4B4 LDR R0, [R1]
ROM:1FFFD4B6 BX R0
ROM:1FFFD4B6 ; End of function trigger_usb_start
ROM:1FFFD4B6
ROM:1FFFD4B6 ; ---------------------------------------------------------------------------
ROM:1FFFD4B8 dword_1FFFD4B8 DCD 0x20000C0C ; DATA XREF: trigger_usb_startr
ROM:1FFFD4BC dword_1FFFD4BC DCD 0x20000108 ; DATA XREF: trigger_usb_start+8r
ROM:1FFFD4C0 dword_1FFFD4C0 DCD 0x200001D0 ; DATA XREF: trigger_usb_start+Cr
ROM:1FFFD4C4
ROM:1FFFD4C4 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD4C4
ROM:1FFFD4C4
ROM:1FFFD4C4 delay_10us ; CODE XREF: sub_1FFFD4D2+12p
ROM:1FFFD4C4 ; sub_1FFFD5B0+26p ...
ROM:1FFFD4C4 MOVS R1, #0
ROM:1FFFD4C6 MOVS R2, #0xA
ROM:1FFFD4C8 MULS R0, R2
ROM:1FFFD4CA
ROM:1FFFD4CA loc_1FFFD4CA ; CODE XREF: delay_10us+Aj
ROM:1FFFD4CA ADDS R1, R1, #1
ROM:1FFFD4CC CMP R0, R1
ROM:1FFFD4CE BCS loc_1FFFD4CA
ROM:1FFFD4D0 BX LR
ROM:1FFFD4D0 ; End of function delay_10us
ROM:1FFFD4D0
ROM:1FFFD4D2
ROM:1FFFD4D2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD4D2
ROM:1FFFD4D2
ROM:1FFFD4D2 sub_1FFFD4D2 ; CODE XREF: sub_1FFFD5B0+14p
ROM:1FFFD4D2 PUSH {R4,LR}
ROM:1FFFD4D4 LDR.W R0, =0x20000B34
ROM:1FFFD4D8 LDR R4, [R0]
ROM:1FFFD4DA MOV.W R0, #0x90000
ROM:1FFFD4DE STR R0, [R4,#0x38]
ROM:1FFFD4E0 LDR.W R0, =0x30D40
ROM:1FFFD4E4 BL delay_10us
ROM:1FFFD4E8 LDR R0, [R4,#0xC]
ROM:1FFFD4EA BIC.W R0, R0, #0x10000
ROM:1FFFD4EE STR R0, [R4,#0xC]
ROM:1FFFD4F0 MOVS R0, #0
ROM:1FFFD4F2 POP {R4,PC}
ROM:1FFFD4F2 ; End of function sub_1FFFD4D2
ROM:1FFFD4F2
ROM:1FFFD4F4
ROM:1FFFD4F4 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD4F4
ROM:1FFFD4F4
ROM:1FFFD4F4 sub_1FFFD4F4 ; CODE XREF: sub_1FFFE578+3Cp
ROM:1FFFD4F4 PUSH {R4,LR}
ROM:1FFFD4F6 ADDS R2, R2, #3
ROM:1FFFD4F8 ASRS R3, R2, #1
ROM:1FFFD4FA ADD.W R2, R2, R3,LSR#30
ROM:1FFFD4FE LDR.W R3, =0x20000B34
ROM:1FFFD502 ADD.W R1, R3, R1,LSL#2
ROM:1FFFD506 LDR R1, [R1,#0x70]
ROM:1FFFD508 MOVS R3, #0
ROM:1FFFD50A B loc_1FFFD514
ROM:1FFFD50C ; ---------------------------------------------------------------------------
ROM:1FFFD50C
ROM:1FFFD50C loc_1FFFD50C ; CODE XREF: sub_1FFFD4F4+24j
ROM:1FFFD50C LDR.W R4, [R0],#4
ROM:1FFFD510 STR R4, [R1]
ROM:1FFFD512 ADDS R3, R3, #1
ROM:1FFFD514
ROM:1FFFD514 loc_1FFFD514 ; CODE XREF: sub_1FFFD4F4+16j
ROM:1FFFD514 CMP.W R3, R2,ASR#2
ROM:1FFFD518 BCC loc_1FFFD50C
ROM:1FFFD51A MOVS R0, #0
ROM:1FFFD51C POP {R4,PC}
ROM:1FFFD51C ; End of function sub_1FFFD4F4
ROM:1FFFD51C
ROM:1FFFD51E
ROM:1FFFD51E ; =============== S U B R O U T I N E =======================================
ROM:1FFFD51E
ROM:1FFFD51E
ROM:1FFFD51E sub_1FFFD51E ; CODE XREF: sub_1FFFE4B0+42p
ROM:1FFFD51E ; sub_1FFFE4B0+60p
ROM:1FFFD51E PUSH {R4,LR}
ROM:1FFFD520 ADDS R1, R1, #3
ROM:1FFFD522 ASRS R2, R1, #1
ROM:1FFFD524 ADD.W R1, R1, R2,LSR#30
ROM:1FFFD528 LDR.W R2, =0x20000B34
ROM:1FFFD52C LDR R2, [R2,#0x70]
ROM:1FFFD52E MOVS R3, #0
ROM:1FFFD530 B loc_1FFFD53A
ROM:1FFFD532 ; ---------------------------------------------------------------------------
ROM:1FFFD532
ROM:1FFFD532 loc_1FFFD532 ; CODE XREF: sub_1FFFD51E+20j
ROM:1FFFD532 LDR R4, [R2]
ROM:1FFFD534 STR.W R4, [R0],#4
ROM:1FFFD538 ADDS R3, R3, #1
ROM:1FFFD53A
ROM:1FFFD53A loc_1FFFD53A ; CODE XREF: sub_1FFFD51E+12j
ROM:1FFFD53A CMP.W R3, R1,ASR#2
ROM:1FFFD53E BCC loc_1FFFD532
ROM:1FFFD540 POP {R4,PC}
ROM:1FFFD540 ; End of function sub_1FFFD51E
ROM:1FFFD540
ROM:1FFFD542
ROM:1FFFD542 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD542
ROM:1FFFD542
ROM:1FFFD542 USB_OTG_SelectCore ; CODE XREF: usb_chuli+8p
ROM:1FFFD542 PUSH {R4,R5,LR}
ROM:1FFFD544 MOVS R2, #0
ROM:1FFFD546 LDR.W R1, =0x20000B34
ROM:1FFFD54A STR R0, [R1]
ROM:1FFFD54C ADD.W R3, R0, #0x800
ROM:1FFFD550 STR R3, [R1,#4]
ROM:1FFFD552
ROM:1FFFD552 loc_1FFFD552 ; CODE XREF: USB_OTG_SelectCore+28j
ROM:1FFFD552 ADD.W R3, R1, R2,LSL#2
ROM:1FFFD556 ADD.W R4, R0, R2,LSL#5
ROM:1FFFD55A ADD.W R5, R4, #0x900
ROM:1FFFD55E STR R5, [R3,#0xC]
ROM:1FFFD560 ADD.W R4, R4, #0xB00
ROM:1FFFD564 STR R4, [R3,#0x2C]
ROM:1FFFD566 ADDS R2, R2, #1
ROM:1FFFD568 CMP R2, #8
ROM:1FFFD56A BCC loc_1FFFD552
ROM:1FFFD56C ADD.W R2, R0, #0x400
ROM:1FFFD570 STR R2, [R1,#8]
ROM:1FFFD572 ADD.W R2, R0, #0x440
ROM:1FFFD576 STR R2, [R1,#0x6C]
ROM:1FFFD578 MOVS R2, #0
ROM:1FFFD57A
ROM:1FFFD57A loc_1FFFD57A ; CODE XREF: USB_OTG_SelectCore+4Aj
ROM:1FFFD57A ADD.W R3, R1, R2,LSL#2
ROM:1FFFD57E ADD.W R4, R0, R2,LSL#5
ROM:1FFFD582 ADD.W R4, R4, #0x500
ROM:1FFFD586 STR R4, [R3,#0x4C]
ROM:1FFFD588 ADDS R2, R2, #1
ROM:1FFFD58A CMP R2, #8
ROM:1FFFD58C BCC loc_1FFFD57A
ROM:1FFFD58E MOVS R2, #0
ROM:1FFFD590
ROM:1FFFD590 loc_1FFFD590 ; CODE XREF: USB_OTG_SelectCore+60j
ROM:1FFFD590 ADD.W R3, R1, R2,LSL#2
ROM:1FFFD594 ADD.W R4, R0, R2,LSL#12
ROM:1FFFD598 ADD.W R4, R4, #0x1000
ROM:1FFFD59C STR R4, [R3,#0x70]
ROM:1FFFD59E ADDS R2, R2, #1
ROM:1FFFD5A0 CMP R2, #8
ROM:1FFFD5A2 BCC loc_1FFFD590
ROM:1FFFD5A4 ADD.W R0, R0, #0xE00
ROM:1FFFD5A8 STR.W R0, [R1,#0x90]
ROM:1FFFD5AC MOVS R0, #0
ROM:1FFFD5AE POP {R4,R5,PC}
ROM:1FFFD5AE ; End of function USB_OTG_SelectCore
ROM:1FFFD5AE
ROM:1FFFD5B0
ROM:1FFFD5B0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD5B0
ROM:1FFFD5B0
ROM:1FFFD5B0 sub_1FFFD5B0 ; CODE XREF: usb_chuli+10p
ROM:1FFFD5B0 PUSH {R4,LR}
ROM:1FFFD5B2 LDR.W R4, =0x20000B34
ROM:1FFFD5B6 LDR R0, [R4]
ROM:1FFFD5B8 LDR R1, [R0,#0xC]
ROM:1FFFD5BA ORR.W R1, R1, #0x40
ROM:1FFFD5BE STR R1, [R0,#0xC]
ROM:1FFFD5C0 BL sub_1FFFD5DE
ROM:1FFFD5C4 BL sub_1FFFD4D2
ROM:1FFFD5C8 LDR R0, [R4]
ROM:1FFFD5CA LDR R1, [R0,#0xC]
ROM:1FFFD5CC ORR.W R1, R1, #0x40000000
ROM:1FFFD5D0 STR R1, [R0,#0xC]
ROM:1FFFD5D2 MOVW R0, #0xC350
ROM:1FFFD5D6 BL delay_10us
ROM:1FFFD5DA MOVS R0, #0
ROM:1FFFD5DC POP {R4,PC}
ROM:1FFFD5DC ; End of function sub_1FFFD5B0
ROM:1FFFD5DC
ROM:1FFFD5DE
ROM:1FFFD5DE ; =============== S U B R O U T I N E =======================================
ROM:1FFFD5DE
ROM:1FFFD5DE
ROM:1FFFD5DE sub_1FFFD5DE ; CODE XREF: sub_1FFFCAA0+10p
ROM:1FFFD5DE ; sub_1FFFD5B0+10p
ROM:1FFFD5DE
ROM:1FFFD5DE var_10 = -0x10
ROM:1FFFD5DE
ROM:1FFFD5DE PUSH {R3-R5,LR}
ROM:1FFFD5E0 MOVS R0, #0
ROM:1FFFD5E2 STR R0, [SP,#0x10+var_10]
ROM:1FFFD5E4 LDR.W R4, =0x30D41
ROM:1FFFD5E8 MOV R5, R4
ROM:1FFFD5EA
ROM:1FFFD5EA loc_1FFFD5EA ; CODE XREF: sub_1FFFD5DE+24j
ROM:1FFFD5EA MOVS R0, #3
ROM:1FFFD5EC BL delay_10us
ROM:1FFFD5F0 LDR.W R0, =0x20000B34
ROM:1FFFD5F4 LDR R0, [R0]
ROM:1FFFD5F6 LDR R1, [R0,#0x10]
ROM:1FFFD5F8 STR R1, [SP,#0x10+var_10]
ROM:1FFFD5FA SUBS R5, R5, #1
ROM:1FFFD5FC BEQ loc_1FFFD624
ROM:1FFFD5FE LDR R1, [SP,#0x10+var_10]
ROM:1FFFD600 CMP R1, #0
ROM:1FFFD602 BPL loc_1FFFD5EA
ROM:1FFFD604 LDR R1, [SP,#0x10+var_10]
ROM:1FFFD606 ORR.W R1, R1, #1
ROM:1FFFD60A STR R1, [SP,#0x10+var_10]
ROM:1FFFD60C LDR R1, [SP,#0x10+var_10]
ROM:1FFFD60E STR R1, [R0,#0x10]
ROM:1FFFD610
ROM:1FFFD610 loc_1FFFD610 ; CODE XREF: sub_1FFFD5DE+3Ej
ROM:1FFFD610 LDR R1, [R0,#0x10]
ROM:1FFFD612 STR R1, [SP,#0x10+var_10]
ROM:1FFFD614 SUBS R4, R4, #1
ROM:1FFFD616 BEQ loc_1FFFD61E
ROM:1FFFD618 LDR R1, [SP,#0x10+var_10]
ROM:1FFFD61A LSLS R1, R1, #0x1F
ROM:1FFFD61C BMI loc_1FFFD610
ROM:1FFFD61E
ROM:1FFFD61E loc_1FFFD61E ; CODE XREF: sub_1FFFD5DE+38j
ROM:1FFFD61E MOVS R0, #0xA
ROM:1FFFD620 BL delay_10us
ROM:1FFFD624
ROM:1FFFD624 loc_1FFFD624 ; CODE XREF: sub_1FFFD5DE+1Ej
ROM:1FFFD624 MOVS R0, #0
ROM:1FFFD626 POP {R1,R4,R5,PC}
ROM:1FFFD626 ; End of function sub_1FFFD5DE
ROM:1FFFD626
ROM:1FFFD628
ROM:1FFFD628 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD628
ROM:1FFFD628
ROM:1FFFD628 sub_1FFFD628 ; CODE XREF: usb_chuli+44p
ROM:1FFFD628 LDR.W R0, =0x20000B34
ROM:1FFFD62C LDR R0, [R0]
ROM:1FFFD62E LDR R1, [R0,#8]
ROM:1FFFD630 ORR.W R1, R1, #1
ROM:1FFFD634 B loc_1FFFD642
ROM:1FFFD634 ; End of function sub_1FFFD628
ROM:1FFFD634
ROM:1FFFD636
ROM:1FFFD636 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD636
ROM:1FFFD636
ROM:1FFFD636 sub_1FFFD636 ; CODE XREF: usb_chuli+Cp
ROM:1FFFD636 LDR.W R0, =0x20000B34
ROM:1FFFD63A LDR R0, [R0]
ROM:1FFFD63C LDR R1, [R0,#8]
ROM:1FFFD63E LSRS R1, R1, #1
ROM:1FFFD640 LSLS R1, R1, #1
ROM:1FFFD642
ROM:1FFFD642 loc_1FFFD642 ; CODE XREF: sub_1FFFD628+Cj
ROM:1FFFD642 STR R1, [R0,#8]
ROM:1FFFD644 MOVS R0, #0
ROM:1FFFD646 BX LR
ROM:1FFFD646 ; End of function sub_1FFFD636
ROM:1FFFD646
ROM:1FFFD648
ROM:1FFFD648 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD648
ROM:1FFFD648
ROM:1FFFD648 sub_1FFFD648 ; CODE XREF: sub_1FFFCAA0+8p
ROM:1FFFD648 ; sub_1FFFD6E2+58p ...
ROM:1FFFD648
ROM:1FFFD648 var_8 = -8
ROM:1FFFD648
ROM:1FFFD648 PUSH {R7,LR}
ROM:1FFFD64A MOVS R1, #0
ROM:1FFFD64C STR R1, [SP,#8+var_8]
ROM:1FFFD64E LDR R1, [SP,#8+var_8]
ROM:1FFFD650 ORR.W R1, R1, #0x20
ROM:1FFFD654 STR R1, [SP,#8+var_8]
ROM:1FFFD656 LDR R1, [SP,#8+var_8]
ROM:1FFFD658 BFI.W R1, R0, #6, #5
ROM:1FFFD65C STR R1, [SP,#8+var_8]
ROM:1FFFD65E BL sub_1FFFD69C
ROM:1FFFD662
ROM:1FFFD662 loc_1FFFD662 ; CODE XREF: sub_1FFFD648+26j
ROM:1FFFD662 LDR R2, [R0,#0x10]
ROM:1FFFD664 STR R2, [SP,#8+var_8]
ROM:1FFFD666 SUBS R1, R1, #1
ROM:1FFFD668 BEQ loc_1FFFD670
ROM:1FFFD66A LDR R2, [SP,#8+var_8]
ROM:1FFFD66C LSLS R2, R2, #0x1A
ROM:1FFFD66E BMI loc_1FFFD662
ROM:1FFFD670
ROM:1FFFD670 loc_1FFFD670 ; CODE XREF: sub_1FFFD648+20j
ROM:1FFFD670 B loc_1FFFD692
ROM:1FFFD670 ; End of function sub_1FFFD648
ROM:1FFFD670
ROM:1FFFD672
ROM:1FFFD672 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD672
ROM:1FFFD672
ROM:1FFFD672 sub_1FFFD672 ; CODE XREF: sub_1FFFCAA0+Cp
ROM:1FFFD672 ; sub_1FFFD6E2+5Cp
ROM:1FFFD672
ROM:1FFFD672 var_8 = -8
ROM:1FFFD672
ROM:1FFFD672 PUSH {R7,LR}
ROM:1FFFD674 MOVS R0, #0
ROM:1FFFD676 STR R0, [SP,#8+var_8]
ROM:1FFFD678 LDR R0, [SP,#8+var_8]
ROM:1FFFD67A ORR.W R0, R0, #0x10
ROM:1FFFD67E STR R0, [SP,#8+var_8]
ROM:1FFFD680 BL sub_1FFFD69C
ROM:1FFFD684
ROM:1FFFD684 loc_1FFFD684 ; CODE XREF: sub_1FFFD672+1Ej
ROM:1FFFD684 LDR R2, [R0,#0x10]
ROM:1FFFD686 STR R2, [SP,#8+var_8]
ROM:1FFFD688 SUBS R1, R1, #1
ROM:1FFFD68A BEQ loc_1FFFD692
ROM:1FFFD68C LDR R2, [SP,#8+var_8]
ROM:1FFFD68E LSLS R2, R2, #0x1B
ROM:1FFFD690 BMI loc_1FFFD684
ROM:1FFFD692
ROM:1FFFD692 loc_1FFFD692 ; CODE XREF: sub_1FFFD648:loc_1FFFD670j
ROM:1FFFD692 ; sub_1FFFD672+18j
ROM:1FFFD692 MOVS R0, #3
ROM:1FFFD694
ROM:1FFFD694 loc_1FFFD694 ; CODE XREF: sub_1FFFD6AC+14j
ROM:1FFFD694 BL delay_10us
ROM:1FFFD698 MOVS R0, #0
ROM:1FFFD69A POP {R1,PC}
ROM:1FFFD69A ; End of function sub_1FFFD672
ROM:1FFFD69A
ROM:1FFFD69C
ROM:1FFFD69C ; =============== S U B R O U T I N E =======================================
ROM:1FFFD69C
ROM:1FFFD69C
ROM:1FFFD69C sub_1FFFD69C ; CODE XREF: sub_1FFFD648+16p
ROM:1FFFD69C ; sub_1FFFD672+Ep
ROM:1FFFD69C
ROM:1FFFD69C arg_0 = 0
ROM:1FFFD69C
ROM:1FFFD69C LDR.W R0, =0x20000B34
ROM:1FFFD6A0 LDR R0, [R0]
ROM:1FFFD6A2 LDR R1, [SP,#arg_0]
ROM:1FFFD6A4 STR R1, [R0,#0x10]
ROM:1FFFD6A6 LDR.W R1, =0x30D41
ROM:1FFFD6AA BX LR
ROM:1FFFD6AA ; End of function sub_1FFFD69C
ROM:1FFFD6AA
ROM:1FFFD6AC
ROM:1FFFD6AC ; =============== S U B R O U T I N E =======================================
ROM:1FFFD6AC
ROM:1FFFD6AC
ROM:1FFFD6AC sub_1FFFD6AC ; CODE XREF: sub_1FFFCAA0+14p
ROM:1FFFD6AC PUSH {R7,LR}
ROM:1FFFD6AE LDR.W R0, =0x20000B34
ROM:1FFFD6B2 LDR R0, [R0]
ROM:1FFFD6B4 LDR R1, [R0,#0xC]
ROM:1FFFD6B6 BIC.W R1, R1, #0x60000000
ROM:1FFFD6BA STR R1, [R0,#0xC]
ROM:1FFFD6BC MOVW R0, #0xC350
ROM:1FFFD6C0 B loc_1FFFD694
ROM:1FFFD6C0 ; End of function sub_1FFFD6AC
ROM:1FFFD6C0
ROM:1FFFD6C2
ROM:1FFFD6C2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD6C2
ROM:1FFFD6C2
ROM:1FFFD6C2 sub_1FFFD6C2 ; CODE XREF: ROM:1FFFE288p
ROM:1FFFD6C2 LDR.W R0, =0x20000B34
ROM:1FFFD6C6 LDR R0, [R0]
ROM:1FFFD6C8 LDR R0, [R0,#0x14]
ROM:1FFFD6CA AND.W R0, R0, #1
ROM:1FFFD6CE EOR.W R0, R0, #1
ROM:1FFFD6D2 BX LR
ROM:1FFFD6D2 ; End of function sub_1FFFD6C2
ROM:1FFFD6D2
ROM:1FFFD6D4
ROM:1FFFD6D4 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD6D4
ROM:1FFFD6D4
ROM:1FFFD6D4 sub_1FFFD6D4 ; CODE XREF: ROM:1FFFE290p
ROM:1FFFD6D4 LDR.W R0, =0x20000B34
ROM:1FFFD6D8 LDR R0, [R0]
ROM:1FFFD6DA LDR R1, [R0,#0x14]
ROM:1FFFD6DC LDR R0, [R0,#0x18]
ROM:1FFFD6DE ANDS R0, R1
ROM:1FFFD6E0 BX LR
ROM:1FFFD6E0 ; End of function sub_1FFFD6D4
ROM:1FFFD6E0
ROM:1FFFD6E2
ROM:1FFFD6E2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD6E2
ROM:1FFFD6E2
ROM:1FFFD6E2 sub_1FFFD6E2 ; CODE XREF: usb_chuli+14p
ROM:1FFFD6E2 PUSH {R4-R6,LR}
ROM:1FFFD6E4 LDR.W R4, =0x20000B34
ROM:1FFFD6E8 LDR R0, [R4,#4]
ROM:1FFFD6EA LDR R1, [R0]
ROM:1FFFD6EC ORR.W R1, R1, #3
ROM:1FFFD6F0 STR R1, [R0]
ROM:1FFFD6F2 LDR.W R0, [R4,#0x90]
ROM:1FFFD6F6 MOVS R1, #0
ROM:1FFFD6F8 STR R1, [R0]
ROM:1FFFD6FA LDR R0, [R4,#4]
ROM:1FFFD6FC LDR R1, [R0]
ROM:1FFFD6FE BIC.W R1, R1, #0x1800
ROM:1FFFD702 STR R1, [R0]
ROM:1FFFD704 LDR R0, [R4]
ROM:1FFFD706 MOVS R1, #0xA0
ROM:1FFFD708 STR R1, [R0,#0x24]
ROM:1FFFD70A LDR R0, [R4]
ROM:1FFFD70C MOV.W R1, #0xA000A0
ROM:1FFFD710 STR R1, [R0,#0x28]
ROM:1FFFD712 MOV.W R0, #0x140
ROM:1FFFD716 MOVS R1, #1
ROM:1FFFD718
ROM:1FFFD718 loc_1FFFD718 ; CODE XREF: sub_1FFFD6E2+54j
ROM:1FFFD718 UXTH R0, R0
ROM:1FFFD71A ORR.W R0, R0, #0xA00000
ROM:1FFFD71E LDR R2, [R4]
ROM:1FFFD720 ADD.W R2, R2, R1,LSL#2
ROM:1FFFD724 STR.W R0, [R2,#0x100]
ROM:1FFFD728 ADD.W R0, R0, R0,LSR#16
ROM:1FFFD72C UXTH R0, R0
ROM:1FFFD72E ORR.W R0, R0, #0xA00000
ROM:1FFFD732 ADDS R1, R1, #1
ROM:1FFFD734 CMP R1, #4
ROM:1FFFD736 BCC loc_1FFFD718
ROM:1FFFD738 MOVS R0, #0x10
ROM:1FFFD73A BL sub_1FFFD648
ROM:1FFFD73E BL sub_1FFFD672
ROM:1FFFD742 LDR R0, [R4,#4]
ROM:1FFFD744 MOVS R1, #0
ROM:1FFFD746 STR R1, [R0,#0x10]
ROM:1FFFD748 LDR R0, [R4,#4]
ROM:1FFFD74A STR R1, [R0,#0x14]
ROM:1FFFD74C LDR R0, [R4,#4]
ROM:1FFFD74E MOV.W R1, #0xFFFFFFFF
ROM:1FFFD752 STR R1, [R0,#0x18]
ROM:1FFFD754 LDR R0, [R4,#4]
ROM:1FFFD756 MOVS R1, #0
ROM:1FFFD758 STR R1, [R0,#0x1C]
ROM:1FFFD75A MOVS R2, #0
ROM:1FFFD75C MOVS R0, #0xFF
ROM:1FFFD75E MOV.W R1, #0x48000000
ROM:1FFFD762
ROM:1FFFD762 loc_1FFFD762 ; CODE XREF: sub_1FFFD6E2+A0j
ROM:1FFFD762 ADD.W R3, R4, R2,LSL#2
ROM:1FFFD766 LDR R5, [R3,#0xC]
ROM:1FFFD768 LDR R6, [R5]
ROM:1FFFD76A CMP R6, #0
ROM:1FFFD76C ITE MI
ROM:1FFFD76E MOVMI R6, R1
ROM:1FFFD770 MOVPL R6, #0
ROM:1FFFD772 STR R6, [R5]
ROM:1FFFD774 LDR R5, [R3,#0xC]
ROM:1FFFD776 MOVS R6, #0
ROM:1FFFD778 STR R6, [R5,#0x10]
ROM:1FFFD77A LDR R3, [R3,#0xC]
ROM:1FFFD77C STR R0, [R3,#8]
ROM:1FFFD77E ADDS R2, R2, #1
ROM:1FFFD780 CMP R2, #5
ROM:1FFFD782 BCC loc_1FFFD762
ROM:1FFFD784 LDR R2, [R4,#0x2C]
ROM:1FFFD786 LDR R3, [R2]
ROM:1FFFD788 CMP R3, #0
ROM:1FFFD78A IT PL
ROM:1FFFD78C MOVPL R1, #0
ROM:1FFFD78E STR R1, [R2]
ROM:1FFFD790 LDR R1, [R4,#0x2C]
ROM:1FFFD792 STR R6, [R1,#0x10]
ROM:1FFFD794 LDR R1, [R4,#0x2C]
ROM:1FFFD796 STR R0, [R1,#8]
ROM:1FFFD798 BL sub_1FFFD7AC
ROM:1FFFD79C LDR R0, [R4,#4]
ROM:1FFFD79E LDR R1, [R0,#0x10]
ROM:1FFFD7A0 MOV.W R2, #0x100
ROM:1FFFD7A4 ORRS R1, R2
ROM:1FFFD7A6 STR R1, [R0,#0x10]
ROM:1FFFD7A8 MOVS R0, #0
ROM:1FFFD7AA POP {R4-R6,PC}
ROM:1FFFD7AA ; End of function sub_1FFFD6E2
ROM:1FFFD7AA
ROM:1FFFD7AC
ROM:1FFFD7AC ; =============== S U B R O U T I N E =======================================
ROM:1FFFD7AC
ROM:1FFFD7AC
ROM:1FFFD7AC sub_1FFFD7AC ; CODE XREF: sub_1FFFD6E2+B6p
ROM:1FFFD7AC LDR.W R0, =0x20000B34
ROM:1FFFD7B0 LDR R0, [R0]
ROM:1FFFD7B2 MOVS R1, #0
ROM:1FFFD7B4 STR R1, [R0,#0x18]
ROM:1FFFD7B6 MOV.W R1, #0xFFFFFFFF
ROM:1FFFD7BA STR R1, [R0,#0x14]
ROM:1FFFD7BC STR R1, [R0,#4]
ROM:1FFFD7BE STR R1, [R0,#0x14]
ROM:1FFFD7C0 MOV.W R1, #0x208
ROM:1FFFD7C4 STR R1, [R0,#0x18]
ROM:1FFFD7C6 LDR R1, [R0,#0x18]
ROM:1FFFD7C8 ORR.W R1, R1, #0xC3000
ROM:1FFFD7CC ORR.W R1, R1, #0x10
ROM:1FFFD7D0 STR R1, [R0,#0x18]
ROM:1FFFD7D2 MOVS R0, #0
ROM:1FFFD7D4 BX LR
ROM:1FFFD7D4 ; End of function sub_1FFFD7AC
ROM:1FFFD7D4
ROM:1FFFD7D6
ROM:1FFFD7D6 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD7D6
ROM:1FFFD7D6
ROM:1FFFD7D6 sub_1FFFD7D6 ; CODE XREF: ROM:1FFFE2C2p
ROM:1FFFD7D6 PUSH {R4,LR}
ROM:1FFFD7D8 LDR.W R0, =0x20000B34
ROM:1FFFD7DC LDR R1, [R0,#4]
ROM:1FFFD7DE LDR R2, [R1,#8]
ROM:1FFFD7E0 LDR R0, [R0,#0xC]
ROM:1FFFD7E2 LDR R3, [R0]
ROM:1FFFD7E4 LSRS R4, R3, #0xB
ROM:1FFFD7E6 LSLS R4, R4, #0xB
ROM:1FFFD7E8 LSRS R2, R2, #1
ROM:1FFFD7EA ANDS.W R2, R2, #3
ROM:1FFFD7EE BEQ loc_1FFFD7FA
ROM:1FFFD7F0 CMP R2, #2
ROM:1FFFD7F2 BEQ loc_1FFFD7FE
ROM:1FFFD7F4 BCC loc_1FFFD7FA
ROM:1FFFD7F6 CMP R2, #3
ROM:1FFFD7F8 BNE loc_1FFFD802
ROM:1FFFD7FA
ROM:1FFFD7FA loc_1FFFD7FA ; CODE XREF: sub_1FFFD7D6+18j
ROM:1FFFD7FA ; sub_1FFFD7D6+1Ej
ROM:1FFFD7FA MOV R3, R4
ROM:1FFFD7FC B loc_1FFFD802
ROM:1FFFD7FE ; ---------------------------------------------------------------------------
ROM:1FFFD7FE
ROM:1FFFD7FE loc_1FFFD7FE ; CODE XREF: sub_1FFFD7D6+1Cj
ROM:1FFFD7FE ORR.W R3, R4, #3
ROM:1FFFD802
ROM:1FFFD802 loc_1FFFD802 ; CODE XREF: sub_1FFFD7D6+22j
ROM:1FFFD802 ; sub_1FFFD7D6+26j
ROM:1FFFD802 STR R3, [R0]
ROM:1FFFD804 LDR R0, [R1,#4]
ROM:1FFFD806 MOV.W R2, #0x100
ROM:1FFFD80A ORRS R0, R2
ROM:1FFFD80C STR R0, [R1,#4]
ROM:1FFFD80E MOVS R0, #0
ROM:1FFFD810 POP {R4,PC}
ROM:1FFFD810 ; End of function sub_1FFFD7D6
ROM:1FFFD810
ROM:1FFFD812
ROM:1FFFD812 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD812
ROM:1FFFD812
ROM:1FFFD812 sub_1FFFD812 ; CODE XREF: sub_1FFFDBB4+48p
ROM:1FFFD812 PUSH {R4,R5,LR}
ROM:1FFFD814 LDR.W R1, =0x20000B34
ROM:1FFFD818 LDRB R2, [R0,#1]
ROM:1FFFD81A CMP R2, #1
ROM:1FFFD81C LDRB R3, [R0]
ROM:1FFFD81E ADD.W R2, R1, R3,LSL#2
ROM:1FFFD822 BNE loc_1FFFD830
ROM:1FFFD824 LDR R2, [R2,#0xC]
ROM:1FFFD826 MOVS R4, #1
ROM:1FFFD828 LSL.W R3, R4, R3
ROM:1FFFD82C UXTH R3, R3
ROM:1FFFD82E B loc_1FFFD83A
ROM:1FFFD830 ; ---------------------------------------------------------------------------
ROM:1FFFD830
ROM:1FFFD830 loc_1FFFD830 ; CODE XREF: sub_1FFFD812+10j
ROM:1FFFD830 LDR R2, [R2,#0x2C]
ROM:1FFFD832 MOVS R4, #1
ROM:1FFFD834 LSL.W R3, R4, R3
ROM:1FFFD838 LSLS R3, R3, #0x10
ROM:1FFFD83A
ROM:1FFFD83A loc_1FFFD83A ; CODE XREF: sub_1FFFD812+1Cj
ROM:1FFFD83A LDR R4, [R2]
ROM:1FFFD83C LSLS R5, R4, #0x10
ROM:1FFFD83E BMI loc_1FFFD86A
ROM:1FFFD840 LDR R5, =0xFC33F800
ROM:1FFFD842 ANDS R4, R5
ROM:1FFFD844 LDR R5, [R0,#0x10]
ROM:1FFFD846 LSLS R5, R5, #0x15
ROM:1FFFD848 ORRS.W R4, R4, R5,LSR#21
ROM:1FFFD84C LDR R5, [R0,#8]
ROM:1FFFD84E LSLS R5, R5, #0x12
ROM:1FFFD850 AND.W R5, R5, #0xC0000
ROM:1FFFD854 ORRS R4, R5
ROM:1FFFD856 LDR R0, [R0,#4]
ROM:1FFFD858 LSLS R0, R0, #0x16
ROM:1FFFD85A AND.W R0, R0, #0x3C00000
ROM:1FFFD85E ORRS R0, R4
ROM:1FFFD860 ORR.W R0, R0, #0x10000000
ROM:1FFFD864 ORR.W R0, R0, #0x8000
ROM:1FFFD868 STR R0, [R2]
ROM:1FFFD86A
ROM:1FFFD86A loc_1FFFD86A ; CODE XREF: sub_1FFFD812+2Cj
ROM:1FFFD86A LDR R0, [R1,#4]
ROM:1FFFD86C LDR R1, [R0,#0x1C]
ROM:1FFFD86E ORRS R1, R3
ROM:1FFFD870 STR R1, [R0,#0x1C]
ROM:1FFFD872 MOVS R0, #0
ROM:1FFFD874 POP {R4,R5,PC}
ROM:1FFFD874 ; End of function sub_1FFFD812
ROM:1FFFD874
ROM:1FFFD876
ROM:1FFFD876 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD876
ROM:1FFFD876
ROM:1FFFD876 sub_1FFFD876 ; CODE XREF: sub_1FFFDC04+50p
ROM:1FFFD876 PUSH {R4-R7,LR}
ROM:1FFFD878 LDR R1, =0x20000B34
ROM:1FFFD87A LDRB R2, [R0]
ROM:1FFFD87C ADD.W R2, R1, R2,LSL#2
ROM:1FFFD880 LDR R4, [R0,#0x18]
ROM:1FFFD882 LDRB R3, [R0,#1]
ROM:1FFFD884 CMP R3, #1
ROM:1FFFD886 BNE loc_1FFFD8F2
ROM:1FFFD888 LDR R5, [R2,#0xC]
ROM:1FFFD88A LDR R2, [R5]
ROM:1FFFD88C LDR R3, [R5,#0x10]
ROM:1FFFD88E CBNZ R4, loc_1FFFD89A
ROM:1FFFD890 AND.W R3, R3, #0xE0000000
ROM:1FFFD894 ORR.W R3, R3, #0x80000
ROM:1FFFD898 B loc_1FFFD8B0
ROM:1FFFD89A ; ---------------------------------------------------------------------------
ROM:1FFFD89A
ROM:1FFFD89A loc_1FFFD89A ; CODE XREF: sub_1FFFD876+18j
ROM:1FFFD89A LDR R6, [R0,#0x10]
ROM:1FFFD89C ADDS R7, R6, R4
ROM:1FFFD89E SUBS R7, R7, #1
ROM:1FFFD8A0 UDIV.W R6, R7, R6
ROM:1FFFD8A4 LSLS R4, R4, #0xD
ROM:1FFFD8A6 LSRS R4, R4, #0xD
ROM:1FFFD8A8 ORR.W R4, R4, R6,LSL#19
ROM:1FFFD8AC BFI.W R3, R4, #0, #0x1D
ROM:1FFFD8B0
ROM:1FFFD8B0 loc_1FFFD8B0 ; CODE XREF: sub_1FFFD876+22j
ROM:1FFFD8B0 STR R3, [R5,#0x10]
ROM:1FFFD8B2 LDR R3, [R0,#8]
ROM:1FFFD8B4 CMP R3, #1
ROM:1FFFD8B6 ITT NE
ROM:1FFFD8B8 LDRNE R3, [R0,#0x18]
ROM:1FFFD8BA CMPNE R3, #0
ROM:1FFFD8BC BEQ loc_1FFFD8CE
ROM:1FFFD8BE LDR R3, [R1,#4]
ROM:1FFFD8C0 LDR R4, [R3,#0x34]
ROM:1FFFD8C2 MOVS R5, #1
ROM:1FFFD8C4 LDRSB.W R6, [R0]
ROM:1FFFD8C8 LSLS R5, R6
ROM:1FFFD8CA ORRS R4, R5
ROM:1FFFD8CC STR R4, [R3,#0x34]
ROM:1FFFD8CE
ROM:1FFFD8CE loc_1FFFD8CE ; CODE XREF: sub_1FFFD876+46j
ROM:1FFFD8CE LDRB R3, [R0]
ROM:1FFFD8D0 ADD.W R3, R1, R3,LSL#2
ROM:1FFFD8D4 LDR R3, [R3,#0xC]
ROM:1FFFD8D6 ORR.W R2, R2, #0x84000000
ROM:1FFFD8DA STR R2, [R3]
ROM:1FFFD8DC LDR R1, [R1,#0xC]
ROM:1FFFD8DE LDR R2, [R1]
ROM:1FFFD8E0 BIC.W R2, R2, #0x7800
ROM:1FFFD8E4 LDRB R0, [R0]
ROM:1FFFD8E6 LSLS R0, R0, #0xB
ROM:1FFFD8E8 AND.W R0, R0, #0x7800
ROM:1FFFD8EC ORRS R0, R2
ROM:1FFFD8EE STR R0, [R1]
ROM:1FFFD8F0 B loc_1FFFD944
ROM:1FFFD8F2 ; ---------------------------------------------------------------------------
ROM:1FFFD8F2
ROM:1FFFD8F2 loc_1FFFD8F2 ; CODE XREF: sub_1FFFD876+10j
ROM:1FFFD8F2 LDR R5, [R2,#0x2C]
ROM:1FFFD8F4 LDR R2, [R5]
ROM:1FFFD8F6 LDR R3, [R5,#0x10]
ROM:1FFFD8F8 LDR R6, [R0,#0x10]
ROM:1FFFD8FA CBNZ R4, loc_1FFFD90A
ROM:1FFFD8FC LSLS R4, R6, #0xD
ROM:1FFFD8FE LSRS R4, R4, #0xD
ROM:1FFFD900 ORR.W R4, R4, #0x80000
ROM:1FFFD904 BFI.W R3, R4, #0, #0x1D
ROM:1FFFD908 B loc_1FFFD920
ROM:1FFFD90A ; ---------------------------------------------------------------------------
ROM:1FFFD90A
ROM:1FFFD90A loc_1FFFD90A ; CODE XREF: sub_1FFFD876+84j
ROM:1FFFD90A ADDS R4, R6, R4
ROM:1FFFD90C SUBS R4, R4, #1
ROM:1FFFD90E UDIV.W R4, R4, R6
ROM:1FFFD912 BFI.W R3, R4, #0x13, #0xA
ROM:1FFFD916 UBFX.W R4, R3, #0x13, #0xA
ROM:1FFFD91A MULS R4, R6
ROM:1FFFD91C BFI.W R3, R4, #0, #0x13
ROM:1FFFD920
ROM:1FFFD920 loc_1FFFD920 ; CODE XREF: sub_1FFFD876+92j
ROM:1FFFD920 STR R3, [R5,#0x10]
ROM:1FFFD922 LDR R3, [R0,#8]
ROM:1FFFD924 CMP R3, #1
ROM:1FFFD926 BNE loc_1FFFD936
ROM:1FFFD928 LDRB R3, [R0,#0xD]
ROM:1FFFD92A CMP R3, #0
ROM:1FFFD92C ITE NE
ROM:1FFFD92E ORRNE.W R2, R2, #0x20000000
ROM:1FFFD932 ORREQ.W R2, R2, #0x10000000
ROM:1FFFD936
ROM:1FFFD936 loc_1FFFD936 ; CODE XREF: sub_1FFFD876+B0j
ROM:1FFFD936 LDRB R0, [R0]
ROM:1FFFD938 ADD.W R0, R1, R0,LSL#2
ROM:1FFFD93C LDR R0, [R0,#0x2C]
ROM:1FFFD93E ORR.W R1, R2, #0x84000000
ROM:1FFFD942 STR R1, [R0]
ROM:1FFFD944
ROM:1FFFD944 loc_1FFFD944 ; CODE XREF: sub_1FFFD876+7Aj
ROM:1FFFD944 MOVS R0, #0
ROM:1FFFD946 POP {R4-R7,PC}
ROM:1FFFD946 ; End of function sub_1FFFD876
ROM:1FFFD946
ROM:1FFFD948
ROM:1FFFD948 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD948
ROM:1FFFD948
ROM:1FFFD948 sub_1FFFD948 ; CODE XREF: sub_1FFFD356+Ep
ROM:1FFFD948 ; sub_1FFFDC04+42p
ROM:1FFFD948
ROM:1FFFD948 var_18 = -0x18
ROM:1FFFD948
ROM:1FFFD948 PUSH {R2-R6,LR}
ROM:1FFFD94A LDR R4, [R0,#0x18]
ROM:1FFFD94C LDR R1, =0x20000B34
ROM:1FFFD94E LDRB R2, [R0,#1]
ROM:1FFFD950 CMP R2, #1
ROM:1FFFD952 BNE loc_1FFFD9AA
ROM:1FFFD954 LDR R3, [R1,#0xC]
ROM:1FFFD956 LDR R2, [R3]
ROM:1FFFD958 LDR R5, [R3,#0x10]
ROM:1FFFD95A STR R5, [SP,#0x18+var_18]
ROM:1FFFD95C CBNZ R4, loc_1FFFD966
ROM:1FFFD95E LSRS R4, R5, #7
ROM:1FFFD960 LSLS R4, R4, #7
ROM:1FFFD962 STR R4, [SP,#0x18+var_18]
ROM:1FFFD964 B loc_1FFFD982
ROM:1FFFD966 ; ---------------------------------------------------------------------------
ROM:1FFFD966
ROM:1FFFD966 loc_1FFFD966 ; CODE XREF: sub_1FFFD948+14j
ROM:1FFFD966 LDR R5, [R0,#0x10]
ROM:1FFFD968 CMP R5, R4
ROM:1FFFD96A BCS loc_1FFFD978
ROM:1FFFD96C STR R5, [R0,#0x18]
ROM:1FFFD96E LDR R4, [SP,#0x18+var_18]
ROM:1FFFD970 BFI.W R4, R5, #0, #7
ROM:1FFFD974 STR R4, [SP,#0x18+var_18]
ROM:1FFFD976 B loc_1FFFD980
ROM:1FFFD978 ; ---------------------------------------------------------------------------
ROM:1FFFD978
ROM:1FFFD978 loc_1FFFD978 ; CODE XREF: sub_1FFFD948+22j
ROM:1FFFD978 LDR R5, [SP,#0x18+var_18]
ROM:1FFFD97A BFI.W R5, R4, #0, #7
ROM:1FFFD97E STR R5, [SP,#0x18+var_18]
ROM:1FFFD980
ROM:1FFFD980 loc_1FFFD980 ; CODE XREF: sub_1FFFD948+2Ej
ROM:1FFFD980 LDR R4, [SP,#0x18+var_18]
ROM:1FFFD982
ROM:1FFFD982 loc_1FFFD982 ; CODE XREF: sub_1FFFD948+1Cj
ROM:1FFFD982 ORR.W R4, R4, #0x80000
ROM:1FFFD986 STR R4, [SP,#0x18+var_18]
ROM:1FFFD988 LDR R4, [SP,#0x18+var_18]
ROM:1FFFD98A STR R4, [R3,#0x10]
ROM:1FFFD98C ORR.W R2, R2, #0x84000000
ROM:1FFFD990 STR R2, [R3]
ROM:1FFFD992 LDR R2, [R0,#0x18]
ROM:1FFFD994 CBZ R2, loc_1FFFD9FE
ROM:1FFFD996 LDR R1, [R1,#4]
ROM:1FFFD998 LDR R2, [R1,#0x34]
ROM:1FFFD99A MOVS R3, #1
ROM:1FFFD99C LDRSB.W R0, [R0]
ROM:1FFFD9A0 LSL.W R0, R3, R0
ROM:1FFFD9A4 ORRS R0, R2
ROM:1FFFD9A6 STR R0, [R1,#0x34]
ROM:1FFFD9A8 B loc_1FFFD9FE
ROM:1FFFD9AA ; ---------------------------------------------------------------------------
ROM:1FFFD9AA
ROM:1FFFD9AA loc_1FFFD9AA ; CODE XREF: sub_1FFFD948+Aj
ROM:1FFFD9AA LDRB R2, [R0]
ROM:1FFFD9AC ADD.W R2, R1, R2,LSL#2
ROM:1FFFD9B0 LDR R3, [R2,#0x2C]
ROM:1FFFD9B2 LDR R2, [R3]
ROM:1FFFD9B4 LDR R5, [R3,#0x10]
ROM:1FFFD9B6 STR R5, [SP,#0x18+var_18]
ROM:1FFFD9B8 LDR R5, [R0,#0x10]
ROM:1FFFD9BA CBNZ R4, loc_1FFFD9CC
ROM:1FFFD9BC LDR R4, [SP,#0x18+var_18]
ROM:1FFFD9BE BFI.W R4, R5, #0, #7
ROM:1FFFD9C2 STR R4, [SP,#0x18+var_18]
ROM:1FFFD9C4 ORR.W R4, R4, #0x80000
ROM:1FFFD9C8 STR R4, [SP,#0x18+var_18]
ROM:1FFFD9CA B loc_1FFFD9EC
ROM:1FFFD9CC ; ---------------------------------------------------------------------------
ROM:1FFFD9CC
ROM:1FFFD9CC loc_1FFFD9CC ; CODE XREF: sub_1FFFD948+72j
ROM:1FFFD9CC ADDS R4, R5, R4
ROM:1FFFD9CE SUBS R4, R4, #1
ROM:1FFFD9D0 UDIV.W R4, R4, R5
ROM:1FFFD9D4 LDR R6, [SP,#0x18+var_18]
ROM:1FFFD9D6 BFI.W R6, R4, #0x13, #1
ROM:1FFFD9DA STR R6, [SP,#0x18+var_18]
ROM:1FFFD9DC LDR R4, [SP,#0x18+var_18]
ROM:1FFFD9DE UBFX.W R4, R4, #0x13, #1
ROM:1FFFD9E2 MULS R4, R5
ROM:1FFFD9E4 LDR R5, [SP,#0x18+var_18]
ROM:1FFFD9E6 BFI.W R5, R4, #0, #7
ROM:1FFFD9EA STR R5, [SP,#0x18+var_18]
ROM:1FFFD9EC
ROM:1FFFD9EC loc_1FFFD9EC ; CODE XREF: sub_1FFFD948+82j
ROM:1FFFD9EC LDR R4, [SP,#0x18+var_18]
ROM:1FFFD9EE STR R4, [R3,#0x10]
ROM:1FFFD9F0 LDRB R0, [R0]
ROM:1FFFD9F2 ADD.W R0, R1, R0,LSL#2
ROM:1FFFD9F6 LDR R0, [R0,#0x2C]
ROM:1FFFD9F8 ORR.W R1, R2, #0x84000000
ROM:1FFFD9FC STR R1, [R0]
ROM:1FFFD9FE
ROM:1FFFD9FE loc_1FFFD9FE ; CODE XREF: sub_1FFFD948+4Cj
ROM:1FFFD9FE ; sub_1FFFD948+60j
ROM:1FFFD9FE MOVS R0, #0
ROM:1FFFDA00 POP {R1,R2,R4-R6,PC}
ROM:1FFFDA00 ; End of function sub_1FFFD948
ROM:1FFFDA00
ROM:1FFFDA02
ROM:1FFFDA02 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDA02
ROM:1FFFDA02
ROM:1FFFDA02 sub_1FFFDA02 ; CODE XREF: sub_1FFFDAB8+24p
ROM:1FFFDA02 LDRB R1, [R0,#1]
ROM:1FFFDA04 CMP R1, #1
ROM:1FFFDA06 LDRB R0, [R0]
ROM:1FFFDA08 LDR R1, =0x20000B34
ROM:1FFFDA0A ADD.W R0, R1, R0,LSL#2
ROM:1FFFDA0E BNE loc_1FFFDA1E
ROM:1FFFDA10 LDR R0, [R0,#0xC]
ROM:1FFFDA12 LDR R1, [R0]
ROM:1FFFDA14 CMP R1, #0
ROM:1FFFDA16 BPL loc_1FFFDA22
ROM:1FFFDA18 ORR.W R1, R1, #0x40000000
ROM:1FFFDA1C B loc_1FFFDA22
ROM:1FFFDA1E ; ---------------------------------------------------------------------------
ROM:1FFFDA1E
ROM:1FFFDA1E loc_1FFFDA1E ; CODE XREF: sub_1FFFDA02+Cj
ROM:1FFFDA1E LDR R0, [R0,#0x2C]
ROM:1FFFDA20 LDR R1, [R0]
ROM:1FFFDA22
ROM:1FFFDA22 loc_1FFFDA22 ; CODE XREF: sub_1FFFDA02+14j
ROM:1FFFDA22 ; sub_1FFFDA02+1Aj
ROM:1FFFDA22 ORR.W R1, R1, #0x200000
ROM:1FFFDA26 STR R1, [R0]
ROM:1FFFDA28 MOVS R0, #0
ROM:1FFFDA2A BX LR
ROM:1FFFDA2A ; End of function sub_1FFFDA02
ROM:1FFFDA2A
ROM:1FFFDA2C
ROM:1FFFDA2C ; =============== S U B R O U T I N E =======================================
ROM:1FFFDA2C
ROM:1FFFDA2C
ROM:1FFFDA2C sub_1FFFDA2C ; CODE XREF: sub_1FFFDAB8+58p
ROM:1FFFDA2C LDRB R1, [R0,#1]
ROM:1FFFDA2E CMP R1, #1
ROM:1FFFDA30 LDRB R1, [R0]
ROM:1FFFDA32 LDR R2, =0x20000B34
ROM:1FFFDA34 ADD.W R1, R2, R1,LSL#2
ROM:1FFFDA38 ITE EQ
ROM:1FFFDA3A LDREQ R1, [R1,#0xC]
ROM:1FFFDA3C LDRNE R1, [R1,#0x2C]
ROM:1FFFDA3E LDR R2, [R1]
ROM:1FFFDA40 BIC.W R2, R2, #0x200000
ROM:1FFFDA44 LDR R0, [R0,#8]
ROM:1FFFDA46 CMP R0, #3
ROM:1FFFDA48 ITE NE
ROM:1FFFDA4A CMPNE R0, #2
ROM:1FFFDA4C ORREQ.W R2, R2, #0x10000000
ROM:1FFFDA50 STR R2, [R1]
ROM:1FFFDA52 MOVS R0, #0
ROM:1FFFDA54 BX LR
ROM:1FFFDA54 ; End of function sub_1FFFDA2C
ROM:1FFFDA54
ROM:1FFFDA56
ROM:1FFFDA56 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDA56
ROM:1FFFDA56
ROM:1FFFDA56 sub_1FFFDA56 ; CODE XREF: sub_1FFFE430+6p
ROM:1FFFDA56 LDR R0, =0x20000B34
ROM:1FFFDA58 LDR R0, [R0,#4]
ROM:1FFFDA5A LDR R1, [R0,#0x18]
ROM:1FFFDA5C LDR R0, [R0,#0x1C]
ROM:1FFFDA5E ANDS R0, R1
ROM:1FFFDA60 LSRS R0, R0, #0x10
ROM:1FFFDA62 BX LR
ROM:1FFFDA62 ; End of function sub_1FFFDA56
ROM:1FFFDA62
ROM:1FFFDA64
ROM:1FFFDA64 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDA64
ROM:1FFFDA64
ROM:1FFFDA64 sub_1FFFDA64 ; CODE XREF: sub_1FFFE430+5Cp
ROM:1FFFDA64 LDR R1, =0x20000B34
ROM:1FFFDA66 LDRB R0, [R0]
ROM:1FFFDA68 ADD.W R0, R1, R0,LSL#2
ROM:1FFFDA6C LDR R0, [R0,#0x2C]
ROM:1FFFDA6E LDR R0, [R0,#8]
ROM:1FFFDA70 LDR R1, [R1,#4]
ROM:1FFFDA72 LDR R1, [R1,#0x14]
ROM:1FFFDA74 ANDS R0, R1
ROM:1FFFDA76 BX LR
ROM:1FFFDA76 ; End of function sub_1FFFDA64
ROM:1FFFDA76
ROM:1FFFDA78
ROM:1FFFDA78 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDA78
ROM:1FFFDA78
ROM:1FFFDA78 sub_1FFFDA78 ; CODE XREF: sub_1FFFE356+6p
ROM:1FFFDA78 LDR R0, =0x20000B34
ROM:1FFFDA7A LDR R0, [R0,#4]
ROM:1FFFDA7C LDR R1, [R0,#0x18]
ROM:1FFFDA7E LDR R0, [R0,#0x1C]
ROM:1FFFDA80 ANDS R0, R1
ROM:1FFFDA82 UXTH R0, R0
ROM:1FFFDA84 BX LR
ROM:1FFFDA84 ; End of function sub_1FFFDA78
ROM:1FFFDA84
ROM:1FFFDA86
ROM:1FFFDA86 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDA86
ROM:1FFFDA86
ROM:1FFFDA86 sub_1FFFDA86 ; CODE XREF: sub_1FFFCBBE+Ep
ROM:1FFFDA86 LDRB R1, [R0]
ROM:1FFFDA88 LDR R2, =0x20000B34
ROM:1FFFDA8A ADD.W R1, R2, R1,LSL#2
ROM:1FFFDA8E LDRB R0, [R0,#1]
ROM:1FFFDA90 CMP R0, #1
ROM:1FFFDA92 ITE EQ
ROM:1FFFDA94 LDREQ R1, [R1,#0xC]
ROM:1FFFDA96 LDRNE R1, [R1,#0x2C]
ROM:1FFFDA98 LDR R1, [R1]
ROM:1FFFDA9A BNE loc_1FFFDAA8
ROM:1FFFDA9C LSLS R0, R1, #0xA
ROM:1FFFDA9E BPL loc_1FFFDAA4
ROM:1FFFDAA0 MOVS R0, #0x10
ROM:1FFFDAA2 BX LR
ROM:1FFFDAA4 ; ---------------------------------------------------------------------------
ROM:1FFFDAA4
ROM:1FFFDAA4 loc_1FFFDAA4 ; CODE XREF: sub_1FFFDA86+18j
ROM:1FFFDAA4 MOVS R0, #0x30
ROM:1FFFDAA6 BX LR
ROM:1FFFDAA8 ; ---------------------------------------------------------------------------
ROM:1FFFDAA8
ROM:1FFFDAA8 loc_1FFFDAA8 ; CODE XREF: sub_1FFFDA86+14j
ROM:1FFFDAA8 LSLS R0, R1, #0xA
ROM:1FFFDAAA BPL loc_1FFFDAB2
ROM:1FFFDAAC MOV.W R0, #0x1000
ROM:1FFFDAB0 BX LR
ROM:1FFFDAB2 ; ---------------------------------------------------------------------------
ROM:1FFFDAB2
ROM:1FFFDAB2 loc_1FFFDAB2 ; CODE XREF: sub_1FFFDA86+24j
ROM:1FFFDAB2 MOV.W R0, #0x3000
ROM:1FFFDAB6 BX LR
ROM:1FFFDAB6 ; End of function sub_1FFFDA86
ROM:1FFFDAB6
ROM:1FFFDAB8
ROM:1FFFDAB8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDAB8
ROM:1FFFDAB8
ROM:1FFFDAB8 sub_1FFFDAB8 ; CODE XREF: sub_1FFFCBD0+1Ep
ROM:1FFFDAB8 ; sub_1FFFCBF2+12p
ROM:1FFFDAB8 PUSH {R3-R5,LR}
ROM:1FFFDABA LDRB R2, [R0,#1]
ROM:1FFFDABC CMP R2, #1
ROM:1FFFDABE LDRB R3, [R0]
ROM:1FFFDAC0 LDR R4, =0x20000B34
ROM:1FFFDAC2 ADD.W R3, R4, R3,LSL#2
ROM:1FFFDAC6 ITE EQ
ROM:1FFFDAC8 LDREQ R3, [R3,#0xC]
ROM:1FFFDACA LDRNE R3, [R3,#0x2C]
ROM:1FFFDACC LDR R4, [R3]
ROM:1FFFDACE BIC.W R5, R4, #0x8000
ROM:1FFFDAD2 BNE loc_1FFFDAEA
ROM:1FFFDAD4 CMP R1, #0x10
ROM:1FFFDAD6 ITT EQ
ROM:1FFFDAD8 POPEQ.W {R1,R4,R5,LR}
ROM:1FFFDADC BEQ.W sub_1FFFDA02
ROM:1FFFDAE0 CMP R1, #0x20
ROM:1FFFDAE2 BEQ loc_1FFFDAFC
ROM:1FFFDAE4 CMP R1, #0x30
ROM:1FFFDAE6 BEQ loc_1FFFDB08
ROM:1FFFDAE8 B loc_1FFFDB1E
ROM:1FFFDAEA ; ---------------------------------------------------------------------------
ROM:1FFFDAEA
ROM:1FFFDAEA loc_1FFFDAEA ; CODE XREF: sub_1FFFDAB8+1Aj
ROM:1FFFDAEA CMP.W R1, #0x1000
ROM:1FFFDAEE IT EQ
ROM:1FFFDAF0 ORREQ.W R4, R4, #0x200000
ROM:1FFFDAF4 BEQ loc_1FFFDB22
ROM:1FFFDAF6 CMP.W R1, #0x2000
ROM:1FFFDAFA BNE loc_1FFFDB02
ROM:1FFFDAFC
ROM:1FFFDAFC loc_1FFFDAFC ; CODE XREF: sub_1FFFDAB8+2Aj
ROM:1FFFDAFC ORR.W R4, R4, #0x8000000
ROM:1FFFDB00 B loc_1FFFDB22
ROM:1FFFDB02 ; ---------------------------------------------------------------------------
ROM:1FFFDB02
ROM:1FFFDB02 loc_1FFFDB02 ; CODE XREF: sub_1FFFDAB8+42j
ROM:1FFFDB02 CMP.W R1, #0x3000
ROM:1FFFDB06 BNE loc_1FFFDB1E
ROM:1FFFDB08
ROM:1FFFDB08 loc_1FFFDB08 ; CODE XREF: sub_1FFFDAB8+2Ej
ROM:1FFFDB08 LSLS R1, R4, #0xA
ROM:1FFFDB0A ITT MI
ROM:1FFFDB0C POPMI.W {R1,R4,R5,LR}
ROM:1FFFDB10 BMI.W sub_1FFFDA2C
ROM:1FFFDB14 ORR.W R4, R4, #0x84000000
ROM:1FFFDB18 ORR.W R4, R4, #0x8000
ROM:1FFFDB1C B loc_1FFFDB22
ROM:1FFFDB1E ; ---------------------------------------------------------------------------
ROM:1FFFDB1E
ROM:1FFFDB1E loc_1FFFDB1E ; CODE XREF: sub_1FFFDAB8+30j
ROM:1FFFDB1E ; sub_1FFFDAB8+4Ej
ROM:1FFFDB1E CBNZ R1, loc_1FFFDB22
ROM:1FFFDB20 MOV R4, R5
ROM:1FFFDB22
ROM:1FFFDB22 loc_1FFFDB22 ; CODE XREF: sub_1FFFDAB8+3Cj
ROM:1FFFDB22 ; sub_1FFFDAB8+48j ...
ROM:1FFFDB22 LDR R0, [R0,#8]
ROM:1FFFDB24 CMP R0, #3
ROM:1FFFDB26 ITE NE
ROM:1FFFDB28 CMPNE R0, #2
ROM:1FFFDB2A ORREQ.W R4, R4, #0x10000000
ROM:1FFFDB2E STR R4, [R3]
ROM:1FFFDB30 POP {R0,R4,R5,PC}
ROM:1FFFDB30 ; End of function sub_1FFFDAB8
ROM:1FFFDB30
ROM:1FFFDB30 ; ---------------------------------------------------------------------------
ROM:1FFFDB32 ALIGN 4
ROM:1FFFDB34 dword_1FFFDB34 DCD 0x20000B34 ; DATA XREF: sub_1FFFD4D2+2r
ROM:1FFFDB34 ; sub_1FFFD4F4+Ar ...
ROM:1FFFDB38 dword_1FFFDB38 DCD 0x30D40 ; DATA XREF: sub_1FFFD4D2+Er
ROM:1FFFDB3C dword_1FFFDB3C DCD 0x30D41 ; DATA XREF: sub_1FFFD5DE+6r
ROM:1FFFDB3C ; sub_1FFFD69C+Ar
ROM:1FFFDB40 dword_1FFFDB40 DCD 0xFC33F800 ; DATA XREF: sub_1FFFD812+2Er
ROM:1FFFDB44 ; ---------------------------------------------------------------------------
ROM:1FFFDB44 ; START OF FUNCTION CHUNK FOR sub_1FFFDCCA
ROM:1FFFDB44
ROM:1FFFDB44 delay_func ; CODE XREF: sub_1FFFDCCA+10j
ROM:1FFFDB44 MOVS R1, #0
ROM:1FFFDB46 MOVS R2, #0xA
ROM:1FFFDB48 MULS R0, R2
ROM:1FFFDB4A
ROM:1FFFDB4A delay_func_wait ; CODE XREF: sub_1FFFDCCA-17Cj
ROM:1FFFDB4A ADDS R1, R1, #1
ROM:1FFFDB4C CMP R0, R1
ROM:1FFFDB4E BCS delay_func_wait
ROM:1FFFDB50 BX LR
ROM:1FFFDB50 ; END OF FUNCTION CHUNK FOR sub_1FFFDCCA
ROM:1FFFDB52
ROM:1FFFDB52 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDB52
ROM:1FFFDB52
ROM:1FFFDB52 sub_1FFFDB52 ; CODE XREF: usb_chuli+18p
ROM:1FFFDB52 PUSH {R4,LR}
ROM:1FFFDB54 LDR R0, =0x20000A50
ROM:1FFFDB56 MOVS R1, #0
ROM:1FFFDB58 STRB.W R1, [R0,#0x20]
ROM:1FFFDB5C STRB R1, [R0]
ROM:1FFFDB5E STR R1, [R0,#4]
ROM:1FFFDB60 STR R1, [R0,#8]
ROM:1FFFDB62 MOV.W R1, #0x400
ROM:1FFFDB66 STR R1, [R0,#0x10]
ROM:1FFFDB68 MOVS R2, #0
ROM:1FFFDB6A STR R2, [R0,#0x14]
ROM:1FFFDB6C STR R2, [R0,#0x18]
ROM:1FFFDB6E MOVS R2, #1
ROM:1FFFDB70
ROM:1FFFDB70 loc_1FFFDB70 ; CODE XREF: sub_1FFFDB52+3Aj
ROM:1FFFDB70 ADD.W R3, R0, R2,LSL#5
ROM:1FFFDB74 ADDS R3, R3, #4
ROM:1FFFDB76 MOVS R4, #1
ROM:1FFFDB78 STRB R4, [R3,#1]
ROM:1FFFDB7A STRB R2, [R3]
ROM:1FFFDB7C STR R2, [R3,#4]
ROM:1FFFDB7E MOVS R4, #0
ROM:1FFFDB80 STR R4, [R3,#8]
ROM:1FFFDB82 STR R1, [R3,#0x10]
ROM:1FFFDB84 STR R4, [R3,#0x14]
ROM:1FFFDB86 STR R4, [R3,#0x18]
ROM:1FFFDB88 ADDS R2, R2, #1
ROM:1FFFDB8A CMP R2, #4
ROM:1FFFDB8C BCC loc_1FFFDB70
ROM:1FFFDB8E MOVS R2, #1
ROM:1FFFDB90
ROM:1FFFDB90 loc_1FFFDB90 ; CODE XREF: sub_1FFFDB52+58j
ROM:1FFFDB90 ADD.W R3, R0, R2,LSL#5
ROM:1FFFDB94 ADDW R3, R3, #0x64
ROM:1FFFDB98 STRB R4, [R3,#1]
ROM:1FFFDB9A STRB R2, [R3]
ROM:1FFFDB9C STR R2, [R3,#4]
ROM:1FFFDB9E STR R4, [R3,#8]
ROM:1FFFDBA0 STR R1, [R3,#0x10]
ROM:1FFFDBA2 STR R4, [R3,#0x14]
ROM:1FFFDBA4 STR R4, [R3,#0x18]
ROM:1FFFDBA6 ADDS R2, R2, #1
ROM:1FFFDBA8 CMP R2, #4
ROM:1FFFDBAA BCC loc_1FFFDB90
ROM:1FFFDBAC MOVS R1, #0x40
ROM:1FFFDBAE STR R1, [R0,#0x10]
ROM:1FFFDBB0 STR R4, [R0,#8]
ROM:1FFFDBB2 POP {R4,PC}
ROM:1FFFDBB2 ; End of function sub_1FFFDB52
ROM:1FFFDBB2
ROM:1FFFDBB4
ROM:1FFFDBB4 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDBB4
ROM:1FFFDBB4
ROM:1FFFDBB4 sub_1FFFDBB4 ; CODE XREF: usb_chuli+30p
ROM:1FFFDBB4 ; usb_chuli+3Cp
ROM:1FFFDBB4 PUSH {R4,LR}
ROM:1FFFDBB6 MOV R4, R0
ROM:1FFFDBB8 LDRB R0, [R4,#2]
ROM:1FFFDBBA LSLS R1, R0, #0x18
ROM:1FFFDBBC AND.W R0, R0, #0x7F
ROM:1FFFDBC0 BPL loc_1FFFDBC8
ROM:1FFFDBC2 BL sub_1FFFDC7A
ROM:1FFFDBC6 B loc_1FFFDBCC
ROM:1FFFDBC8 ; ---------------------------------------------------------------------------
ROM:1FFFDBC8
ROM:1FFFDBC8 loc_1FFFDBC8 ; CODE XREF: sub_1FFFDBB4+Cj
ROM:1FFFDBC8 BL sub_1FFFDCA2
ROM:1FFFDBCC
ROM:1FFFDBCC loc_1FFFDBCC ; CODE XREF: sub_1FFFDBB4+12j
ROM:1FFFDBCC LDRB R1, [R4,#2]
ROM:1FFFDBCE AND.W R1, R1, #0x7F
ROM:1FFFDBD2 STRB R1, [R0]
ROM:1FFFDBD4 LDRB R1, [R4,#2]
ROM:1FFFDBD6 LSRS R1, R1, #7
ROM:1FFFDBD8 STRB R1, [R0,#1]
ROM:1FFFDBDA LDRH R1, [R4,#4]
ROM:1FFFDBDC STR R1, [R0,#0x10]
ROM:1FFFDBDE LDRB R1, [R4,#3]
ROM:1FFFDBE0 AND.W R1, R1, #3
ROM:1FFFDBE4 STR R1, [R0,#8]
ROM:1FFFDBE6 LDRB R1, [R0,#1]
ROM:1FFFDBE8 CBZ R1, loc_1FFFDBEE
ROM:1FFFDBEA LDRB R1, [R0]
ROM:1FFFDBEC STR R1, [R0,#4]
ROM:1FFFDBEE
ROM:1FFFDBEE loc_1FFFDBEE ; CODE XREF: sub_1FFFDBB4+34j
ROM:1FFFDBEE LDRB R1, [R4,#3]
ROM:1FFFDBF0 AND.W R1, R1, #3
ROM:1FFFDBF4 CMP R1, #2
ROM:1FFFDBF6 ITT EQ
ROM:1FFFDBF8 MOVEQ R1, #0
ROM:1FFFDBFA STREQB R1, [R0,#0xC]
ROM:1FFFDBFC BL sub_1FFFD812
ROM:1FFFDC00 MOVS R0, #0
ROM:1FFFDC02 POP {R4,PC}
ROM:1FFFDC02 ; End of function sub_1FFFDBB4
ROM:1FFFDC02
ROM:1FFFDC04
ROM:1FFFDC04 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDC04
ROM:1FFFDC04
ROM:1FFFDC04 sub_1FFFDC04 ; CODE XREF: sub_1FFFCFF2+36p
ROM:1FFFDC04 ; sub_1FFFD06E+3Ep
ROM:1FFFDC04 PUSH {R4-R6,LR}
ROM:1FFFDC06 BL sub_1FFFDC5C
ROM:1FFFDC0A BL sub_1FFFDCA2
ROM:1FFFDC0E MOVS R1, #0
ROM:1FFFDC10 B loc_1FFFDC1A
ROM:1FFFDC12 ; ---------------------------------------------------------------------------
ROM:1FFFDC12
ROM:1FFFDC12 loc_1FFFDC12 ; CODE XREF: sub_1FFFDC04+18j
ROM:1FFFDC12 LDR R2, [R0,#0x14]
ROM:1FFFDC14 LDRB R2, [R1,R2]
ROM:1FFFDC16 STRB R2, [R1,R5]
ROM:1FFFDC18 ADDS R1, R1, #1
ROM:1FFFDC1A
ROM:1FFFDC1A loc_1FFFDC1A ; CODE XREF: sub_1FFFDC04+Cj
ROM:1FFFDC1A CMP R1, R6
ROM:1FFFDC1C BCC loc_1FFFDC12
ROM:1FFFDC1E STR R5, [R0,#0x14]
ROM:1FFFDC20 STR R6, [R0,#0x18]
ROM:1FFFDC22 MOVS R1, #0
ROM:1FFFDC24 STR R1, [R0,#0x1C]
ROM:1FFFDC26 B loc_1FFFDC3C
ROM:1FFFDC28 ; ---------------------------------------------------------------------------
ROM:1FFFDC28
ROM:1FFFDC28 loc_1FFFDC28 ; CODE XREF: sub_1FFFD06E+66p
ROM:1FFFDC28 ; sub_1FFFD104+6j
ROM:1FFFDC28 PUSH {R4-R6,LR}
ROM:1FFFDC2A BL sub_1FFFDC5C
ROM:1FFFDC2E BL sub_1FFFDC7A
ROM:1FFFDC32 STR R5, [R0,#0x14]
ROM:1FFFDC34 MOVS R1, #0
ROM:1FFFDC36 STR R1, [R0,#0x1C]
ROM:1FFFDC38 STR R6, [R0,#0x18]
ROM:1FFFDC3A MOVS R1, #1
ROM:1FFFDC3C
ROM:1FFFDC3C loc_1FFFDC3C ; CODE XREF: sub_1FFFDC04+22j
ROM:1FFFDC3C STRB R1, [R0,#1]
ROM:1FFFDC3E ANDS.W R1, R4, #0x7F
ROM:1FFFDC42 STRB R1, [R0]
ROM:1FFFDC44 BNE loc_1FFFDC4C
ROM:1FFFDC46 BL sub_1FFFD948
ROM:1FFFDC4A B loc_1FFFDC58
ROM:1FFFDC4C ; ---------------------------------------------------------------------------
ROM:1FFFDC4C
ROM:1FFFDC4C loc_1FFFDC4C ; CODE XREF: sub_1FFFDC04+40j
ROM:1FFFDC4C LDR R1, =0x20000A50
ROM:1FFFDC4E LDRB.W R1, [R1,#0x20]
ROM:1FFFDC52 CBNZ R1, loc_1FFFDC58
ROM:1FFFDC54 BL sub_1FFFD876
ROM:1FFFDC58
ROM:1FFFDC58 loc_1FFFDC58 ; CODE XREF: sub_1FFFDC04+46j
ROM:1FFFDC58 ; sub_1FFFDC04+4Ej
ROM:1FFFDC58 MOVS R0, #0
ROM:1FFFDC5A POP {R4-R6,PC}
ROM:1FFFDC5A ; End of function sub_1FFFDC04
ROM:1FFFDC5A
ROM:1FFFDC5C
ROM:1FFFDC5C ; =============== S U B R O U T I N E =======================================
ROM:1FFFDC5C
ROM:1FFFDC5C
ROM:1FFFDC5C sub_1FFFDC5C ; CODE XREF: sub_1FFFDC04+2p
ROM:1FFFDC5C ; sub_1FFFDC04+26p
ROM:1FFFDC5C MOV R4, R0
ROM:1FFFDC5E MOV R5, R1
ROM:1FFFDC60 MOV R6, R2
ROM:1FFFDC62 AND.W R0, R4, #0x7F
ROM:1FFFDC66 BX LR
ROM:1FFFDC66 ; End of function sub_1FFFDC5C
ROM:1FFFDC66
ROM:1FFFDC68
ROM:1FFFDC68 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDC68
ROM:1FFFDC68
ROM:1FFFDC68 sub_1FFFDC68 ; CODE XREF: sub_1FFFD10E+36p
ROM:1FFFDC68 ; sub_1FFFD3B8+2Ep
ROM:1FFFDC68 LDR R1, =0x20000B34
ROM:1FFFDC6A LDR R1, [R1,#4]
ROM:1FFFDC6C LDR R2, [R1]
ROM:1FFFDC6E LSLS R0, R0, #4
ROM:1FFFDC70 AND.W R0, R0, #0x7F0
ROM:1FFFDC74 ORRS R0, R2
ROM:1FFFDC76 STR R0, [R1]
ROM:1FFFDC78 BX LR
ROM:1FFFDC78 ; End of function sub_1FFFDC68
ROM:1FFFDC78
ROM:1FFFDC7A
ROM:1FFFDC7A ; =============== S U B R O U T I N E =======================================
ROM:1FFFDC7A
ROM:1FFFDC7A
ROM:1FFFDC7A sub_1FFFDC7A ; CODE XREF: sub_1FFFCBB2+6p
ROM:1FFFDC7A ; sub_1FFFCBD0+Ap ...
ROM:1FFFDC7A PUSH {R4,LR}
ROM:1FFFDC7C LDR R1, =0x20000A50
ROM:1FFFDC7E CBNZ R0, loc_1FFFDC84
ROM:1FFFDC80 MOV R0, R1
ROM:1FFFDC82 POP {R4,PC}
ROM:1FFFDC84 ; ---------------------------------------------------------------------------
ROM:1FFFDC84
ROM:1FFFDC84 loc_1FFFDC84 ; CODE XREF: sub_1FFFDC7A+4j
ROM:1FFFDC84 MOVS R2, #0
ROM:1FFFDC86
ROM:1FFFDC86 loc_1FFFDC86 ; CODE XREF: sub_1FFFDC7A+22j
ROM:1FFFDC86 ADD.W R3, R1, R2,LSL#5
ROM:1FFFDC8A LDRB.W R4, [R3,#0x24]
ROM:1FFFDC8E CMP R4, R0
ROM:1FFFDC90 BNE loc_1FFFDC98
ROM:1FFFDC92 ADD.W R0, R3, #0x24
ROM:1FFFDC96 POP {R4,PC}
ROM:1FFFDC98 ; ---------------------------------------------------------------------------
ROM:1FFFDC98
ROM:1FFFDC98 loc_1FFFDC98 ; CODE XREF: sub_1FFFDC7A+16j
ROM:1FFFDC98 ADDS R2, R2, #1
ROM:1FFFDC9A CMP R2, #4
ROM:1FFFDC9C BCC loc_1FFFDC86
ROM:1FFFDC9E MOVS R0, #0
ROM:1FFFDCA0 POP {R4,PC}
ROM:1FFFDCA0 ; End of function sub_1FFFDC7A
ROM:1FFFDCA0
ROM:1FFFDCA2
ROM:1FFFDCA2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDCA2
ROM:1FFFDCA2
ROM:1FFFDCA2 sub_1FFFDCA2 ; CODE XREF: sub_1FFFCBBE+6p
ROM:1FFFDCA2 ; sub_1FFFCBF2+8p ...
ROM:1FFFDCA2 PUSH {R4,LR}
ROM:1FFFDCA4 LDR R1, =0x20000A50
ROM:1FFFDCA6 CBNZ R0, loc_1FFFDCAC
ROM:1FFFDCA8 MOV R0, R1
ROM:1FFFDCAA POP {R4,PC}
ROM:1FFFDCAC ; ---------------------------------------------------------------------------
ROM:1FFFDCAC
ROM:1FFFDCAC loc_1FFFDCAC ; CODE XREF: sub_1FFFDCA2+4j
ROM:1FFFDCAC MOVS R2, #0
ROM:1FFFDCAE
ROM:1FFFDCAE loc_1FFFDCAE ; CODE XREF: sub_1FFFDCA2+22j
ROM:1FFFDCAE ADD.W R3, R1, R2,LSL#5
ROM:1FFFDCB2 LDRB.W R4, [R3,#0x84]
ROM:1FFFDCB6 CMP R4, R0
ROM:1FFFDCB8 BNE loc_1FFFDCC0
ROM:1FFFDCBA ADD.W R0, R3, #0x84
ROM:1FFFDCBE POP {R4,PC}
ROM:1FFFDCC0 ; ---------------------------------------------------------------------------
ROM:1FFFDCC0
ROM:1FFFDCC0 loc_1FFFDCC0 ; CODE XREF: sub_1FFFDCA2+16j
ROM:1FFFDCC0 ADDS R2, R2, #1
ROM:1FFFDCC2 CMP R2, #4
ROM:1FFFDCC4 BCC loc_1FFFDCAE
ROM:1FFFDCC6 MOVS R0, #0
ROM:1FFFDCC8 POP {R4,PC}
ROM:1FFFDCC8 ; End of function sub_1FFFDCA2
ROM:1FFFDCC8
ROM:1FFFDCCA
ROM:1FFFDCCA ; =============== S U B R O U T I N E =======================================
ROM:1FFFDCCA
ROM:1FFFDCCA
ROM:1FFFDCCA sub_1FFFDCCA ; CODE XREF: sub_1FFFCC08j
ROM:1FFFDCCA
ROM:1FFFDCCA ; FUNCTION CHUNK AT ROM:1FFFDB44 SIZE 0000000E BYTES
ROM:1FFFDCCA
ROM:1FFFDCCA LDR R0, =0x20000B34
ROM:1FFFDCCC LDR R0, [R0,#4]
ROM:1FFFDCCE LDR R1, [R0,#4]
ROM:1FFFDCD0 ORR.W R1, R1, #2
ROM:1FFFDCD4 STR R1, [R0,#4]
ROM:1FFFDCD6 MOVW R0, #0x61A8
ROM:1FFFDCDA B delay_func
ROM:1FFFDCDA ; End of function sub_1FFFDCCA
ROM:1FFFDCDA
ROM:1FFFDCDC
ROM:1FFFDCDC ; =============== S U B R O U T I N E =======================================
ROM:1FFFDCDC
ROM:1FFFDCDC
ROM:1FFFDCDC sub_1FFFDCDC ; CODE XREF: usb_chuli+40p
ROM:1FFFDCDC ; sub_1FFFE536+2Cp
ROM:1FFFDCDC LDR R0, =0x20000B34
ROM:1FFFDCDE LDR R0, [R0,#0x2C]
ROM:1FFFDCE0 LDR R1, =0x60080018
ROM:1FFFDCE2 STR R1, [R0,#0x10]
ROM:1FFFDCE4 BX LR
ROM:1FFFDCE4 ; End of function sub_1FFFDCDC
ROM:1FFFDCE4
ROM:1FFFDCE4 ; ---------------------------------------------------------------------------
ROM:1FFFDCE6 ALIGN 4
ROM:1FFFDCE8 dword_1FFFDCE8 DCD 0x20000A50 ; DATA XREF: sub_1FFFDB52+2r
ROM:1FFFDCE8 ; sub_1FFFDC04:loc_1FFFDC4Cr ...
ROM:1FFFDCEC dword_1FFFDCEC DCD 0x20000B34 ; DATA XREF: sub_1FFFDC68r
ROM:1FFFDCEC ; sub_1FFFDCCAr ...
ROM:1FFFDCF0 dword_1FFFDCF0 DCD 0x60080018 ; DATA XREF: sub_1FFFDCDC+4r
ROM:1FFFDCF4
ROM:1FFFDCF4 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDCF4
ROM:1FFFDCF4
ROM:1FFFDCF4 FLASH_ErasePage_0 ; CODE XREF: sub_1FFFCC20+10j
ROM:1FFFDCF4 ; DATA XREF: sub_1FFFCC20+Co ...
ROM:1FFFDCF4 PUSH {R7,LR}
ROM:1FFFDCF6 BL FLASH_ErasePage
ROM:1FFFDCFA MOVS R0, #0
ROM:1FFFDCFC POP {R1,PC}
ROM:1FFFDCFC ; End of function FLASH_ErasePage_0
ROM:1FFFDCFC
ROM:1FFFDCFE
ROM:1FFFDCFE ; =============== S U B R O U T I N E =======================================
ROM:1FFFDCFE
ROM:1FFFDCFE
ROM:1FFFDCFE sub_1FFFDCFE ; DATA XREF: sub_1FFFCC38:loc_1FFFCC58o
ROM:1FFFDCFE ; ROM:off_1FFFCD48o
ROM:1FFFDCFE PUSH {R3-R7,LR}
ROM:1FFFDD00 MOV R4, R0
ROM:1FFFDD02 MOV R5, R1
ROM:1FFFDD04 LDR R6, =0x20000250
ROM:1FFFDD06 ANDS.W R0, R5, #3
ROM:1FFFDD0A BEQ loc_1FFFDD22
ROM:1FFFDD0C MOVW R0, #0xFFFC
ROM:1FFFDD10 ANDS R0, R5
ROM:1FFFDD12 ADDS R0, R0, #4
ROM:1FFFDD14 CMP R5, R0
ROM:1FFFDD16 BCS loc_1FFFDD22
ROM:1FFFDD18 MOVS R2, #0xFF
ROM:1FFFDD1A SUBS R1, R0, R5
ROM:1FFFDD1C ADDS R0, R5, R6
ROM:1FFFDD1E BL sub_1FFFDD44
ROM:1FFFDD22
ROM:1FFFDD22 loc_1FFFDD22 ; CODE XREF: sub_1FFFDCFE+Cj
ROM:1FFFDD22 ; sub_1FFFDCFE+18j
ROM:1FFFDD22 MOVS R7, #0
ROM:1FFFDD24 B loc_1FFFDD32
ROM:1FFFDD26 ; ---------------------------------------------------------------------------
ROM:1FFFDD26
ROM:1FFFDD26 loc_1FFFDD26 ; CODE XREF: sub_1FFFDCFE+36j
ROM:1FFFDD26 LDR R1, [R7,R6]
ROM:1FFFDD28 MOV R0, R4
ROM:1FFFDD2A BL FLASH_ProgramWord
ROM:1FFFDD2E ADDS R4, R4, #4
ROM:1FFFDD30 ADDS R7, R7, #4
ROM:1FFFDD32
ROM:1FFFDD32 loc_1FFFDD32 ; CODE XREF: sub_1FFFDCFE+26j
ROM:1FFFDD32 CMP R7, R5
ROM:1FFFDD34 BCC loc_1FFFDD26
ROM:1FFFDD36 MOVS R0, #0
ROM:1FFFDD38 POP {R1,R4-R7,PC}
ROM:1FFFDD38 ; End of function sub_1FFFDCFE
ROM:1FFFDD38
ROM:1FFFDD38 ; ---------------------------------------------------------------------------
ROM:1FFFDD3A ALIGN 4
ROM:1FFFDD3C dword_1FFFDD3C DCD 0x20000250 ; DATA XREF: sub_1FFFDCFE+6r
ROM:1FFFDD40 ; ---------------------------------------------------------------------------
ROM:1FFFDD40 ; START OF FUNCTION CHUNK FOR sub_1FFFCC7A
ROM:1FFFDD40
ROM:1FFFDD40 locret_1FFFDD40 ; CODE XREF: sub_1FFFCC7A+6j
ROM:1FFFDD40 ; DATA XREF: sub_1FFFCC7A+2o ...
ROM:1FFFDD40 BX LR
ROM:1FFFDD40 ; END OF FUNCTION CHUNK FOR sub_1FFFCC7A
ROM:1FFFDD40 ; ---------------------------------------------------------------------------
ROM:1FFFDD42 ALIGN 4
ROM:1FFFDD44 ; 10: v3 = (a3 & 0xFFFF00FF | ((unsigned __int8)a3 << 8)) & 0xFFFF | ((a3 & 0xFFFF00FF | ((unsigned __int8)a3 << 8)) << 16);
ROM:1FFFDD44
ROM:1FFFDD44 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDD44
ROM:1FFFDD44
ROM:1FFFDD44 sub_1FFFDD44 ; CODE XREF: sub_1FFFCCA8+20p
ROM:1FFFDD44 ; sub_1FFFDCFE+20p
ROM:1FFFDD44 BFI.W R2, R2, #8, #8
ROM:1FFFDD48 BFI.W R2, R2, #0x10, #0x10
ROM:1FFFDD4C ; 11: result = a1 + a2;
ROM:1FFFDD4C ADDS R0, R0, R1
ROM:1FFFDD4E ; 12: v5 = result & 3;
ROM:1FFFDD4E ; 13: if ( result & 3 )
ROM:1FFFDD4E ANDS.W R3, R0, #3
ROM:1FFFDD52 BEQ loc_1FFFDD66
ROM:1FFFDD54 ; 15: v6 = a2 >= v5;
ROM:1FFFDD54 ; 16: a2 -= v5;
ROM:1FFFDD54 SUBS R1, R1, R3
ROM:1FFFDD56 ; 17: if ( !v6 )
ROM:1FFFDD56 BCC loc_1FFFDD98
ROM:1FFFDD58 ; 28: if ( __CFSHL__(v5, 31) )
ROM:1FFFDD58 LSLS R3, R3, #0x1F
ROM:1FFFDD5A ; 26: if ( result << 31 < 0 )
ROM:1FFFDD5A IT MI
ROM:1FFFDD5C ; 27: *(_BYTE *)(result-- - 1) = v3;
ROM:1FFFDD5C STRMIB.W R2, [R0,#-1]!
ROM:1FFFDD60 ; 31: result -= 2;
ROM:1FFFDD60 IT CS
ROM:1FFFDD62 ; 30: *(_WORD *)(result - 2) = v3;
ROM:1FFFDD62 STRCSH.W R2, [R0,#-2]!
ROM:1FFFDD66 ; 53: *(_DWORD *)(result - 4) = v3;
ROM:1FFFDD66
ROM:1FFFDD66 loc_1FFFDD66 ; CODE XREF: sub_1FFFDD44+Ej
ROM:1FFFDD66 MOVS R3, R2
ROM:1FFFDD68 ; 42: *(_DWORD *)(result - 8) = v3;
ROM:1FFFDD68 PUSH {R4,R5}
ROM:1FFFDD6A MOV R4, R2
ROM:1FFFDD6C ; 43: *(_DWORD *)(result - 4) = v3;
ROM:1FFFDD6C MOV R5, R2
ROM:1FFFDD6E ; 36: v6 = a2 >= 0x10;
ROM:1FFFDD6E ; 37: a2 -= 16;
ROM:1FFFDD6E
ROM:1FFFDD6E loc_1FFFDD6E ; CODE XREF: sub_1FFFDD44+32j
ROM:1FFFDD6E SUBS R1, #0x10
ROM:1FFFDD70 ; 38: if ( v6 )
ROM:1FFFDD70 IT CS
ROM:1FFFDD72 ; 40: *(_DWORD *)(result - 16) = v3;
ROM:1FFFDD72 ; 41: *(_DWORD *)(result - 12) = v3;
ROM:1FFFDD72 ; 44: result -= 16;
ROM:1FFFDD72 STMCSDB.W R0!, {R2-R5}
ROM:1FFFDD76 ; 47: while ( (a2 != 0) & v6 );
ROM:1FFFDD76 BHI loc_1FFFDD6E
ROM:1FFFDD78 ; 48: v6 = __CFSHL__(a2, 29);
ROM:1FFFDD78 ; 49: v7 = a2 << 29;
ROM:1FFFDD78 LSLS R1, R1, #0x1D
ROM:1FFFDD7A ; 50: if ( v6 )
ROM:1FFFDD7A IT CS
ROM:1FFFDD7C ; 52: *(_DWORD *)(result - 8) = v3;
ROM:1FFFDD7C ; 54: result -= 8;
ROM:1FFFDD7C STMCSDB.W R0!, {R2,R3}
ROM:1FFFDD80 ; 56: if ( v7 < 0 )
ROM:1FFFDD80 IT MI
ROM:1FFFDD82 ; 58: *(_DWORD *)(result - 4) = v3;
ROM:1FFFDD82 ; 59: result -= 4;
ROM:1FFFDD82 STRMI.W R2, [R0,#-4]!
ROM:1FFFDD86 ; 61: v6 = __CFSHL__(v7, 2);
ROM:1FFFDD86 ; 62: v8 = 4 * v7;
ROM:1FFFDD86 LSLS R1, R1, #2
ROM:1FFFDD88 ; 63: if ( v6 )
ROM:1FFFDD88 IT CS
ROM:1FFFDD8A ; 65: *(_WORD *)(result - 2) = v3;
ROM:1FFFDD8A ; 66: result -= 2;
ROM:1FFFDD8A STRCSH.W R2, [R0,#-2]!
ROM:1FFFDD8E ; 68: if ( v8 < 0 )
ROM:1FFFDD8E IT MI
ROM:1FFFDD90 ; 69: *(_BYTE *)(result-- - 1) = v3;
ROM:1FFFDD90 STRMIB.W R2, [R0,#-1]!
ROM:1FFFDD94 POP {R4,R5}
ROM:1FFFDD96 BX LR
ROM:1FFFDD98 ; ---------------------------------------------------------------------------
ROM:1FFFDD98 ; 19: v9 = a2 + v5;
ROM:1FFFDD98
ROM:1FFFDD98 loc_1FFFDD98 ; CODE XREF: sub_1FFFDD44+12j
ROM:1FFFDD98 ADDS R1, R1, R3
ROM:1FFFDD9A ; 20: if ( v9 )
ROM:1FFFDD9A IT NE
ROM:1FFFDD9C ; 21: *(_BYTE *)(result-- - 1) = v3;
ROM:1FFFDD9C STRNEB.W R2, [R0,#-1]!
ROM:1FFFDDA0 ; 22: if ( __CFSHL__(v9, 31) )
ROM:1FFFDDA0 LSLS R3, R1, #0x1F
ROM:1FFFDDA2 ; 23: *(_BYTE *)(result-- - 1) = v3;
ROM:1FFFDDA2 IT CS
ROM:1FFFDDA4 STRCSB.W R2, [R0,#-1]!
ROM:1FFFDDA8 BX LR
ROM:1FFFDDA8 ; End of function sub_1FFFDD44
ROM:1FFFDDA8
ROM:1FFFDDA8 ; ---------------------------------------------------------------------------
ROM:1FFFDDAA ALIGN 4
ROM:1FFFDDAC
ROM:1FFFDDAC ; =============== S U B R O U T I N E =======================================
ROM:1FFFDDAC
ROM:1FFFDDAC
ROM:1FFFDDAC uart_ready ; CODE XREF: start_work:uart1_workp
ROM:1FFFDDAC PUSH {R7,LR}
ROM:1FFFDDAE BL disable_irq
ROM:1FFFDDB2 LDR.W R0, =0x20000190 ; 0x1fffeb64
ROM:1FFFDDB6 LDR R0, [R0] ; 0x40013800 USART1_BASE
ROM:1FFFDDB8 MOVS R1, #0
ROM:1FFFDDBA STRH R1, [R0,#4]
ROM:1FFFDDBC LDR.W R1, =0x20000194
ROM:1FFFDDC0 LDR R1, [R1]
ROM:1FFFDDC2 MOVS R2, #7
ROM:1FFFDDC4 UDIV.W R1, R1, R2
ROM:1FFFDDC8 STRH R1, [R0,#8] ; 配置串口波特率
ROM:1FFFDDCA MOV.W R1, #0x600
ROM:1FFFDDCE STRH R1, [R0,#0x10]
ROM:1FFFDDD0 MOVS R1, #0
ROM:1FFFDDD2 STRH R1, [R0,#0x10]
ROM:1FFFDDD4 STRH R1, [R0,#0x18]
ROM:1FFFDDD6 MOVW R1, #0x340C
ROM:1FFFDDDA STRH R1, [R0,#0xC]
ROM:1FFFDDDC MOVS R0, #0x79 ; 发送0x79表示串口已经准备好了
ROM:1FFFDDDE POP.W {R1,LR}
ROM:1FFFDDE2 B uart_send_a_char
ROM:1FFFDDE2 ; End of function uart_ready
ROM:1FFFDDE2
ROM:1FFFDDE4
ROM:1FFFDDE4 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDDE4
ROM:1FFFDDE4
ROM:1FFFDDE4 uart_monitor ; CODE XREF: start_work+18p
ROM:1FFFDDE4
ROM:1FFFDDE4 var_140 = -0x140
ROM:1FFFDDE4 var_13C = -0x13C
ROM:1FFFDDE4 var_13B = -0x13B
ROM:1FFFDDE4 var_13A = -0x13A
ROM:1FFFDDE4 var_138 = -0x138
ROM:1FFFDDE4 var_134 = -0x134
ROM:1FFFDDE4 var_130 = -0x130
ROM:1FFFDDE4 var_120 = -0x120
ROM:1FFFDDE4
ROM:1FFFDDE4 ; FUNCTION CHUNK AT ROM:1FFFE15C SIZE 00000020 BYTES
ROM:1FFFDDE4
ROM:1FFFDDE4 PUSH.W {R4-R10,LR}
ROM:1FFFDDE8 SUB SP, SP, #0x120
ROM:1FFFDDEA ADD R0, SP, #0x140+var_130
ROM:1FFFDDEC ADR.W R1, boot_param_block ; host 00 ff命令的设备响应字符串
ROM:1FFFDDEC ; byte 1:ACK
ROM:1FFFDDF0 MOVS R2, #0x10
ROM:1FFFDDF2 BL memcpy ; N 当用两个补码表示的带符号数进行运算时,N=1表示运算的结果为负数;N=0表示运算的结果为正数或零.
ROM:1FFFDDF2 ; Z Z=1表示运算的结果为零,Z=0表示运算的结果非零。
ROM:1FFFDDF2 ; C 可以有4种方法设置C的值:
ROM:1FFFDDF2 ; 加法运算(包括CMN):当运算结果产生了进位时(无符号数溢出),C=1,否则C=0。
ROM:1FFFDDF2 ; 减法运算(包括CMP):当运算时产生了借位时(无符号数溢出),C=0,否则C=1。
ROM:1FFFDDF2 ; 对于包含移位操作的非加/减运算指令,C为移出值的最后一位。
ROM:1FFFDDF2 ; 对于其它的非加/减运算指令,C的值通常不会改变。
ROM:1FFFDDF2 ; V 可以有2种方法设置V的值:
ROM:1FFFDDF2 ; 对于加减法运算指令,当操作数和运算结果为二进制的补码表示的带符号数时,V=1表示符号位溢出
ROM:1FFFDDF2 ; 对于其它的非加/减运算指令,V的值通常不会改变。
ROM:1FFFDDF2 ;
ROM:1FFFDDF2 ; 0000 = EQ - Z set (equal,相等)
ROM:1FFFDDF2 ; 0001 = NE - Z clear (not equal,不相等)
ROM:1FFFDDF2 ; 0010 = CS - C set (unsigned higher or same,无符号大于或等于)
ROM:1FFFDDF2 ; 0011 = CC - C clear (unsigned lower,无符号小于)
ROM:1FFFDDF2 ; 0100 = MI - N set (negative,负数)
ROM:1FFFDDF2 ; 0101 = PL - N clear (positive or zero,正数或零)
ROM:1FFFDDF2 ; 0110 = VS - V set (overflow,溢出)
ROM:1FFFDDF2 ; 0111 = VC - V clear (no overflow,未溢出)
ROM:1FFFDDF2 ; 1000 = HI - C set and Z clear (unsigned higher,无符号大于)
ROM:1FFFDDF2 ; 1001 = LS - C clear or Z set (unsigned lower or same,无符号小于或等于)
ROM:1FFFDDF2 ; 1010 = GE - N set and V set, or N clear and V clear (greater or equal,带符号大于或等于)
ROM:1FFFDDF2 ; 1011 = LT - N set and V clear, or N clear and V set (less than,带符号小于)
ROM:1FFFDDF2 ; 1100 = GT - Z clear, and either N set and V set, or N clear and V clear (greater than,带符号大于)
ROM:1FFFDDF2 ; 1101 = LE - Z set, or N set and V clear, or N clear and V set (less than or equal,带符号小于或等于)
ROM:1FFFDDF2 ; 1110 = AL - always
ROM:1FFFDDF2 ; 1111 = NV - never
ROM:1FFFDDF2 ;
ROM:1FFFDDF6 MOVS R0, #0
ROM:1FFFDDF8 STR R0, [SP,#0x140+var_140]
ROM:1FFFDDFA STR R0, [SP,#0x140+var_138]
ROM:1FFFDDFC STR R0, [SP,#0x140+var_134]
ROM:1FFFDDFE STRB.W R0, [SP,#0x140+var_13B]
ROM:1FFFDE02 STRB.W R0, [SP,#0x140+var_13C]
ROM:1FFFDE06 STRB.W R0, [SP,#0x140+var_13A]
ROM:1FFFDE0A ADD.W R9, SP, #0x140+var_120
ROM:1FFFDE0E LDR.W R10, =0xE000E010
ROM:1FFFDE12 LDR.W R6, =0x4002100C
ROM:1FFFDE16 LDR.W R7, =0x4002200C ; flash操作寄存器的基址是40022000
ROM:1FFFDE1A MOV.W R8, #0xFFFFFFFF
ROM:1FFFDE1E B loc_1FFFDE26
ROM:1FFFDE20 ; ---------------------------------------------------------------------------
ROM:1FFFDE20
ROM:1FFFDE20 send_nack ; CODE XREF: uart_monitor+A2j
ROM:1FFFDE20 ; uart_monitor:loc_1FFFDEF0j ...
ROM:1FFFDE20 MOVS R0, #0x1F
ROM:1FFFDE22
ROM:1FFFDE22 uart2_send_a1 ; CODE XREF: uart_monitor+2DAj
ROM:1FFFDE22 BL uart_send_a_char
ROM:1FFFDE26
ROM:1FFFDE26 loc_1FFFDE26 ; CODE XREF: uart_monitor+3Aj
ROM:1FFFDE26 ; uart_monitor+AAj ...
ROM:1FFFDE26 LDR.W R0, =0x40003000 ; 看门狗操作
ROM:1FFFDE2A MOVW R1, #0xAAAA
ROM:1FFFDE2E STR R1, [R0]
ROM:1FFFDE30 BL uart1_rev_a_char
ROM:1FFFDE34 STRB.W R0, [SP,#0x140+var_13A]
ROM:1FFFDE38 LDRB.W R4, [SP,#0x140+var_13A]
ROM:1FFFDE3C BL uart1_rev_a_char
ROM:1FFFDE40 EORS R0, R4 ; 前面2个字节异或的值必须为0xFF
ROM:1FFFDE42 CMP R0, #0xFF
ROM:1FFFDE44 ITT NE ; 看是否为0xFF
ROM:1FFFDE46 MOVNE R0, #0x55
ROM:1FFFDE48 STRNEB.W R0, [SP,#0x140+var_13A]
ROM:1FFFDE4C LDRB.W R0, [SP,#0x140+var_13A]
ROM:1FFFDE50 CBZ R0, send_boot_param ; 接收到00 FF
ROM:1FFFDE50 ; 第一个字节=0x00
ROM:1FFFDE50 ; 发送bootloader的参数 16字节
ROM:1FFFDE52 CMP R0, #1
ROM:1FFFDE54 BEQ get_version_baohubit ; Byte 1: ACK
ROM:1FFFDE54 ; Byte 2: Bootloader version (0 < Version ≤ 255), example: 0x10 = Version 1.0
ROM:1FFFDE54 ; Byte 3: Option byte 1: 0x00 to keep the compatibility with generic bootloader protocol
ROM:1FFFDE54 ; Byte 4: Option byte 2: 0x00 to keep the compatibility with generic bootloader protocol
ROM:1FFFDE54 ; Byte 5: ACK
ROM:1FFFDE56 CMP R0, #2
ROM:1FFFDE58 BEQ get_id
ROM:1FFFDE5A CMP R0, #0x11
ROM:1FFFDE5C BEQ read_mem
ROM:1FFFDE5E CMP R0, #0x21
ROM:1FFFDE60 BEQ cmd_go
ROM:1FFFDE62 CMP R0, #0x31
ROM:1FFFDE64 BEQ.W write_mem
ROM:1FFFDE68 CMP R0, #0x43
ROM:1FFFDE6A BEQ.W loc_1FFFE068
ROM:1FFFDE6E CMP R0, #0x63
ROM:1FFFDE70 BEQ.W loc_1FFFE0C0
ROM:1FFFDE74 CMP R0, #0x73
ROM:1FFFDE76 BEQ.W loc_1FFFE118
ROM:1FFFDE7A CMP R0, #0x82
ROM:1FFFDE7C BEQ.W loc_1FFFE12C
ROM:1FFFDE80 CMP R0, #0x92
ROM:1FFFDE82 BEQ.W loc_1FFFE13E
ROM:1FFFDE86 B send_nack
ROM:1FFFDE88 ; ---------------------------------------------------------------------------
ROM:1FFFDE88
ROM:1FFFDE88 send_boot_param ; CODE XREF: uart_monitor+6Cj
ROM:1FFFDE88 ; uart_monitor+BAj
ROM:1FFFDE88 STR R0, [SP,#0x140+var_140]
ROM:1FFFDE8A LDR R0, [SP,#0x140+var_140]
ROM:1FFFDE8C CMP R0, #0xF
ROM:1FFFDE8E BCS loc_1FFFDE26
ROM:1FFFDE90 LDR R0, [SP,#0x140+var_140]
ROM:1FFFDE92 ADD R1, SP, #0x140+var_130
ROM:1FFFDE94 LDRB R0, [R0,R1]
ROM:1FFFDE96 BL uart_send_a_char
ROM:1FFFDE9A LDR R0, [SP,#0x140+var_140]
ROM:1FFFDE9C ADDS R0, R0, #1
ROM:1FFFDE9E B send_boot_param
ROM:1FFFDEA0 ; ---------------------------------------------------------------------------
ROM:1FFFDEA0
ROM:1FFFDEA0 get_version_baohubit ; CODE XREF: uart_monitor+70j
ROM:1FFFDEA0 BL uart1_send_ack ; Byte 1: ACK
ROM:1FFFDEA0 ; Byte 2: Bootloader version (0 < Version ≤ 255), example: 0x10 = Version 1.0
ROM:1FFFDEA0 ; Byte 3: Option byte 1: 0x00 to keep the compatibility with generic bootloader protocol
ROM:1FFFDEA0 ; Byte 4: Option byte 2: 0x00 to keep the compatibility with generic bootloader protocol
ROM:1FFFDEA0 ; Byte 5: ACK
ROM:1FFFDEA4 MOVS R0, #0x22 ; Byte 2: Bootloader version (0 <Version<= 255), example: 0x10 = Version 1.0
ROM:1FFFDEA6 BL uart_send_a_char
ROM:1FFFDEAA MOVS R0, #0 ; Byte 3: Option byte 1: 0x00 to keep the compatibility with generic bootloader protocol
ROM:1FFFDEAC BL uart_send_a_char
ROM:1FFFDEB0 MOVS R0, #0 ; Byte 4: Option byte 2: 0x00 to keep the compatibility with generic bootloader protocol
ROM:1FFFDEB2 B loc_1FFFDEC6
ROM:1FFFDEB4 ; ---------------------------------------------------------------------------
ROM:1FFFDEB4
ROM:1FFFDEB4 get_id ; CODE XREF: uart_monitor+74j
ROM:1FFFDEB4 BL uart1_send_ack
ROM:1FFFDEB8 MOVS R0, #1
ROM:1FFFDEBA BL uart_send_a_char
ROM:1FFFDEBE MOVS R0, #4
ROM:1FFFDEC0 BL uart_send_a_char
ROM:1FFFDEC4 MOVS R0, #0x18
ROM:1FFFDEC6
ROM:1FFFDEC6 loc_1FFFDEC6 ; CODE XREF: uart_monitor+CEj
ROM:1FFFDEC6 BL uart_send_a_char
ROM:1FFFDECA B uart_send_ack
ROM:1FFFDECC ; ---------------------------------------------------------------------------
ROM:1FFFDECC
ROM:1FFFDECC read_mem ; CODE XREF: uart_monitor+78j
ROM:1FFFDECC BL start_rd_mem
ROM:1FFFDED0 BL get_mem_block
ROM:1FFFDED4 ; ---------------------------------------------------------------------------
ROM:1FFFDED4 BL loc_1FFFE168
ROM:1FFFDED8 ; ---------------------------------------------------------------------------
ROM:1FFFDED8 BEQ loc_1FFFDE26
ROM:1FFFDEDA BL uart1_rev_a_char
ROM:1FFFDEDE STRB.W R0, [SP,#0x140+var_13C]
ROM:1FFFDEE2 LDRB.W R4, [SP,#0x140+var_13C]
ROM:1FFFDEE6 BL uart1_rev_a_char
ROM:1FFFDEEA MVNS R1, R4
ROM:1FFFDEEC UXTB R1, R1
ROM:1FFFDEEE CMP R0, R1
ROM:1FFFDEF0
ROM:1FFFDEF0 loc_1FFFDEF0 ; CODE XREF: uart_monitor+14Cj
ROM:1FFFDEF0 BNE send_nack
ROM:1FFFDEF2 BL uart1_send_ack
ROM:1FFFDEF6 LDRB.W R0, [SP,#0x140+var_13C]
ROM:1FFFDEFA ADDS R0, R0, #1
ROM:1FFFDEFC
ROM:1FFFDEFC loc_1FFFDEFC ; CODE XREF: uart_monitor+130j
ROM:1FFFDEFC STR R0, [SP,#0x140+var_140]
ROM:1FFFDEFE LDR R0, [SP,#0x140+var_140]
ROM:1FFFDF00 CMP R0, #0
ROM:1FFFDF02 BEQ loc_1FFFDE26
ROM:1FFFDF04 LDR R0, [SP,#0x140+var_138]
ROM:1FFFDF06 ADDS R1, R0, #1
ROM:1FFFDF08 STR R1, [SP,#0x140+var_138]
ROM:1FFFDF0A LDRB R0, [R0]
ROM:1FFFDF0C BL uart_send_a_char
ROM:1FFFDF10 LDR R0, [SP,#0x140+var_140]
ROM:1FFFDF12 SUBS R0, R0, #1
ROM:1FFFDF14 B loc_1FFFDEFC
ROM:1FFFDF16 ; ---------------------------------------------------------------------------
ROM:1FFFDF16
ROM:1FFFDF16 cmd_go ; CODE XREF: uart_monitor+7Cj
ROM:1FFFDF16 BL start_rd_mem
ROM:1FFFDF1A BL get_mem_block
ROM:1FFFDF1E ; ---------------------------------------------------------------------------
ROM:1FFFDF1E STRB.W R0, [SP,#0x140+var_13B]
ROM:1FFFDF22 LDRB.W R0, [SP,#0x140+var_13B]
ROM:1FFFDF26 CMP R0, #2
ROM:1FFFDF28 ITT NE
ROM:1FFFDF2A LDRNEB.W R0, [SP,#0x140+var_13B]
ROM:1FFFDF2E CMPNE R0, #3
ROM:1FFFDF30 BNE loc_1FFFDEF0
ROM:1FFFDF32 BL RCC_init
ROM:1FFFDF36 MOVS R0, #0x14
ROM:1FFFDF38 STR R0, [R6,#8]
ROM:1FFFDF3A STR.W R8, [R6]
ROM:1FFFDF3E MOVS R0, #0
ROM:1FFFDF40 STR R0, [R6]
ROM:1FFFDF42 STR.W R8, [R6,#4]
ROM:1FFFDF46 STR R0, [R6,#4]
ROM:1FFFDF48 STR R0, [R6,#0xC]
ROM:1FFFDF4A STR R0, [R6,#0x10]
ROM:1FFFDF4C STR.W R0, [R10]
ROM:1FFFDF50 STR.W R0, [R10,#8]
ROM:1FFFDF54 MOV.W R0, #0x80000
ROM:1FFFDF58 STR.W R0, [R10,#4]
ROM:1FFFDF5C BL enable_irq
ROM:1FFFDF60 LDR R0, [SP,#0x140+var_138]
ROM:1FFFDF62 LDR R4, [R0,#4]
ROM:1FFFDF64 LDR R0, [SP,#0x140+var_138]
ROM:1FFFDF66 LDR R0, [R0]
ROM:1FFFDF68 BL set_MSP
ROM:1FFFDF6C BLX R4
ROM:1FFFDF6E
ROM:1FFFDF6E loc_1FFFDF6E ; CODE XREF: uart_monitor+198j
ROM:1FFFDF6E ; uart_monitor+1A8j
ROM:1FFFDF6E B loc_1FFFDE26
ROM:1FFFDF70 ; ---------------------------------------------------------------------------
ROM:1FFFDF70
ROM:1FFFDF70 write_mem ; CODE XREF: uart_monitor+80j
ROM:1FFFDF70 BL start_rd_mem
ROM:1FFFDF74 BL get_mem_block
ROM:1FFFDF78 ; ---------------------------------------------------------------------------
ROM:1FFFDF78 BL loc_1FFFE168
ROM:1FFFDF7C ; ---------------------------------------------------------------------------
ROM:1FFFDF7C BEQ loc_1FFFDF6E
ROM:1FFFDF7E BL uart1_rev_a_char
ROM:1FFFDF82 BL loc_1FFFE15C
ROM:1FFFDF86 ; ---------------------------------------------------------------------------
ROM:1FFFDF86 BL loc_1FFFE154
ROM:1FFFDF8A CMP R0, #0xAA
ROM:1FFFDF8C BNE loc_1FFFDF6E
ROM:1FFFDF8E LDRB.W R0, [SP,#0x140+var_13B]
ROM:1FFFDF92 CMP R0, #2
ROM:1FFFDF94 BNE loc_1FFFDFCA
ROM:1FFFDF96 ANDS.W R0, R5, #3
ROM:1FFFDF9A ITT NE
ROM:1FFFDF9C ANDNE.W R0, R5, #0xFC
ROM:1FFFDFA0 ADDNE R5, R0, #4
ROM:1FFFDFA2 BL FLASH_UnlockBank1
ROM:1FFFDFA6 STR R5, [SP,#0x140+var_140]
ROM:1FFFDFA8 B loc_1FFFDFC4
ROM:1FFFDFAA ; ---------------------------------------------------------------------------
ROM:1FFFDFAA
ROM:1FFFDFAA loc_1FFFDFAA ; CODE XREF: uart_monitor+1E4j
ROM:1FFFDFAA LDR R0, [SP,#0x140+var_140]
ROM:1FFFDFAC SUB.W R0, R9, R0
ROM:1FFFDFB0 LDR R1, [R5,R0]
ROM:1FFFDFB2 LDR R0, [SP,#0x140+var_138]
ROM:1FFFDFB4 LDR R2, [SP,#0x140+var_140]
ROM:1FFFDFB6 SUBS R0, R0, R2
ROM:1FFFDFB8 ADDS R0, R5, R0
ROM:1FFFDFBA BL FLASH_ProgramWord
ROM:1FFFDFBE LDR R0, [SP,#0x140+var_140]
ROM:1FFFDFC0 SUBS R0, R0, #4
ROM:1FFFDFC2 STR R0, [SP,#0x140+var_140]
ROM:1FFFDFC4
ROM:1FFFDFC4 loc_1FFFDFC4 ; CODE XREF: uart_monitor+1C4j
ROM:1FFFDFC4 LDR R0, [SP,#0x140+var_140]
ROM:1FFFDFC6 CMP R0, #0
ROM:1FFFDFC8 BNE loc_1FFFDFAA
ROM:1FFFDFCA
ROM:1FFFDFCA loc_1FFFDFCA ; CODE XREF: uart_monitor+1B0j
ROM:1FFFDFCA LDRB.W R0, [SP,#0x140+var_13B]
ROM:1FFFDFCE CMP R0, #3
ROM:1FFFDFD0 BNE loc_1FFFDFFE
ROM:1FFFDFD2 ANDS.W R0, R5, #3
ROM:1FFFDFD6 ITT NE
ROM:1FFFDFD8 ANDNE.W R0, R5, #0xFC
ROM:1FFFDFDC ADDNE R5, R0, #4
ROM:1FFFDFDE STR R5, [SP,#0x140+var_140]
ROM:1FFFDFE0 B loc_1FFFDFF8
ROM:1FFFDFE2 ; ---------------------------------------------------------------------------
ROM:1FFFDFE2
ROM:1FFFDFE2 loc_1FFFDFE2 ; CODE XREF: uart_monitor+218j
ROM:1FFFDFE2 LDR R0, [SP,#0x140+var_138]
ROM:1FFFDFE4 LDR R1, [SP,#0x140+var_140]
ROM:1FFFDFE6 SUBS R0, R0, R1
ROM:1FFFDFE8 LDR R1, [SP,#0x140+var_140]
ROM:1FFFDFEA SUB.W R1, R9, R1
ROM:1FFFDFEE LDR R1, [R5,R1]
ROM:1FFFDFF0 STR R1, [R5,R0]
ROM:1FFFDFF2 LDR R0, [SP,#0x140+var_140]
ROM:1FFFDFF4 SUBS R0, R0, #4
ROM:1FFFDFF6 STR R0, [SP,#0x140+var_140]
ROM:1FFFDFF8
ROM:1FFFDFF8 loc_1FFFDFF8 ; CODE XREF: uart_monitor+1FCj
ROM:1FFFDFF8 LDR R0, [SP,#0x140+var_140]
ROM:1FFFDFFA CMP R0, #0
ROM:1FFFDFFC BNE loc_1FFFDFE2
ROM:1FFFDFFE
ROM:1FFFDFFE loc_1FFFDFFE ; CODE XREF: uart_monitor+1ECj
ROM:1FFFDFFE LDRB.W R0, [SP,#0x140+var_13B]
ROM:1FFFE002 CMP R0, #4
ROM:1FFFE004 ITTT EQ
ROM:1FFFE006 LDREQ R0, [SP,#0x140+var_138]
ROM:1FFFE008 LDREQ R1, =0x1FFFF800
ROM:1FFFE00A CMPEQ R0, R1
ROM:1FFFE00C BNE uart_send_ack
ROM:1FFFE00E LSLS R0, R5, #0x1F
ROM:1FFFE010 ITT MI
ROM:1FFFE012 ANDMI.W R0, R5, #0xFE
ROM:1FFFE016 ADDMI R5, R0, #2
ROM:1FFFE018 BL sub_1FFFC046
ROM:1FFFE01C BL FLASH_UnlockBank1
ROM:1FFFE020 BL sub_1FFFC010
ROM:1FFFE024 LDR R0, [R7,#4] ; Enable the Option Bytes Programming operation
ROM:1FFFE024 ; 0x2002200c+4=0x20022010
ROM:1FFFE026 ORR.W R0, R0, #0x10
ROM:1FFFE02A STR R0, [R7,#4]
ROM:1FFFE02C BL FLASH_WaitForLastOperation
ROM:1FFFE030 ; ---------------------------------------------------------------------------
ROM:1FFFE030 STR R5, [SP,#0x140+var_140]
ROM:1FFFE032 B loc_1FFFE050
ROM:1FFFE034 ; ---------------------------------------------------------------------------
ROM:1FFFE034
ROM:1FFFE034 loc_1FFFE034 ; CODE XREF: uart_monitor+270j
ROM:1FFFE034 LDR R0, [SP,#0x140+var_140]
ROM:1FFFE036 SUB.W R0, R9, R0
ROM:1FFFE03A LDRH R0, [R5,R0]
ROM:1FFFE03C UXTB R0, R0
ROM:1FFFE03E LDR R1, [SP,#0x140+var_138]
ROM:1FFFE040 LDR R2, [SP,#0x140+var_140]
ROM:1FFFE042 SUBS R1, R1, R2
ROM:1FFFE044 STRH R0, [R5,R1]
ROM:1FFFE046 BL FLASH_WaitForLastOperation
ROM:1FFFE04A ; ---------------------------------------------------------------------------
ROM:1FFFE04A LDR R0, [SP,#0x140+var_140]
ROM:1FFFE04C SUBS R0, R0, #2
ROM:1FFFE04E STR R0, [SP,#0x140+var_140]
ROM:1FFFE050
ROM:1FFFE050 loc_1FFFE050 ; CODE XREF: uart_monitor+24Ej
ROM:1FFFE050 LDR R0, [SP,#0x140+var_140]
ROM:1FFFE052 CMP R0, #0
ROM:1FFFE054 BNE loc_1FFFE034
ROM:1FFFE056 LDR R0, [R7,#4]
ROM:1FFFE058 BIC.W R0, R0, #0x10
ROM:1FFFE05C STR R0, [R7,#4]
ROM:1FFFE05E BL uart1_send_ack
ROM:1FFFE062 BL sys_reset
ROM:1FFFE066 B uart_send_ack
ROM:1FFFE068 ; ---------------------------------------------------------------------------
ROM:1FFFE068
ROM:1FFFE068 loc_1FFFE068 ; CODE XREF: uart_monitor+86j
ROM:1FFFE068 BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFE068 ;
ROM:1FFFE06C CMP R0, #1
ROM:1FFFE06E BEQ loc_1FFFE132
ROM:1FFFE070 BL uart1_send_ack
ROM:1FFFE074 BL uart1_rev_a_char
ROM:1FFFE078 STRB.W R0, [SP,#0x140+var_13C]
ROM:1FFFE07C LDRB.W R0, [SP,#0x140+var_13C]
ROM:1FFFE080 CMP R0, #0xFF
ROM:1FFFE082 BNE loc_1FFFE090
ROM:1FFFE084 BL uart1_rev_a_char
ROM:1FFFE088 CBNZ R0, uart_send_ack
ROM:1FFFE08A BL sub_1FFFC0C6
ROM:1FFFE08E B uart_send_ack
ROM:1FFFE090 ; ---------------------------------------------------------------------------
ROM:1FFFE090
ROM:1FFFE090 loc_1FFFE090 ; CODE XREF: uart_monitor+29Ej
ROM:1FFFE090 LDRB.W R5, [SP,#0x140+var_13C]
ROM:1FFFE094 BL sub_1FFFE152
ROM:1FFFE098 CMP R0, #0xAA
ROM:1FFFE09A BNE.W send_nack
ROM:1FFFE09E ADDS R0, R5, #1
ROM:1FFFE0A0 B loc_1FFFE0B4
ROM:1FFFE0A2 ; ---------------------------------------------------------------------------
ROM:1FFFE0A2
ROM:1FFFE0A2 loc_1FFFE0A2 ; CODE XREF: uart_monitor+2D6j
ROM:1FFFE0A2 LDRB.W R0, [R4],#1
ROM:1FFFE0A6 LSLS R0, R0, #0xB
ROM:1FFFE0A8 ADD.W R0, R0, #0x8000000
ROM:1FFFE0AC BL FLASH_ErasePage
ROM:1FFFE0B0 LDR R0, [SP,#0x140+var_140]
ROM:1FFFE0B2 SUBS R0, R0, #1
ROM:1FFFE0B4
ROM:1FFFE0B4 loc_1FFFE0B4 ; CODE XREF: uart_monitor+2BCj
ROM:1FFFE0B4 STR R0, [SP,#0x140+var_140]
ROM:1FFFE0B6 LDR R0, [SP,#0x140+var_140]
ROM:1FFFE0B8 CMP R0, #0
ROM:1FFFE0BA BNE loc_1FFFE0A2
ROM:1FFFE0BC
ROM:1FFFE0BC uart_send_ack ; CODE XREF: uart_monitor+E6j
ROM:1FFFE0BC ; uart_monitor+228j ...
ROM:1FFFE0BC MOVS R0, #0x79
ROM:1FFFE0BE B uart2_send_a1
ROM:1FFFE0C0 ; ---------------------------------------------------------------------------
ROM:1FFFE0C0
ROM:1FFFE0C0 loc_1FFFE0C0 ; CODE XREF: uart_monitor+8Cj
ROM:1FFFE0C0 BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFE0C0 ;
ROM:1FFFE0C4 CMP R0, #1
ROM:1FFFE0C6 BEQ loc_1FFFE132 ; 读保护位被设置了
ROM:1FFFE0C8 BL uart1_send_ack
ROM:1FFFE0CC BL uart1_rev_a_char
ROM:1FFFE0D0 BL loc_1FFFE15C
ROM:1FFFE0D4 ; ---------------------------------------------------------------------------
ROM:1FFFE0D4 BL sub_1FFFE152
ROM:1FFFE0D8 CMP R0, #0xAA
ROM:1FFFE0DA BNE loc_1FFFE116
ROM:1FFFE0DC MOVS R0, #0
ROM:1FFFE0DE STR R0, [SP,#0x140+var_134]
ROM:1FFFE0E0 STR R5, [SP,#0x140+var_140]
ROM:1FFFE0E2 MOVS R2, #1
ROM:1FFFE0E4 B loc_1FFFE0FA
ROM:1FFFE0E6 ; ---------------------------------------------------------------------------
ROM:1FFFE0E6
ROM:1FFFE0E6 loc_1FFFE0E6 ; CODE XREF: uart_monitor+31Aj
ROM:1FFFE0E6 LDRB.W R0, [R4],#1
ROM:1FFFE0EA LDR R1, [SP,#0x140+var_134]
ROM:1FFFE0EC LSL.W R0, R2, R0
ROM:1FFFE0F0 ORRS R0, R1
ROM:1FFFE0F2 STR R0, [SP,#0x140+var_134]
ROM:1FFFE0F4 LDR R0, [SP,#0x140+var_140]
ROM:1FFFE0F6 SUBS R0, R0, #1
ROM:1FFFE0F8 STR R0, [SP,#0x140+var_140]
ROM:1FFFE0FA
ROM:1FFFE0FA loc_1FFFE0FA ; CODE XREF: uart_monitor+300j
ROM:1FFFE0FA LDR R0, [SP,#0x140+var_140]
ROM:1FFFE0FC CMP R0, #0
ROM:1FFFE0FE BNE loc_1FFFE0E6
ROM:1FFFE100 BL FLASH_UnlockBank1
ROM:1FFFE104 MOVS R0, #0x35
ROM:1FFFE106 STR R0, [R7]
ROM:1FFFE108 LDR R0, [SP,#0x140+var_134]
ROM:1FFFE10A BL sub_1FFFC0FC
ROM:1FFFE10E
ROM:1FFFE10E loc_1FFFE10E ; CODE XREF: uart_monitor+346j
ROM:1FFFE10E BL uart1_send_ack
ROM:1FFFE112
ROM:1FFFE112 loc_1FFFE112 ; CODE XREF: uart_monitor+36Cj
ROM:1FFFE112 BL sys_reset
ROM:1FFFE116
ROM:1FFFE116 loc_1FFFE116 ; CODE XREF: uart_monitor+2F6j
ROM:1FFFE116 B loc_1FFFDE26
ROM:1FFFE118 ; ---------------------------------------------------------------------------
ROM:1FFFE118
ROM:1FFFE118 loc_1FFFE118 ; CODE XREF: uart_monitor+92j
ROM:1FFFE118 BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFE118 ;
ROM:1FFFE11C CMP R0, #1
ROM:1FFFE11E BEQ loc_1FFFE132
ROM:1FFFE120 BL uart1_send_ack
ROM:1FFFE124 MOVS R0, #0
ROM:1FFFE126
ROM:1FFFE126 loc_1FFFE126 ; CODE XREF: uart_monitor+358j
ROM:1FFFE126 BL sub_1FFFC1AA
ROM:1FFFE12A B loc_1FFFE10E
ROM:1FFFE12C ; ---------------------------------------------------------------------------
ROM:1FFFE12C
ROM:1FFFE12C loc_1FFFE12C ; CODE XREF: uart_monitor+98j
ROM:1FFFE12C BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFE12C ;
ROM:1FFFE130 CMP R0, #1
ROM:1FFFE132
ROM:1FFFE132 loc_1FFFE132 ; CODE XREF: uart_monitor+28Aj
ROM:1FFFE132 ; uart_monitor+2E2j ...
ROM:1FFFE132 BEQ.W send_nack
ROM:1FFFE136 BL uart1_send_ack
ROM:1FFFE13A MOVS R0, #1
ROM:1FFFE13C B loc_1FFFE126
ROM:1FFFE13E ; ---------------------------------------------------------------------------
ROM:1FFFE13E
ROM:1FFFE13E loc_1FFFE13E ; CODE XREF: uart_monitor+9Ej
ROM:1FFFE13E BL uart1_send_ack
ROM:1FFFE142 MOVS R0, #0
ROM:1FFFE144 BL sub_1FFFC1AA
ROM:1FFFE148 BL uart1_send_ack
ROM:1FFFE14C BL clear_all_mem
ROM:1FFFE150 B loc_1FFFE112
ROM:1FFFE150 ; End of function uart_monitor
ROM:1FFFE150
ROM:1FFFE152
ROM:1FFFE152 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE152
ROM:1FFFE152
ROM:1FFFE152 sub_1FFFE152 ; CODE XREF: uart_monitor+2B0p
ROM:1FFFE152 ; uart_monitor+2F0p
ROM:1FFFE152
ROM:1FFFE152 arg_4 = 4
ROM:1FFFE152
ROM:1FFFE152 MOV R4, R9
ROM:1FFFE154
ROM:1FFFE154 loc_1FFFE154 ; CODE XREF: uart_monitor+1A2p
ROM:1FFFE154 MOV R1, R9
ROM:1FFFE156 LDRB.W R0, [SP,#arg_4]
ROM:1FFFE15A B sub_1FFFE1FE
ROM:1FFFE15A ; End of function sub_1FFFE152
ROM:1FFFE15A
ROM:1FFFE15C ; ---------------------------------------------------------------------------
ROM:1FFFE15C ; START OF FUNCTION CHUNK FOR uart_monitor
ROM:1FFFE15C
ROM:1FFFE15C loc_1FFFE15C ; CODE XREF: uart_monitor+19Ej
ROM:1FFFE15C ; uart_monitor+2ECj
ROM:1FFFE15C STRB.W R0, [SP,#0x140+var_13C]
ROM:1FFFE160 LDRB.W R0, [SP,#0x140+var_13C]
ROM:1FFFE164 ADDS R5, R0, #1
ROM:1FFFE166 BX LR
ROM:1FFFE168 ; ---------------------------------------------------------------------------
ROM:1FFFE168
ROM:1FFFE168 loc_1FFFE168 ; CODE XREF: uart_monitor+F0j
ROM:1FFFE168 ; uart_monitor+194j
ROM:1FFFE168 STRB.W R0, [SP,#0x140+var_13B]
ROM:1FFFE16C LDRB.W R0, [SP,#0x140+var_13B]
ROM:1FFFE170 CMP R0, #1
ROM:1FFFE172 BX LR
ROM:1FFFE174 ; ---------------------------------------------------------------------------
ROM:1FFFE174
ROM:1FFFE174 get_mem_block ; CODE XREF: uart_monitor+ECj
ROM:1FFFE174 ; uart_monitor+136j ...
ROM:1FFFE174 STR R0, [SP,#8]
ROM:1FFFE176 LDR R0, [SP,#8]
ROM:1FFFE178 B.W get_mem_block
ROM:1FFFE178 ; END OF FUNCTION CHUNK FOR uart_monitor
ROM:1FFFE17C
ROM:1FFFE17C ; =============== S U B R O U T I N E =======================================
ROM:1FFFE17C
ROM:1FFFE17C
ROM:1FFFE17C uart1_send_ack ; CODE XREF: uart_monitor:get_version_baohubitp
ROM:1FFFE17C ; uart_monitor:get_idp ...
ROM:1FFFE17C MOVS R0, #0x79
ROM:1FFFE17E B uart_send_a_char
ROM:1FFFE17E ; End of function uart1_send_ack
ROM:1FFFE17E
ROM:1FFFE180
ROM:1FFFE180 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE180
ROM:1FFFE180
ROM:1FFFE180 uart1_rev_a_char ; CODE XREF: uart_monitor+4Cp
ROM:1FFFE180 ; uart_monitor+58p ...
ROM:1FFFE180 LDR R0, =0x20000190
ROM:1FFFE182 LDR R0, [R0]
ROM:1FFFE184 MOVW R2, #0xAAAA
ROM:1FFFE188 B loc_1FFFE18E
ROM:1FFFE18A ; ---------------------------------------------------------------------------
ROM:1FFFE18A
ROM:1FFFE18A loc_1FFFE18A ; CODE XREF: uart1_rev_a_char+12j
ROM:1FFFE18A LDR R1, =0x40003000
ROM:1FFFE18C STR R2, [R1]
ROM:1FFFE18E
ROM:1FFFE18E loc_1FFFE18E ; CODE XREF: uart1_rev_a_char+8j
ROM:1FFFE18E LDRH R1, [R0]
ROM:1FFFE190 LSLS R1, R1, #0x1A
ROM:1FFFE192 BPL loc_1FFFE18A
ROM:1FFFE194 LDRH R0, [R0,#4]
ROM:1FFFE196 UXTB R0, R0
ROM:1FFFE198 BX LR
ROM:1FFFE198 ; End of function uart1_rev_a_char
ROM:1FFFE198
ROM:1FFFE19A
ROM:1FFFE19A ; =============== S U B R O U T I N E =======================================
ROM:1FFFE19A
ROM:1FFFE19A
ROM:1FFFE19A uart_send_a_char ; CODE XREF: uart_ready+36p
ROM:1FFFE19A ; uart_monitor:uart2_send_a1p ...
ROM:1FFFE19A LDR R1, =0x20000190 ; 0x1FFFEB64
ROM:1FFFE19C LDR R1, [R1]
ROM:1FFFE19E STRH R0, [R1,#4]
ROM:1FFFE1A0
ROM:1FFFE1A0 loc_1FFFE1A0 ; CODE XREF: uart_send_a_char+Aj
ROM:1FFFE1A0 LDRH R0, [R1]
ROM:1FFFE1A2 LSLS R0, R0, #0x19
ROM:1FFFE1A4 BPL loc_1FFFE1A0
ROM:1FFFE1A6 BX LR
ROM:1FFFE1A6 ; End of function uart_send_a_char
ROM:1FFFE1A6
ROM:1FFFE1A8
ROM:1FFFE1A8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE1A8
ROM:1FFFE1A8
ROM:1FFFE1A8 start_rd_mem ; CODE XREF: uart_monitor:read_memp
ROM:1FFFE1A8 ; uart_monitor:cmd_gop ...
ROM:1FFFE1A8 PUSH {R3-R7,LR}
ROM:1FFFE1AA BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFE1AA ;
ROM:1FFFE1AE CBNZ R0, quit_rd_mem
ROM:1FFFE1B0 MOVS R0, #0x79
ROM:1FFFE1B2 BL uart_send_a_char
ROM:1FFFE1B6 BL uart1_rev_a_char
ROM:1FFFE1BA MOV R4, R0
ROM:1FFFE1BC BL uart1_rev_a_char
ROM:1FFFE1C0 LSLS R1, R0, #0x10
ROM:1FFFE1C2 ORR.W R5, R1, R4,LSL#24
ROM:1FFFE1C6 EORS R4, R0
ROM:1FFFE1C8 BL uart1_rev_a_char
ROM:1FFFE1CC MOV R6, R0
ROM:1FFFE1CE BL uart1_rev_a_char
ROM:1FFFE1D2 MOV R7, R0
ROM:1FFFE1D4 ORR.W R0, R7, R6,LSL#8
ROM:1FFFE1D8 ORRS R5, R0
ROM:1FFFE1DA BL uart1_rev_a_char
ROM:1FFFE1DE EOR.W R1, R6, R4
ROM:1FFFE1E2 EORS R1, R7
ROM:1FFFE1E4 CMP R0, R1
ROM:1FFFE1E6 BNE quit_rd_mem
ROM:1FFFE1E8 MOVS R0, #0x79
ROM:1FFFE1EA BL uart_send_a_char
ROM:1FFFE1EE MOV R0, R5
ROM:1FFFE1F0 POP {R1,R4-R7,PC}
ROM:1FFFE1F2 ; ---------------------------------------------------------------------------
ROM:1FFFE1F2
ROM:1FFFE1F2 quit_rd_mem ; CODE XREF: start_rd_mem+6j
ROM:1FFFE1F2 ; start_rd_mem+3Ej
ROM:1FFFE1F2 MOVS R0, #0x1F
ROM:1FFFE1F4 BL uart_send_a_char
ROM:1FFFE1F8 MOV.W R0, #0x55555555
ROM:1FFFE1FC POP {R1,R4-R7,PC}
ROM:1FFFE1FC ; End of function start_rd_mem
ROM:1FFFE1FC
ROM:1FFFE1FE
ROM:1FFFE1FE ; =============== S U B R O U T I N E =======================================
ROM:1FFFE1FE
ROM:1FFFE1FE
ROM:1FFFE1FE sub_1FFFE1FE ; CODE XREF: sub_1FFFE152+8j
ROM:1FFFE1FE
ROM:1FFFE1FE var_18 = -0x18
ROM:1FFFE1FE var_14 = -0x14
ROM:1FFFE1FE var_C = -0xC
ROM:1FFFE1FE
ROM:1FFFE1FE PUSH {R0,R4,LR}
ROM:1FFFE200 SUB SP, SP, #0xC
ROM:1FFFE202 MOV R4, R1
ROM:1FFFE204 MOVS R0, #0
ROM:1FFFE206 STR R0, [SP,#0x18+var_14]
ROM:1FFFE208 STR R0, [SP,#0x18+var_18]
ROM:1FFFE20A LDRB.W R0, [SP,#0x18+var_C]
ROM:1FFFE20E LDRB.W R1, [SP,#0x18+var_C]
ROM:1FFFE212 STR R1, [SP,#0x18+var_14]
ROM:1FFFE214 ADDS R0, R0, #1
ROM:1FFFE216 B loc_1FFFE236
ROM:1FFFE218 ; ---------------------------------------------------------------------------
ROM:1FFFE218
ROM:1FFFE218 loc_1FFFE218 ; CODE XREF: sub_1FFFE1FE+3Ej
ROM:1FFFE218 BL uart1_rev_a_char
ROM:1FFFE21C STRB.W R0, [SP,#0x18+var_C]
ROM:1FFFE220 LDR R0, [SP,#0x18+var_14]
ROM:1FFFE222 LDRB.W R1, [SP,#0x18+var_C]
ROM:1FFFE226 EORS R0, R1
ROM:1FFFE228 STR R0, [SP,#0x18+var_14]
ROM:1FFFE22A LDRB.W R0, [SP,#0x18+var_C]
ROM:1FFFE22E STRB.W R0, [R4],#1
ROM:1FFFE232 LDR R0, [SP,#0x18+var_18]
ROM:1FFFE234 SUBS R0, R0, #1
ROM:1FFFE236
ROM:1FFFE236 loc_1FFFE236 ; CODE XREF: sub_1FFFE1FE+18j
ROM:1FFFE236 STR R0, [SP,#0x18+var_18]
ROM:1FFFE238 LDR R0, [SP,#0x18+var_18]
ROM:1FFFE23A CMP R0, #0
ROM:1FFFE23C BNE loc_1FFFE218
ROM:1FFFE23E BL uart1_rev_a_char
ROM:1FFFE242 LDR R1, [SP,#0x18+var_14]
ROM:1FFFE244 CMP R0, R1
ROM:1FFFE246 BEQ loc_1FFFE252
ROM:1FFFE248 MOVS R0, #0x1F
ROM:1FFFE24A BL uart_send_a_char
ROM:1FFFE24E MOVS R0, #0x55
ROM:1FFFE250 B loc_1FFFE254
ROM:1FFFE252 ; ---------------------------------------------------------------------------
ROM:1FFFE252
ROM:1FFFE252 loc_1FFFE252 ; CODE XREF: sub_1FFFE1FE+48j
ROM:1FFFE252 MOVS R0, #0xAA
ROM:1FFFE254
ROM:1FFFE254 loc_1FFFE254 ; CODE XREF: sub_1FFFE1FE+52j
ROM:1FFFE254 ADD SP, SP, #0x10
ROM:1FFFE256 POP {R4,PC}
ROM:1FFFE256 ; End of function sub_1FFFE1FE
ROM:1FFFE256
ROM:1FFFE256 ; ---------------------------------------------------------------------------
ROM:1FFFE258 dword_1FFFE258 DCD 0x20000190 ; DATA XREF: uart_ready+6r
ROM:1FFFE258 ; uart1_rev_a_charr ...
ROM:1FFFE25C dword_1FFFE25C DCD 0x20000194 ; DATA XREF: uart_ready+10r
ROM:1FFFE260 dword_1FFFE260 DCD 0xE000E010 ; DATA XREF: uart_monitor+2Ar
ROM:1FFFE264 dword_1FFFE264 DCD 0x4002100C ; DATA XREF: uart_monitor+2Er
ROM:1FFFE268 dword_1FFFE268 DCD 0x4002200C ; DATA XREF: uart_monitor+32r
ROM:1FFFE26C dword_1FFFE26C DCD 0x40003000 ; DATA XREF: uart_monitor:loc_1FFFDE26r
ROM:1FFFE26C ; uart1_rev_a_char:loc_1FFFE18Ar
ROM:1FFFE270 dword_1FFFE270 DCD 0x1FFFF800 ; DATA XREF: uart_monitor+224r
ROM:1FFFE274 boot_param_block DCB 0x79 ; y ; DATA XREF: uart_monitor+8o
ROM:1FFFE274 ; host 00 ff命令的设备响应字符串
ROM:1FFFE274 ; byte 1:ACK
ROM:1FFFE275 DCB 0xB ; Byte 2: N = 11 = the number of bytes to follow – 1 except current and ACKs.
ROM:1FFFE276 DCB 0x22 ; " ; Byte 3: Bootloader version (0 < Version < 255), example: 0x22 = Version 2.2
ROM:1FFFE277 DCB 0 ; Byte 4: 0x00 – Get command
ROM:1FFFE278 DCB 1 ; Byte 5: 0x01 – Get Version and Read Protection Status
ROM:1FFFE279 DCB 2 ; Byte 6: 0x02 – Get ID
ROM:1FFFE27A DCB 0x11 ; Byte 7: 0x11 – Read Memory command
ROM:1FFFE27B DCB 0x21 ; ! ; Byte 8: 0x21 – Go command
ROM:1FFFE27C DCB 0x31 ; 1 ; Byte 9: 0x31 – Write Memory command
ROM:1FFFE27D DCB 0x43 ; C ; Byte 10: 0x43 or
ROM:1FFFE27D ; 0x44
ROM:1FFFE27D ; – Erase command or Extended Erase command (these commands are
ROM:1FFFE27D ; exlusive)
ROM:1FFFE27E DCB 0x63 ; c ; Byte 11: 0x63 – Write Protect command
ROM:1FFFE27F DCB 0x73 ; s ; Byte 12: 0x73 – Write Unprotect command
ROM:1FFFE280 DCB 0x82 ; ; Byte 13: 0x82 – Readout Protect command
ROM:1FFFE281 DCB 0x92 ; ; Byte 14: 0x92 – Readout Unprotect command
ROM:1FFFE282 DCB 0x79 ; y ; Last byte (15): ACK
ROM:1FFFE283 DCB 0
ROM:1FFFE284 ; ---------------------------------------------------------------------------
ROM:1FFFE284
ROM:1FFFE284 usb_fs_int_proc ; CODE XREF: ROM:OTG_FS_IRQHandlerj
ROM:1FFFE284 PUSH {R4-R6,LR}
ROM:1FFFE286 MOVS R4, #0
ROM:1FFFE288 BL sub_1FFFD6C2
ROM:1FFFE28C CMP R0, #0
ROM:1FFFE28E BEQ loc_1FFFE352
ROM:1FFFE290 BL sub_1FFFD6D4
ROM:1FFFE294 MOVS R5, R0
ROM:1FFFE296 BNE loc_1FFFE29C
ROM:1FFFE298 MOVS R0, #0
ROM:1FFFE29A POP {R4-R6,PC}
ROM:1FFFE29C ; ---------------------------------------------------------------------------
ROM:1FFFE29C
ROM:1FFFE29C loc_1FFFE29C ; CODE XREF: ROM:1FFFE296j
ROM:1FFFE29C IT MI
ROM:1FFFE29E MOVMI R4, #1
ROM:1FFFE2A0 LSLS R0, R5, #0x14
ROM:1FFFE2A2 IT MI
ROM:1FFFE2A4 MOVMI R4, #1
ROM:1FFFE2A6 LDR R6, =0x20000B34
ROM:1FFFE2A8 LSLS R0, R5, #0x1C
ROM:1FFFE2AA BPL loc_1FFFE2B4
ROM:1FFFE2AC LDR R0, [R6]
ROM:1FFFE2AE MOVS R1, #8
ROM:1FFFE2B0 STR R1, [R0,#0x14]
ROM:1FFFE2B2 MOVS R4, #1
ROM:1FFFE2B4
ROM:1FFFE2B4 loc_1FFFE2B4 ; CODE XREF: ROM:1FFFE2AAj
ROM:1FFFE2B4 LSLS R0, R5, #0x1B
ROM:1FFFE2B6 BPL loc_1FFFE2BE
ROM:1FFFE2B8 BL sub_1FFFE4B0
ROM:1FFFE2BC ORRS R4, R0
ROM:1FFFE2BE
ROM:1FFFE2BE loc_1FFFE2BE ; CODE XREF: ROM:1FFFE2B6j
ROM:1FFFE2BE LSLS R0, R5, #0x12
ROM:1FFFE2C0 BPL loc_1FFFE334
ROM:1FFFE2C2 BL sub_1FFFD7D6
ROM:1FFFE2C6 LDR R0, [R6]
ROM:1FFFE2C8 LDR R1, [R0,#0xC]
ROM:1FFFE2CA LDR R2, [R6,#4]
ROM:1FFFE2CC LDR R2, [R2,#8]
ROM:1FFFE2CE LSRS R2, R2, #1
ROM:1FFFE2D0 AND.W R2, R2, #3
ROM:1FFFE2D4 CMP R2, #1
ROM:1FFFE2D6 ITEE NE
ROM:1FFFE2D8 CMPNE R2, #3
ROM:1FFFE2DA BICEQ.W R1, R1, #0x3C00
ROM:1FFFE2DE ORREQ.W R1, R1, #0x2400
ROM:1FFFE2E2 STR R1, [R0,#0xC]
ROM:1FFFE2E4 MOV.W R1, #0x2000
ROM:1FFFE2E8 STR R1, [R0,#0x14]
ROM:1FFFE2EA ORR.W R4, R4, #1
ROM:1FFFE2EE LDR R0, =0x20000198
ROM:1FFFE2F0 LDR R1, [R0]
ROM:1FFFE2F2 CBNZ R1, loc_1FFFE334
ROM:1FFFE2F4 LDR R1, =0x40010808
ROM:1FFFE2F6 LDR R1, [R1]
ROM:1FFFE2F8 LSLS R1, R1, #0x16
ROM:1FFFE2FA BPL loc_1FFFE334
ROM:1FFFE2FC MOVW R1, #0xAAA
ROM:1FFFE300 STR R1, [R0]
ROM:1FFFE302 LDR R5, =0x20000C48
ROM:1FFFE304 MOVS R0, #0
ROM:1FFFE306 STRB R0, [R5]
ROM:1FFFE308 BL sub_1FFFBBF0
ROM:1FFFE30C LDR R0, [R5,#4]
ROM:1FFFE30E CBZ R0, loc_1FFFE328
ROM:1FFFE310 CMP R0, #2
ROM:1FFFE312 BEQ loc_1FFFE322
ROM:1FFFE314 BCC loc_1FFFE31C
ROM:1FFFE316 CMP R0, #3
ROM:1FFFE318 BEQ loc_1FFFE328
ROM:1FFFE31A B loc_1FFFE32E
ROM:1FFFE31C ; ---------------------------------------------------------------------------
ROM:1FFFE31C
ROM:1FFFE31C loc_1FFFE31C ; CODE XREF: ROM:1FFFE314j
ROM:1FFFE31C BL sub_1FFFBE1A
ROM:1FFFE320 B loc_1FFFE352
ROM:1FFFE322 ; ---------------------------------------------------------------------------
ROM:1FFFE322
ROM:1FFFE322 loc_1FFFE322 ; CODE XREF: ROM:1FFFE312j
ROM:1FFFE322 BL sub_1FFFBEC2
ROM:1FFFE326 B loc_1FFFE352
ROM:1FFFE328 ; ---------------------------------------------------------------------------
ROM:1FFFE328
ROM:1FFFE328 loc_1FFFE328 ; CODE XREF: ROM:1FFFE30Ej
ROM:1FFFE328 ; ROM:1FFFE318j
ROM:1FFFE328 BL sub_1FFFBD18
ROM:1FFFE32C B loc_1FFFE352
ROM:1FFFE32E ; ---------------------------------------------------------------------------
ROM:1FFFE32E
ROM:1FFFE32E loc_1FFFE32E ; CODE XREF: ROM:1FFFE31Aj
ROM:1FFFE32E BL sys_reset
ROM:1FFFE332 B loc_1FFFE352
ROM:1FFFE334 ; ---------------------------------------------------------------------------
ROM:1FFFE334
ROM:1FFFE334 loc_1FFFE334 ; CODE XREF: ROM:1FFFE2C0j
ROM:1FFFE334 ; ROM:1FFFE2F2j ...
ROM:1FFFE334 LSLS R0, R5, #0x13
ROM:1FFFE336 BPL loc_1FFFE33E
ROM:1FFFE338 BL sub_1FFFE536
ROM:1FFFE33C ORRS R4, R0
ROM:1FFFE33E
ROM:1FFFE33E loc_1FFFE33E ; CODE XREF: ROM:1FFFE336j
ROM:1FFFE33E LSLS R0, R5, #0xD
ROM:1FFFE340 BPL loc_1FFFE348
ROM:1FFFE342 BL sub_1FFFE356
ROM:1FFFE346 ORRS R4, R0
ROM:1FFFE348
ROM:1FFFE348 loc_1FFFE348 ; CODE XREF: ROM:1FFFE340j
ROM:1FFFE348 LSLS R0, R5, #0xC
ROM:1FFFE34A BPL loc_1FFFE352
ROM:1FFFE34C BL sub_1FFFE430
ROM:1FFFE350 ORRS R4, R0
ROM:1FFFE352
ROM:1FFFE352 loc_1FFFE352 ; CODE XREF: ROM:1FFFE28Ej
ROM:1FFFE352 ; ROM:1FFFE320j ...
ROM:1FFFE352 MOV R0, R4
ROM:1FFFE354 POP {R4-R6,PC}
ROM:1FFFE356
ROM:1FFFE356 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE356
ROM:1FFFE356
ROM:1FFFE356 sub_1FFFE356 ; CODE XREF: ROM:1FFFE342p
ROM:1FFFE356 PUSH.W {R3-R9,LR}
ROM:1FFFE35A MOVS R6, #0
ROM:1FFFE35C BL sub_1FFFDA78
ROM:1FFFE360 MOVS.W R9, R0
ROM:1FFFE364 LDR R4, =0x20000098
ROM:1FFFE366 LDR.W R8, =0x20000B34
ROM:1FFFE36A B loc_1FFFE3C6
ROM:1FFFE36C ; ---------------------------------------------------------------------------
ROM:1FFFE36C
ROM:1FFFE36C loc_1FFFE36C ; CODE XREF: sub_1FFFE356+BCj
ROM:1FFFE36C ADD.W R0, R4, R6,LSL#2
ROM:1FFFE370 LDR R0, [R0,#4]
ROM:1FFFE372 BLX R0
ROM:1FFFE374
ROM:1FFFE374 loc_1FFFE374 ; CODE XREF: sub_1FFFE356+A4j
ROM:1FFFE374 ; sub_1FFFE356+D2j
ROM:1FFFE374 LSLS R0, R5, #0x1D
ROM:1FFFE376 BPL loc_1FFFE380
ROM:1FFFE378 MOVS R5, #4
ROM:1FFFE37A LDR R0, [R7,#0xC]
ROM:1FFFE37C MOVS R1, #4
ROM:1FFFE37E STR R5, [R0,#8]
ROM:1FFFE380
ROM:1FFFE380 loc_1FFFE380 ; CODE XREF: sub_1FFFE356+20j
ROM:1FFFE380 LSLS R0, R5, #0x1C
ROM:1FFFE382 BPL loc_1FFFE38C
ROM:1FFFE384 MOVS R5, #8
ROM:1FFFE386 LDR R0, [R7,#0xC]
ROM:1FFFE388 MOVS R1, #8
ROM:1FFFE38A STR R5, [R0,#8]
ROM:1FFFE38C
ROM:1FFFE38C loc_1FFFE38C ; CODE XREF: sub_1FFFE356+2Cj
ROM:1FFFE38C LSLS R0, R5, #0x1B
ROM:1FFFE38E BPL loc_1FFFE398
ROM:1FFFE390 MOVS R5, #0x10
ROM:1FFFE392 LDR R0, [R7,#0xC]
ROM:1FFFE394 MOVS R1, #0x10
ROM:1FFFE396 STR R5, [R0,#8]
ROM:1FFFE398
ROM:1FFFE398 loc_1FFFE398 ; CODE XREF: sub_1FFFE356+38j
ROM:1FFFE398 LSLS R0, R5, #0x1A
ROM:1FFFE39A BPL loc_1FFFE3A4
ROM:1FFFE39C MOVS R5, #0x20
ROM:1FFFE39E LDR R0, [R7,#0xC]
ROM:1FFFE3A0 MOVS R1, #0x20
ROM:1FFFE3A2 STR R5, [R0,#8]
ROM:1FFFE3A4
ROM:1FFFE3A4 loc_1FFFE3A4 ; CODE XREF: sub_1FFFE356+44j
ROM:1FFFE3A4 LSLS R0, R5, #0x19
ROM:1FFFE3A6 BPL loc_1FFFE3B0
ROM:1FFFE3A8 MOVS R5, #0x40
ROM:1FFFE3AA LDR R0, [R7,#0xC]
ROM:1FFFE3AC MOVS R1, #0x40
ROM:1FFFE3AE STR R5, [R0,#8]
ROM:1FFFE3B0
ROM:1FFFE3B0 loc_1FFFE3B0 ; CODE XREF: sub_1FFFE356+50j
ROM:1FFFE3B0 LSLS R0, R5, #0x18
ROM:1FFFE3B2 BPL loc_1FFFE3C0
ROM:1FFFE3B4 MOV R0, R6
ROM:1FFFE3B6 BL sub_1FFFE578
ROM:1FFFE3BA LDR R0, [R7,#0xC]
ROM:1FFFE3BC MOVS R1, #0x80
ROM:1FFFE3BE STR R1, [R0,#8]
ROM:1FFFE3C0
ROM:1FFFE3C0 loc_1FFFE3C0 ; CODE XREF: sub_1FFFE356+5Cj
ROM:1FFFE3C0 ; sub_1FFFE356+76j
ROM:1FFFE3C0 ADDS R6, R6, #1
ROM:1FFFE3C2 MOVS.W R9, R9,LSR#1
ROM:1FFFE3C6
ROM:1FFFE3C6 loc_1FFFE3C6 ; CODE XREF: sub_1FFFE356+14j
ROM:1FFFE3C6 BEQ loc_1FFFE42A
ROM:1FFFE3C8 MOVS.W R0, R9,LSL#31
ROM:1FFFE3CC BPL loc_1FFFE3C0
ROM:1FFFE3CE MOV R0, R6
ROM:1FFFE3D0 BL sub_1FFFDC7A
ROM:1FFFE3D4 LDR.W R1, [R8,#4]
ROM:1FFFE3D8 LDR R2, [R1,#0x10]
ROM:1FFFE3DA LDR R3, [R1,#0x34]
ROM:1FFFE3DC LDRB R0, [R0]
ROM:1FFFE3DE ADD.W R5, R8, R0,LSL#2
ROM:1FFFE3E2 LDR R5, [R5,#0xC]
ROM:1FFFE3E4 LDR R7, [R5,#8]
ROM:1FFFE3E6 LSRS R3, R0
ROM:1FFFE3E8 AND.W R3, R3, #1
ROM:1FFFE3EC ORR.W R2, R2, R3,LSL#7
ROM:1FFFE3F0 AND.W R5, R2, R7
ROM:1FFFE3F4 ADD.W R7, R8, R6,LSL#2
ROM:1FFFE3F8 LSLS R2, R5, #0x1F
ROM:1FFFE3FA BPL loc_1FFFE374
ROM:1FFFE3FC LDR R2, [R1,#0x34]
ROM:1FFFE3FE MOVS R3, #1
ROM:1FFFE400 LSL.W R0, R3, R0
ROM:1FFFE404 BIC.W R0, R2, R0
ROM:1FFFE408 STR R0, [R1,#0x34]
ROM:1FFFE40A MOVS R5, #1
ROM:1FFFE40C LDR R0, [R7,#0xC]
ROM:1FFFE40E STR R3, [R0,#8]
ROM:1FFFE410 CMP R6, #0
ROM:1FFFE412 BNE loc_1FFFE36C
ROM:1FFFE414 BL sub_1FFFD3B8
ROM:1FFFE418 LDRH R1, [R4]
ROM:1FFFE41A MOVS R0, #0
ROM:1FFFE41C BL sub_1FFFCBF2
ROM:1FFFE420 LDRH R1, [R4,#2]
ROM:1FFFE422 MOVS R0, #0
ROM:1FFFE424 BL sub_1FFFCBD0
ROM:1FFFE428 B loc_1FFFE374
ROM:1FFFE42A ; ---------------------------------------------------------------------------
ROM:1FFFE42A
ROM:1FFFE42A loc_1FFFE42A ; CODE XREF: sub_1FFFE356:loc_1FFFE3C6j
ROM:1FFFE42A MOVS R0, #1
ROM:1FFFE42C POP.W {R1,R4-R9,PC}
ROM:1FFFE42C ; End of function sub_1FFFE356
ROM:1FFFE42C
ROM:1FFFE430
ROM:1FFFE430 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE430
ROM:1FFFE430
ROM:1FFFE430 sub_1FFFE430 ; CODE XREF: ROM:1FFFE34Cp
ROM:1FFFE430 PUSH.W {R4-R8,LR}
ROM:1FFFE434 MOVS R4, #0
ROM:1FFFE436 BL sub_1FFFDA56
ROM:1FFFE43A MOVS R5, R0
ROM:1FFFE43C LDR.W R8, =0x20000098
ROM:1FFFE440 B loc_1FFFE480
ROM:1FFFE442 ; ---------------------------------------------------------------------------
ROM:1FFFE442
ROM:1FFFE442 loc_1FFFE442 ; CODE XREF: sub_1FFFE430+76j
ROM:1FFFE442 ADD.W R0, R8, R4,LSL#2
ROM:1FFFE446 LDR R0, [R0,#0x1C]
ROM:1FFFE448 BLX R0
ROM:1FFFE44A
ROM:1FFFE44A loc_1FFFE44A ; CODE XREF: sub_1FFFE430+6Aj
ROM:1FFFE44A ; sub_1FFFE430+7Cj
ROM:1FFFE44A LSLS R0, R6, #0x1E
ROM:1FFFE44C BPL loc_1FFFE456
ROM:1FFFE44E MOVS R6, #2
ROM:1FFFE450 LDR R0, [R7,#0x2C]
ROM:1FFFE452 MOVS R1, #2
ROM:1FFFE454 STR R1, [R0,#8]
ROM:1FFFE456
ROM:1FFFE456 loc_1FFFE456 ; CODE XREF: sub_1FFFE430+1Cj
ROM:1FFFE456 LSLS R0, R6, #0x1D
ROM:1FFFE458 BPL loc_1FFFE462
ROM:1FFFE45A MOVS R6, #4
ROM:1FFFE45C LDR R0, [R7,#0x2C]
ROM:1FFFE45E MOVS R1, #4
ROM:1FFFE460 STR R1, [R0,#8]
ROM:1FFFE462
ROM:1FFFE462 loc_1FFFE462 ; CODE XREF: sub_1FFFE430+28j
ROM:1FFFE462 LSLS R0, R6, #0x1C
ROM:1FFFE464 BPL loc_1FFFE47C
ROM:1FFFE466 CBNZ R4, loc_1FFFE476
ROM:1FFFE468 BL sub_1FFFD356
ROM:1FFFE46C LDRH.W R1, [R8,#2]
ROM:1FFFE470 MOVS R0, #0x80
ROM:1FFFE472 BL sub_1FFFCBD0
ROM:1FFFE476
ROM:1FFFE476 loc_1FFFE476 ; CODE XREF: sub_1FFFE430+36j
ROM:1FFFE476 LDR R0, [R7,#0x2C]
ROM:1FFFE478 MOVS R1, #8
ROM:1FFFE47A STR R1, [R0,#8]
ROM:1FFFE47C
ROM:1FFFE47C loc_1FFFE47C ; CODE XREF: sub_1FFFE430+34j
ROM:1FFFE47C ; sub_1FFFE430+54j
ROM:1FFFE47C ADDS R4, R4, #1
ROM:1FFFE47E LSRS R5, R5, #1
ROM:1FFFE480
ROM:1FFFE480 loc_1FFFE480 ; CODE XREF: sub_1FFFE430+10j
ROM:1FFFE480 BEQ loc_1FFFE4AE
ROM:1FFFE482 LSLS R0, R5, #0x1F
ROM:1FFFE484 BPL loc_1FFFE47C
ROM:1FFFE486 MOV R0, R4
ROM:1FFFE488 BL sub_1FFFDCA2
ROM:1FFFE48C BL sub_1FFFDA64
ROM:1FFFE490 MOV R6, R0
ROM:1FFFE492 LDR R0, =0x20000B34
ROM:1FFFE494 ADD.W R7, R0, R4,LSL#2
ROM:1FFFE498 LSLS R0, R6, #0x1F
ROM:1FFFE49A BPL loc_1FFFE44A
ROM:1FFFE49C MOVS R6, #1
ROM:1FFFE49E LDR R0, [R7,#0x2C]
ROM:1FFFE4A0 MOVS R1, #1
ROM:1FFFE4A2 STR R1, [R0,#8]
ROM:1FFFE4A4 CMP R4, #0
ROM:1FFFE4A6 BNE loc_1FFFE442
ROM:1FFFE4A8 BL sub_1FFFD406
ROM:1FFFE4AC B loc_1FFFE44A
ROM:1FFFE4AE ; ---------------------------------------------------------------------------
ROM:1FFFE4AE
ROM:1FFFE4AE loc_1FFFE4AE ; CODE XREF: sub_1FFFE430:loc_1FFFE480j
ROM:1FFFE4AE B loc_1FFFE530
ROM:1FFFE4AE ; End of function sub_1FFFE430
ROM:1FFFE4AE
ROM:1FFFE4B0
ROM:1FFFE4B0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE4B0
ROM:1FFFE4B0
ROM:1FFFE4B0 sub_1FFFE4B0 ; CODE XREF: ROM:1FFFE2B8p
ROM:1FFFE4B0 PUSH.W {R4-R8,LR}
ROM:1FFFE4B4 LDR R4, =0x20000B34
ROM:1FFFE4B6 LDR R0, [R4]
ROM:1FFFE4B8 LDR R1, [R0,#0x18]
ROM:1FFFE4BA BIC.W R1, R1, #0x10
ROM:1FFFE4BE STR R1, [R0,#0x18]
ROM:1FFFE4C0 LDR R5, [R0,#0x20]
ROM:1FFFE4C2 AND.W R0, R5, #0xF
ROM:1FFFE4C6 BL sub_1FFFDCA2
ROM:1FFFE4CA MOV R6, R0
ROM:1FFFE4CC UBFX.W R8, R5, #4, #0xB
ROM:1FFFE4D0 LDR R7, =0x20000BC8
ROM:1FFFE4D2 LSRS R0, R5, #0x11
ROM:1FFFE4D4 AND.W R0, R0, #0xF
ROM:1FFFE4D8 CMP R0, #2
ROM:1FFFE4DA BEQ loc_1FFFE4E6
ROM:1FFFE4DC CMP R0, #3
ROM:1FFFE4DE BEQ loc_1FFFE506
ROM:1FFFE4E0 CMP R0, #6
ROM:1FFFE4E2 BEQ loc_1FFFE50C
ROM:1FFFE4E4 B loc_1FFFE522
ROM:1FFFE4E6 ; ---------------------------------------------------------------------------
ROM:1FFFE4E6
ROM:1FFFE4E6 loc_1FFFE4E6 ; CODE XREF: sub_1FFFE4B0+2Aj
ROM:1FFFE4E6 LSRS R0, R5, #4
ROM:1FFFE4E8 LSLS R0, R0, #0x15
ROM:1FFFE4EA BEQ loc_1FFFE522
ROM:1FFFE4EC UBFX.W R1, R5, #4, #0xB
ROM:1FFFE4F0 ADDS R0, R7, #4
ROM:1FFFE4F2 BL sub_1FFFD51E
ROM:1FFFE4F6 ADDS R0, R7, #4
ROM:1FFFE4F8 STR R0, [R6,#0x14]
ROM:1FFFE4FA STR.W R8, [R6,#0x18]
ROM:1FFFE4FE LDR R0, [R6,#0x1C]
ROM:1FFFE500 ADD R0, R8
ROM:1FFFE502 STR R0, [R6,#0x1C]
ROM:1FFFE504 B loc_1FFFE522
ROM:1FFFE506 ; ---------------------------------------------------------------------------
ROM:1FFFE506
ROM:1FFFE506 loc_1FFFE506 ; CODE XREF: sub_1FFFE4B0+2Ej
ROM:1FFFE506 MOVS R0, #1
ROM:1FFFE508 STR R0, [R7]
ROM:1FFFE50A B loc_1FFFE522
ROM:1FFFE50C ; ---------------------------------------------------------------------------
ROM:1FFFE50C
ROM:1FFFE50C loc_1FFFE50C ; CODE XREF: sub_1FFFE4B0+32j
ROM:1FFFE50C MOVS R1, #8
ROM:1FFFE50E ADDS R0, R7, #4
ROM:1FFFE510 BL sub_1FFFD51E
ROM:1FFFE514 ADDS R0, R7, #4
ROM:1FFFE516 STR R0, [R6,#0x14]
ROM:1FFFE518 LDR R0, [R6,#0x1C]
ROM:1FFFE51A ADD R0, R8
ROM:1FFFE51C STR R0, [R6,#0x1C]
ROM:1FFFE51E STR.W R8, [R6,#0x18]
ROM:1FFFE522
ROM:1FFFE522 loc_1FFFE522 ; CODE XREF: sub_1FFFE4B0+34j
ROM:1FFFE522 ; sub_1FFFE4B0+3Aj ...
ROM:1FFFE522 LDR R0, [R4]
ROM:1FFFE524 LDR R1, [R0,#0x18]
ROM:1FFFE526 ORR.W R1, R1, #0x10
ROM:1FFFE52A STR R1, [R0,#0x18]
ROM:1FFFE52C MOVS R1, #0x10
ROM:1FFFE52E STR R1, [R0,#0x14]
ROM:1FFFE530
ROM:1FFFE530 loc_1FFFE530 ; CODE XREF: sub_1FFFE430:loc_1FFFE4AEj
ROM:1FFFE530 ; sub_1FFFE578:loc_1FFFE5D4j
ROM:1FFFE530 MOVS R0, #1
ROM:1FFFE532 POP.W {R4-R8,PC}
ROM:1FFFE532 ; End of function sub_1FFFE4B0
ROM:1FFFE532
ROM:1FFFE536
ROM:1FFFE536 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE536
ROM:1FFFE536
ROM:1FFFE536 sub_1FFFE536 ; CODE XREF: ROM:1FFFE338p
ROM:1FFFE536 PUSH {R4,LR}
ROM:1FFFE538 LDR R4, =0x20000B34
ROM:1FFFE53A LDR R0, [R4,#4]
ROM:1FFFE53C LDR R1, [R0,#4]
ROM:1FFFE53E LSRS R1, R1, #1
ROM:1FFFE540 LSLS R1, R1, #1
ROM:1FFFE542 STR R1, [R0,#4]
ROM:1FFFE544 MOVS R0, #0
ROM:1FFFE546 BL sub_1FFFD648
ROM:1FFFE54A LDR R0, [R4,#4]
ROM:1FFFE54C MOV.W R1, #0x10001
ROM:1FFFE550 STR R1, [R0,#0x1C]
ROM:1FFFE552 MOVS R1, #0xF
ROM:1FFFE554 STR R1, [R0,#0x14]
ROM:1FFFE556 MOVS R1, #0x2F
ROM:1FFFE558 STR R1, [R0,#0x10]
ROM:1FFFE55A LDR R1, [R0]
ROM:1FFFE55C BIC.W R1, R1, #0x7F0
ROM:1FFFE560 STR R1, [R0]
ROM:1FFFE562 BL sub_1FFFDCDC
ROM:1FFFE566 LDR R0, [R4]
ROM:1FFFE568 MOV.W R1, #0x1000
ROM:1FFFE56C STR R1, [R0,#0x14]
ROM:1FFFE56E LDR R0, =0x20000108
ROM:1FFFE570 LDR R0, [R0,#4]
ROM:1FFFE572 BLX R0
ROM:1FFFE574 MOVS R0, #1
ROM:1FFFE576 POP {R4,PC}
ROM:1FFFE576 ; End of function sub_1FFFE536
ROM:1FFFE576
ROM:1FFFE578
ROM:1FFFE578 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE578
ROM:1FFFE578
ROM:1FFFE578 sub_1FFFE578 ; CODE XREF: sub_1FFFE356+60p
ROM:1FFFE578 PUSH.W {R4-R8,LR}
ROM:1FFFE57C MOV R8, R0
ROM:1FFFE57E BL sub_1FFFDC7A
ROM:1FFFE582 MOV R5, R0
ROM:1FFFE584 LDR R0, [R5,#0x18]
ROM:1FFFE586 LDR R1, [R5,#0x1C]
ROM:1FFFE588 SUBS R0, R0, R1
ROM:1FFFE58A LDR R7, [R5,#0x10]
ROM:1FFFE58C CMP R7, R0
ROM:1FFFE58E IT HI
ROM:1FFFE590 MOVHI R7, R0
ROM:1FFFE592 ADDS R0, R7, #3
ROM:1FFFE594 LSRS R4, R0, #2
ROM:1FFFE596 LDR R0, =0x20000B34
ROM:1FFFE598 ADD.W R6, R0, R8,LSL#2
ROM:1FFFE59C B loc_1FFFE5BE
ROM:1FFFE59E ; ---------------------------------------------------------------------------
ROM:1FFFE59E
ROM:1FFFE59E loc_1FFFE59E ; CODE XREF: sub_1FFFE578+5Aj
ROM:1FFFE59E SUBS R0, R0, R1
ROM:1FFFE5A0 LDR R7, [R5,#0x10]
ROM:1FFFE5A2 CMP R7, R0
ROM:1FFFE5A4 IT HI
ROM:1FFFE5A6 MOVHI R7, R0
ROM:1FFFE5A8 ADDS R0, R7, #3
ROM:1FFFE5AA LSRS R4, R0, #2
ROM:1FFFE5AC UXTH R2, R7
ROM:1FFFE5AE UXTB.W R1, R8
ROM:1FFFE5B2 LDR R0, [R5,#0x14]
ROM:1FFFE5B4 BL sub_1FFFD4F4
ROM:1FFFE5B8 LDR R0, [R5,#0x1C]
ROM:1FFFE5BA ADDS R0, R7, R0
ROM:1FFFE5BC STR R0, [R5,#0x1C]
ROM:1FFFE5BE
ROM:1FFFE5BE loc_1FFFE5BE ; CODE XREF: sub_1FFFE578+24j
ROM:1FFFE5BE LDR R0, [R6,#0xC]
ROM:1FFFE5C0 LDR R0, [R0,#0x18]
ROM:1FFFE5C2 UXTH R0, R0
ROM:1FFFE5C4 CMP R4, R0
ROM:1FFFE5C6 ITTT CC
ROM:1FFFE5C8 LDRCC R0, [R5,#0x18]
ROM:1FFFE5CA LDRCC R1, [R5,#0x1C]
ROM:1FFFE5CC CMPCC R1, R0
ROM:1FFFE5CE BCS loc_1FFFE5D4
ROM:1FFFE5D0 CMP R0, #0
ROM:1FFFE5D2 BNE loc_1FFFE59E
ROM:1FFFE5D4
ROM:1FFFE5D4 loc_1FFFE5D4 ; CODE XREF: sub_1FFFE578+56j
ROM:1FFFE5D4 B loc_1FFFE530
ROM:1FFFE5D4 ; End of function sub_1FFFE578
ROM:1FFFE5D4
ROM:1FFFE5D4 ; ---------------------------------------------------------------------------
ROM:1FFFE5D6 ALIGN 4
ROM:1FFFE5D8 dword_1FFFE5D8 DCD 0x20000B34 ; DATA XREF: ROM:1FFFE2A6r
ROM:1FFFE5D8 ; sub_1FFFE356+10r ...
ROM:1FFFE5DC dword_1FFFE5DC DCD 0x20000198 ; DATA XREF: ROM:1FFFE2EEr
ROM:1FFFE5E0 dword_1FFFE5E0 DCD 0x40010808 ; DATA XREF: ROM:1FFFE2F4r
ROM:1FFFE5E4 dword_1FFFE5E4 DCD 0x20000C48 ; DATA XREF: ROM:1FFFE302r
ROM:1FFFE5E8 dword_1FFFE5E8 DCD 0x20000098 ; DATA XREF: sub_1FFFE356+Er
ROM:1FFFE5E8 ; sub_1FFFE430+Cr
ROM:1FFFE5EC dword_1FFFE5EC DCD 0x20000BC8 ; DATA XREF: sub_1FFFE4B0+20r
ROM:1FFFE5F0 dword_1FFFE5F0 DCD 0x20000108 ; DATA XREF: sub_1FFFE536+38r
ROM:1FFFE5F4
ROM:1FFFE5F4 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE5F4
ROM:1FFFE5F4 ; Attributes: noreturn
ROM:1FFFE5F4
ROM:1FFFE5F4 start_work ; CODE XREF: start_S+Ep
ROM:1FFFE5F4 PUSH {R4,LR}
ROM:1FFFE5F6 BL g_sys_init
ROM:1FFFE5FA CMP R0, #1
ROM:1FFFE5FC BEQ uart1_work
ROM:1FFFE5FE BCC sys_reset
ROM:1FFFE600 CMP R0, #3
ROM:1FFFE602 BEQ boot_user_app
ROM:1FFFE604 BCC can2_work
ROM:1FFFE606 B sys_reset
ROM:1FFFE608 ; ---------------------------------------------------------------------------
ROM:1FFFE608
ROM:1FFFE608 uart1_work ; CODE XREF: start_work+8j
ROM:1FFFE608 BL uart_ready
ROM:1FFFE60C BL uart_monitor
ROM:1FFFE610 B die_ji
ROM:1FFFE612 ; ---------------------------------------------------------------------------
ROM:1FFFE612
ROM:1FFFE612 can2_work ; CODE XREF: start_work+10j
ROM:1FFFE612 BL check_canbus2
ROM:1FFFE616 B die_ji
ROM:1FFFE618 ; ---------------------------------------------------------------------------
ROM:1FFFE618
ROM:1FFFE618 boot_user_app ; CODE XREF: start_work+Ej
ROM:1FFFE618 BL sub_1FFFC9AA
ROM:1FFFE61C BL sub_1FFFCAA0
ROM:1FFFE620 BL RCC_init
ROM:1FFFE624 BL disable_irq
ROM:1FFFE628 LDR R0, =0x4002100C
ROM:1FFFE62A MOVS R1, #0x14
ROM:1FFFE62C STR R1, [R0,#8]
ROM:1FFFE62E MOV.W R1, #0xFFFFFFFF
ROM:1FFFE632 STR R1, [R0]
ROM:1FFFE634 MOVS R2, #0
ROM:1FFFE636 STR R2, [R0]
ROM:1FFFE638 STR R1, [R0,#4]
ROM:1FFFE63A STR R2, [R0,#4]
ROM:1FFFE63C STR R2, [R0,#0xC]
ROM:1FFFE63E STR R2, [R0,#0x10]
ROM:1FFFE640 LDR R0, =0xE000E010
ROM:1FFFE642 STR R2, [R0]
ROM:1FFFE644 BL enable_irq
ROM:1FFFE648 LDR R4, =0x20000208 ; 0x1FFFEBDC
ROM:1FFFE64A LDR R0, [R4,#8] ; 0x1FFFEBE4
ROM:1FFFE64C LDR R0, [R0,#4] ; 0x1FFFEBE0
ROM:1FFFE64E STR R0, [R4,#4]
ROM:1FFFE650 LDR R0, [R4,#4]
ROM:1FFFE652 STR R0, [R4]
ROM:1FFFE654 LDR R0, [R4,#8]
ROM:1FFFE656 LDR R0, [R0]
ROM:1FFFE658 BL set_MSP
ROM:1FFFE65C LDR R0, [R4]
ROM:1FFFE65E BLX R0
ROM:1FFFE660 B die_ji
ROM:1FFFE662 ; ---------------------------------------------------------------------------
ROM:1FFFE662
ROM:1FFFE662 sys_reset ; CODE XREF: start_work+Aj
ROM:1FFFE662 ; start_work+12j
ROM:1FFFE662 BL sys_reset
ROM:1FFFE666
ROM:1FFFE666 die_ji ; CODE XREF: start_work+1Cj
ROM:1FFFE666 ; start_work+22j ...
ROM:1FFFE666 B die_ji
ROM:1FFFE666 ; End of function start_work
ROM:1FFFE666
ROM:1FFFE668
ROM:1FFFE668 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE668
ROM:1FFFE668
ROM:1FFFE668 g_sys_init ; CODE XREF: start_work+2p
ROM:1FFFE668
ROM:1FFFE668 var_28 = -0x28
ROM:1FFFE668
ROM:1FFFE668 PUSH.W {R3-R11,LR}
ROM:1FFFE66C MOVW R8, #0x5FFF
ROM:1FFFE670 STR.W R8, [SP,#0x28+var_28]
ROM:1FFFE674 LDR R0, =0x40003000 ; 看门狗寄存器
ROM:1FFFE676 MOVW R1, #0x5555
ROM:1FFFE67A STR R1, [R0]
ROM:1FFFE67C MOVS R1, #6
ROM:1FFFE67E STR R1, [R0,#4] ; 预分频因子32
ROM:1FFFE680 MOVW R1, #0xAAAA
ROM:1FFFE684 STR R1, [R0] ; 喂狗吃点饭
ROM:1FFFE686 BL clk_cfg ; 时钟初始化
ROM:1FFFE68A LDR R0, =0xE000ED08 ; 中断向量表基址寄存器
ROM:1FFFE68C LDR R1, =0x1FFFB000 ; 中断向量表基地址
ROM:1FFFE68E STR R1, [R0]
ROM:1FFFE690 LDR R5, =0x20000188 ; 0x1FFFEB5C->0x40013800
ROM:1FFFE692 BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFE692 ;
ROM:1FFFE696 CMP R0, #1 ; flash读保护位设置了吗?
ROM:1FFFE698 BNE loc_1FFFE6B6 ; 没有设置读保护位
ROM:1FFFE69A LDR R0, =0x2000FFFC ; 读保护开启,重装中断向量表?
ROM:1FFFE69A ; 首先清除20001000-20010000区域的内存块
ROM:1FFFE69C B loc_1FFFE6A8
ROM:1FFFE69E ; ---------------------------------------------------------------------------
ROM:1FFFE69E
ROM:1FFFE69E loc_1FFFE69E ; CODE XREF: g_sys_init+48j
ROM:1FFFE69E LDR R0, [R5,#0xC] ; 全局变量addr=20000194
ROM:1FFFE6A0 MOVS R1, #0
ROM:1FFFE6A2 STR R1, [R0]
ROM:1FFFE6A4 LDR R0, [R5,#0xC]
ROM:1FFFE6A6 SUBS R0, R0, #4
ROM:1FFFE6A8
ROM:1FFFE6A8 loc_1FFFE6A8 ; CODE XREF: g_sys_init+34j
ROM:1FFFE6A8 STR R0, [R5,#0xC]
ROM:1FFFE6AA LDR R0, [R5,#0xC]
ROM:1FFFE6AC LDR R1, =0x20001000
ROM:1FFFE6AE CMP R0, R1
ROM:1FFFE6B0 BCS loc_1FFFE69E ; 全局变量addr=20000194
ROM:1FFFE6B2 MOVS R0, #0
ROM:1FFFE6B4 STR R0, [R5,#0xC]
ROM:1FFFE6B6
ROM:1FFFE6B6 loc_1FFFE6B6 ; CODE XREF: g_sys_init+30j
ROM:1FFFE6B6 LDR R6, =0xE000E010 ; 没有设置读保护位
ROM:1FFFE6B8 MOVS R0, #4
ROM:1FFFE6BA STR R0, [R6]
ROM:1FFFE6BC MOV.W R9, #0x80000
ROM:1FFFE6C0 STR.W R9, [R6,#4] ; systick功能配置
ROM:1FFFE6C4 LDR R4, =0x40021018 ; 复位和时钟控制(RCC)
ROM:1FFFE6C6 MOVW R0, #0x4025 ; 串口1时钟打开
ROM:1FFFE6CA STR R0, [R4]
ROM:1FFFE6CC MOV.W R0, #0x20000 ; 串口2时钟打开
ROM:1FFFE6D0 STR R0, [R4,#4]
ROM:1FFFE6D2 LDR R0, =0x40010004 ; AFIO
ROM:1FFFE6D4 MOVS R1, #8
ROM:1FFFE6D6 STR R1, [R0]
ROM:1FFFE6D8 LDR R7, =0x40010804 ; GPIO端口A
ROM:1FFFE6DA LDR R0, =0x44444884
ROM:1FFFE6DC STR R0, [R7]
ROM:1FFFE6DE LDR R0, =0x2000400
ROM:1FFFE6E0 STR R0, [R7,#0xC]
ROM:1FFFE6E2 LDR.W R10, =0x40011400 ; GPIO端口D
ROM:1FFFE6E6 LDR R0, =0x48B44444
ROM:1FFFE6E8 STR.W R0, [R10]
ROM:1FFFE6EC MOVS R0, #0x40
ROM:1FFFE6EE STR.W R0, [R10,#0x10]
ROM:1FFFE6F2 BL trigger_canbus
ROM:1FFFE6F6 LDR.W R11, =0x40010C08 ; portB读取输入寄存器
ROM:1FFFE6FA B start_check ; 0x1FFFEB5C+0x10->0x1fffeb6c->0x00,
ROM:1FFFE6FC ; ---------------------------------------------------------------------------
ROM:1FFFE6FC
ROM:1FFFE6FC re_start_check ; CODE XREF: g_sys_init+1DAj
ROM:1FFFE6FC MOVS R0, #0
ROM:1FFFE6FE STR R0, [R5,#0x1C]
ROM:1FFFE700
ROM:1FFFE700 start_check ; CODE XREF: g_sys_init+92j
ROM:1FFFE700 ; g_sys_init+1C8j ...
ROM:1FFFE700 LDR R0, [R5,#0x10] ; 0x1FFFEB5C+0x10->0x1fffeb6c->0x00,
ROM:1FFFE702 CMP R0, #0
ROM:1FFFE704 BNE.W loc_1FFFE868 ; 复位和时钟控制(RCC)
ROM:1FFFE708 LDR R0, [R7,#4] ; portA GPIO端口A
ROM:1FFFE70A LSLS R0, R0, #0x16 ; 检测PA9 usb_vbus
ROM:1FFFE70C BPL loc_1FFFE71C ; 是否为低电平
ROM:1FFFE70E LDR R0, [R5,#0x20] ; 检测到Vbus为高电平
ROM:1FFFE70E ; 0x1FFFEB5C+0x20-> 0x1FFFEB7C ->0x00
ROM:1FFFE710 CMP R0, #1
ROM:1FFFE712 BEQ loc_1FFFE71C ; PA10检测USART1_RX
ROM:1FFFE714 BL enale_usb_trans
ROM:1FFFE718 MOVS R0, #1
ROM:1FFFE71A STR R0, [R5,#0x20] ; ; 0x1FFFEB5C+0x20-> 0x1FFFEB7C ->0x01
ROM:1FFFE71A ; 表示已经检测到usb线的插入
ROM:1FFFE71C
ROM:1FFFE71C loc_1FFFE71C ; CODE XREF: g_sys_init+A4j
ROM:1FFFE71C ; g_sys_init+AAj
ROM:1FFFE71C LDR R0, [R7,#4] ; PA10检测USART1_RX
ROM:1FFFE71E LSLS R0, R0, #0x15
ROM:1FFFE720 ITT PL
ROM:1FFFE722 MOVPL R0, #1
ROM:1FFFE724 STRPL R0, [R5,#0x14] ; 标记串口1接收到数据
ROM:1FFFE724 ; ;;;
ROM:1FFFE726 LDR.W R0, [R10,#8] ; GPIO端口PD6,UART2的接收引脚,经过了重映射
ROM:1FFFE72A LSLS R0, R0, #0x19
ROM:1FFFE72C ITT PL
ROM:1FFFE72E MOVPL R0, #1
ROM:1FFFE730 STRPL R0, [R5,#0x18] ; ; 标记串口2接收到数据
ROM:1FFFE732 LDR.W R0, [R11] ; portB读取输入寄存器
ROM:1FFFE736 LSLS R0, R0, #0x1A ; PB5/CAN2_RX
ROM:1FFFE738 ITT PL
ROM:1FFFE73A MOVPL R0, #1
ROM:1FFFE73C STRPL R0, [R5,#0x1C] ; 标记CAN2接收到数据
ROM:1FFFE73E LDR R0, [R5,#0x14]
ROM:1FFFE740 CMP R0, #1
ROM:1FFFE742 BNE UART1rx_check ; 标记串口2接收到数据
ROM:1FFFE744 LDR R0, [R7,#4]
ROM:1FFFE746 LSLS R0, R0, #0x15
ROM:1FFFE748 BPL UART1rx_check ; 再次检测到串口1接收脚低电平
ROM:1FFFE74A MOVS R0, #5
ROM:1FFFE74C STR R0, [R6]
ROM:1FFFE74E STR.W R8, [SP,#0x28+var_28]
ROM:1FFFE752 B loc_1FFFE75A
ROM:1FFFE754 ; ---------------------------------------------------------------------------
ROM:1FFFE754
ROM:1FFFE754 loc_1FFFE754 ; CODE XREF: g_sys_init+FCj
ROM:1FFFE754 LDR R0, [SP,#0x28+var_28]
ROM:1FFFE756 SUBS R0, R0, #1
ROM:1FFFE758 STR R0, [SP,#0x28+var_28]
ROM:1FFFE75A
ROM:1FFFE75A loc_1FFFE75A ; CODE XREF: g_sys_init+EAj
ROM:1FFFE75A LDR R0, [R7,#4]
ROM:1FFFE75C LSLS R0, R0, #0x15
ROM:1FFFE75E BPL loc_1FFFE766
ROM:1FFFE760 LDR R0, [SP,#0x28+var_28]
ROM:1FFFE762 CMP R0, #0
ROM:1FFFE764 BNE loc_1FFFE754
ROM:1FFFE766
ROM:1FFFE766 loc_1FFFE766 ; CODE XREF: g_sys_init+F6j
ROM:1FFFE766 LDR R0, [SP,#0x28+var_28]
ROM:1FFFE768 CBZ R0, loc_1FFFE79E
ROM:1FFFE76A LDR R0, [R5,#0x10]
ROM:1FFFE76C CBNZ R0, loc_1FFFE79E
ROM:1FFFE76E LDR R0, [R6,#8]
ROM:1FFFE770 RSB.W R0, R0, #0x80000
ROM:1FFFE774 STR R0, [R5,#0xC]
ROM:1FFFE776 LDR R0, [R5]
ROM:1FFFE778 STR R0, [R5,#8]
ROM:1FFFE77A MOVS R0, #0
ROM:1FFFE77C STR R0, [R6]
ROM:1FFFE77E STR R0, [R6,#8]
ROM:1FFFE780 STR.W R9, [R6,#4]
ROM:1FFFE784 LDR R0, [R5,#0x20]
ROM:1FFFE786 CMP R0, #1
ROM:1FFFE788 BNE loc_1FFFE792
ROM:1FFFE78A BL sub_1FFFCAA0
ROM:1FFFE78E MOVS R0, #0
ROM:1FFFE790 STR R0, [R5,#0x20]
ROM:1FFFE792
ROM:1FFFE792 loc_1FFFE792 ; CODE XREF: g_sys_init+120j
ROM:1FFFE792 LDR R0, =0x444448B4
ROM:1FFFE794 STR R0, [R7]
ROM:1FFFE796 MOV.W R0, #0x400
ROM:1FFFE79A STR R0, [R7,#0xC]
ROM:1FFFE79C B loc_1FFFE802
ROM:1FFFE79E ; ---------------------------------------------------------------------------
ROM:1FFFE79E
ROM:1FFFE79E loc_1FFFE79E ; CODE XREF: g_sys_init+100j
ROM:1FFFE79E ; g_sys_init+104j
ROM:1FFFE79E MOVS R0, #0
ROM:1FFFE7A0 STR R0, [R5,#0x14]
ROM:1FFFE7A2 STR R0, [R6]
ROM:1FFFE7A4 STR R0, [R6,#8]
ROM:1FFFE7A6 STR.W R9, [R6,#4]
ROM:1FFFE7AA
ROM:1FFFE7AA UART1rx_check ; CODE XREF: g_sys_init+DAj
ROM:1FFFE7AA ; g_sys_init+E0j
ROM:1FFFE7AA LDR R0, [R5,#0x18] ; 标记串口2接收到数据
ROM:1FFFE7AC CMP R0, #1
ROM:1FFFE7AE BNE UART2rx_check ; can2 rx接收到数据了吗?
ROM:1FFFE7B0 LDR.W R0, [R10,#8]
ROM:1FFFE7B4 LSLS R0, R0, #0x19
ROM:1FFFE7B6 BPL UART2rx_check ; can2 rx接收到数据了吗?
ROM:1FFFE7B8 MOVS R0, #5
ROM:1FFFE7BA STR R0, [R6]
ROM:1FFFE7BC STR.W R8, [SP,#0x28+var_28]
ROM:1FFFE7C0 B loc_1FFFE7C8
ROM:1FFFE7C2 ; ---------------------------------------------------------------------------
ROM:1FFFE7C2
ROM:1FFFE7C2 loc_1FFFE7C2 ; CODE XREF: g_sys_init+16Cj
ROM:1FFFE7C2 LDR R0, [SP,#0x28+var_28]
ROM:1FFFE7C4 SUBS R0, R0, #1
ROM:1FFFE7C6 STR R0, [SP,#0x28+var_28]
ROM:1FFFE7C8
ROM:1FFFE7C8 loc_1FFFE7C8 ; CODE XREF: g_sys_init+158j
ROM:1FFFE7C8 LDR.W R0, [R10,#8]
ROM:1FFFE7CC LSLS R0, R0, #0x19
ROM:1FFFE7CE BPL loc_1FFFE7D6
ROM:1FFFE7D0 LDR R0, [SP,#0x28+var_28]
ROM:1FFFE7D2 CMP R0, #0
ROM:1FFFE7D4 BNE loc_1FFFE7C2
ROM:1FFFE7D6
ROM:1FFFE7D6 loc_1FFFE7D6 ; CODE XREF: g_sys_init+166j
ROM:1FFFE7D6 LDR R0, [SP,#0x28+var_28]
ROM:1FFFE7D8 CBZ R0, loc_1FFFE80E
ROM:1FFFE7DA LDR R0, [R5,#0x10]
ROM:1FFFE7DC CBNZ R0, loc_1FFFE80E
ROM:1FFFE7DE LDR R0, [R6,#8]
ROM:1FFFE7E0 RSB.W R0, R0, #0x80000
ROM:1FFFE7E4 STR R0, [R5,#0xC]
ROM:1FFFE7E6 LDR R0, [R5,#4]
ROM:1FFFE7E8 STR R0, [R5,#8]
ROM:1FFFE7EA MOVS R0, #0
ROM:1FFFE7EC STR R0, [R6]
ROM:1FFFE7EE STR R0, [R6,#8]
ROM:1FFFE7F0 STR.W R9, [R6,#4]
ROM:1FFFE7F4 LDR R0, [R5,#0x20]
ROM:1FFFE7F6 CMP R0, #1
ROM:1FFFE7F8 BNE loc_1FFFE802
ROM:1FFFE7FA BL sub_1FFFCAA0
ROM:1FFFE7FE MOVS R0, #0
ROM:1FFFE800 STR R0, [R5,#0x20]
ROM:1FFFE802
ROM:1FFFE802 loc_1FFFE802 ; CODE XREF: g_sys_init+134j
ROM:1FFFE802 ; g_sys_init+190j
ROM:1FFFE802 LDR R0, [R4,#4]
ROM:1FFFE804 BIC.W R0, R0, #0x6000000
ROM:1FFFE808 STR R0, [R4,#4]
ROM:1FFFE80A MOVS R0, #1
ROM:1FFFE80C B sys_init_func_ret
ROM:1FFFE80E ; ---------------------------------------------------------------------------
ROM:1FFFE80E
ROM:1FFFE80E loc_1FFFE80E ; CODE XREF: g_sys_init+170j
ROM:1FFFE80E ; g_sys_init+174j
ROM:1FFFE80E MOVS R0, #0
ROM:1FFFE810 STR R0, [R5,#0x18]
ROM:1FFFE812 STR R0, [R6]
ROM:1FFFE814 STR R0, [R6,#8]
ROM:1FFFE816 STR.W R9, [R6,#4]
ROM:1FFFE81A
ROM:1FFFE81A UART2rx_check ; CODE XREF: g_sys_init+146j
ROM:1FFFE81A ; g_sys_init+14Ej
ROM:1FFFE81A LDR R0, [R5,#0x1C] ; can2 rx接收到数据了吗?
ROM:1FFFE81C CMP R0, #1
ROM:1FFFE81E BNE loc_1FFFE82C
ROM:1FFFE820 LDR.W R0, [R11]
ROM:1FFFE824 LSLS R0, R0, #0x1A
ROM:1FFFE826 ITT MI
ROM:1FFFE828 MOVMI R0, #2
ROM:1FFFE82A STRMI R0, [R5,#0x1C] ; 检测can2接收,并记录结果
ROM:1FFFE82C
ROM:1FFFE82C loc_1FFFE82C ; CODE XREF: g_sys_init+1B6j
ROM:1FFFE82C LDR R0, [R5,#0x1C]
ROM:1FFFE82E CMP R0, #2
ROM:1FFFE830 BNE.W start_check ; 0x1FFFEB5C+0x10->0x1fffeb6c->0x00,
ROM:1FFFE834 LDR.W R0, [R11] ; can2接收到数据,走此条路
ROM:1FFFE838 LSLS R0, R0, #0x1A
ROM:1FFFE83A BMI.W start_check ; 0x1FFFEB5C+0x10->0x1fffeb6c->0x00,
ROM:1FFFE83E LDR R0, [R5,#0x10]
ROM:1FFFE840 CMP R0, #0
ROM:1FFFE842 BNE.W re_start_check
ROM:1FFFE846 LDR R0, [R5,#0x20]
ROM:1FFFE848 CMP R0, #1
ROM:1FFFE84A BNE loc_1FFFE854
ROM:1FFFE84C BL sub_1FFFCAA0
ROM:1FFFE850 MOVS R0, #0
ROM:1FFFE852 STR R0, [R5,#0x20]
ROM:1FFFE854
ROM:1FFFE854 loc_1FFFE854 ; CODE XREF: g_sys_init+1E2j
ROM:1FFFE854 LDR R0, [R4]
ROM:1FFFE856 BIC.W R0, R0, #0x4000
ROM:1FFFE85A STR R0, [R4]
ROM:1FFFE85C LDR R0, [R4,#4]
ROM:1FFFE85E BIC.W R0, R0, #0x20000
ROM:1FFFE862 STR R0, [R4,#4]
ROM:1FFFE864 MOVS R0, #2
ROM:1FFFE866 B sys_init_func_ret
ROM:1FFFE868 ; ---------------------------------------------------------------------------
ROM:1FFFE868
ROM:1FFFE868 loc_1FFFE868 ; CODE XREF: g_sys_init+9Cj
ROM:1FFFE868 LDR R0, [R4,#4] ; 复位和时钟控制(RCC)
ROM:1FFFE86A BIC.W R0, R0, #0x6000000
ROM:1FFFE86E STR R0, [R4,#4]
ROM:1FFFE870 LDR R0, [R4]
ROM:1FFFE872 BIC.W R0, R0, #0x4000
ROM:1FFFE876 STR R0, [R4]
ROM:1FFFE878 LDR R0, [R4,#4]
ROM:1FFFE87A BIC.W R0, R0, #0x20000
ROM:1FFFE87E STR R0, [R4,#4]
ROM:1FFFE880 MOVS R0, #3
ROM:1FFFE882
ROM:1FFFE882 sys_init_func_ret ; CODE XREF: g_sys_init+1A4j
ROM:1FFFE882 ; g_sys_init+1FEj
ROM:1FFFE882 POP.W {R1,R4-R11,PC}
ROM:1FFFE882 ; End of function g_sys_init
ROM:1FFFE882
ROM:1FFFE882 ; ---------------------------------------------------------------------------
ROM:1FFFE886 ALIGN 4
ROM:1FFFE888 dword_1FFFE888 DCD 0x4002100C ; DATA XREF: start_work+34r
ROM:1FFFE88C dword_1FFFE88C DCD 0xE000E010 ; DATA XREF: start_work+4Cr
ROM:1FFFE88C ; g_sys_init:loc_1FFFE6B6r
ROM:1FFFE890 dword_1FFFE890 DCD 0x20000208 ; DATA XREF: start_work+54r
ROM:1FFFE894 dword_1FFFE894 DCD 0x40003000 ; DATA XREF: g_sys_init+Cr
ROM:1FFFE898 dword_1FFFE898 DCD 0xE000ED08 ; DATA XREF: g_sys_init+22r
ROM:1FFFE89C dword_1FFFE89C DCD 0x1FFFB000 ; DATA XREF: g_sys_init+24r
ROM:1FFFE8A0 dword_1FFFE8A0 DCD 0x20000188 ; DATA XREF: g_sys_init+28r
ROM:1FFFE8A4 dword_1FFFE8A4 DCD 0x2000FFFC ; DATA XREF: g_sys_init+32r
ROM:1FFFE8A8 dword_1FFFE8A8 DCD 0x20001000 ; DATA XREF: g_sys_init+44r
ROM:1FFFE8AC dword_1FFFE8AC DCD 0x40021018 ; DATA XREF: g_sys_init+5Cr
ROM:1FFFE8B0 dword_1FFFE8B0 DCD 0x40010004 ; DATA XREF: g_sys_init+6Ar
ROM:1FFFE8B4 dword_1FFFE8B4 DCD 0x40010804 ; DATA XREF: g_sys_init+70r
ROM:1FFFE8B8 dword_1FFFE8B8 DCD 0x44444884 ; DATA XREF: g_sys_init+72r
ROM:1FFFE8BC dword_1FFFE8BC DCD 0x2000400 ; DATA XREF: g_sys_init+76r
ROM:1FFFE8C0 dword_1FFFE8C0 DCD 0x40011400 ; DATA XREF: g_sys_init+7Ar
ROM:1FFFE8C4 dword_1FFFE8C4 DCD 0x48B44444 ; DATA XREF: g_sys_init+7Er
ROM:1FFFE8C8 dword_1FFFE8C8 DCD 0x40010C08 ; DATA XREF: g_sys_init+8Er
ROM:1FFFE8CC dword_1FFFE8CC DCD 0x444448B4 ; DATA XREF: g_sys_init:loc_1FFFE792r
ROM:1FFFE8D0 DCW 0x326
ROM:1FFFE8D2 aStmicroelectronics unicode 0, <STMicroelectronics>,0
ROM:1FFFE8F8 DCW 0x335
ROM:1FFFE8FA aStm320x418DfuBootloader unicode 0, <STM32 0x418 DFU Bootloader>,0
ROM:1FFFE930
ROM:1FFFE930 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE930
ROM:1FFFE930
ROM:1FFFE930 sys_create ; CODE XREF: start_S+8p
ROM:1FFFE930 PUSH {R4,LR} ; 寄存器压栈保护
ROM:1FFFE932 LDR R1, =(loc_1FFFE940 - 0x1FFFE938) ; 计算1FFFE940-1FFFE938的相对位置,赋给R1
ROM:1FFFE934 ADD R1, PC ; loc_1FFFE940 ; 当前的PC值+R1,由于流水线的原因,thumb指令+4,
ROM:1FFFE934 ; R1=1FFFE934+4+上条指令计算的相对位置
ROM:1FFFE934 ; =1FFFE940
ROM:1FFFE936 ADDS R1, #0x1C ; 1FFFE940+1C=1FFFE95C
ROM:1FFFE938 LDR R4, =(dword_1FFFE964+2 - 0x1FFFE93E)
ROM:1FFFE93A ADD R4, PC ; bss段的起始位置
ROM:1FFFE93C ADDS R4, #0x1A ; 同样的套路,1FFFE966+1A=1FFFE980,主要目的是创建地址无关的代码
ROM:1FFFE93E CMP R1, R4
ROM:1FFFE940
ROM:1FFFE940 loc_1FFFE940 ; DATA XREF: sys_create+4o
ROM:1FFFE940 ; ROM:off_1FFFE954o
ROM:1FFFE940 BEQ locret_1FFFE950
ROM:1FFFE942
ROM:1FFFE942 loc_1FFFE942 ; CODE XREF: sys_create+1Ej
ROM:1FFFE942 ADDS R0, R1, #4
ROM:1FFFE944 LDR R2, [R1]
ROM:1FFFE946 ADDS R1, R2, R1
ROM:1FFFE948 BLX R1 ; bss_clear ; 参数为0x00000a1c g_data_init
ROM:1FFFE94A MOV R1, R0
ROM:1FFFE94C CMP R1, R4
ROM:1FFFE94E BNE loc_1FFFE942
ROM:1FFFE950
ROM:1FFFE950 locret_1FFFE950 ; CODE XREF: sys_create:loc_1FFFE940j
ROM:1FFFE950 POP {R4,PC}
ROM:1FFFE950 ; End of function sys_create
ROM:1FFFE950
ROM:1FFFE950 ; ---------------------------------------------------------------------------
ROM:1FFFE952 ALIGN 4
ROM:1FFFE954 off_1FFFE954 DCD loc_1FFFE940 - 0x1FFFE938 ; DATA XREF: sys_create+2r
ROM:1FFFE958 off_1FFFE958 DCD dword_1FFFE964+2 - 0x1FFFE93E ; DATA XREF: sys_create+8r
ROM:1FFFE958 ; bss段的起始位置
ROM:1FFFE95C dword_1FFFE95C DCD 0xFFFFD273 ; DATA XREF: sys_create+14r
ROM:1FFFE960 DCD 0xA1C ; bss段大小
ROM:1FFFE964 dword_1FFFE964 DCD 0x20000250 ; DATA XREF: sys_create+Ao
ROM:1FFFE964 ; ROM:off_1FFFE958o
ROM:1FFFE964 ; bss段的起始位置
ROM:1FFFE968 DCD 0 ; bss段描述符的结束指示
ROM:1FFFE96C DCD 0xFFFFD1B3 ; data段初始化函数的偏移地址
ROM:1FFFE970 DCD 0x250 ; data段的长度
ROM:1FFFE974 DCD 0x60 ; data源段位置偏移描述,相对于自己的存储地址
ROM:1FFFE974 ; 在flash中,1FFFE974+0x60
ROM:1FFFE974 ; data_addr = 1FFFE9D4
ROM:1FFFE978 DCD 0x20000000 ; data段数据的目的地址,在内存中
ROM:1FFFE97C DCD 0 ; data段描述符的结束指示
ROM:1FFFE980
ROM:1FFFE980 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE980
ROM:1FFFE980 ; Attributes: noreturn
ROM:1FFFE980
ROM:1FFFE980 ; int __cdecl start_S(int argc, const char **argv, const char **envp)
ROM:1FFFE980 start_S ; CODE XREF: ROM:1FFFE9C8p
ROM:1FFFE980 BL sub_1FFFE996 ; 下面是死机陷井!!!
ROM:1FFFE984 CMP R0, #0
ROM:1FFFE986 BEQ loc_1FFFE98C
ROM:1FFFE988 BL sys_create ; 建立c语言的运行环境,bss清零,data段拷贝
ROM:1FFFE98C
ROM:1FFFE98C loc_1FFFE98C ; CODE XREF: start_S+6j
ROM:1FFFE98C MOVS R0, #0
ROM:1FFFE98E BL start_work
ROM:1FFFE98E ; End of function start_S
ROM:1FFFE98E
ROM:1FFFE992 ; ---------------------------------------------------------------------------
ROM:1FFFE992 BL gansini
ROM:1FFFE996
ROM:1FFFE996 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE996
ROM:1FFFE996 ; 下面是死机陷井!!!
ROM:1FFFE996
ROM:1FFFE996 sub_1FFFE996 ; CODE XREF: start_Sp
ROM:1FFFE996 MOVS R0, #1
ROM:1FFFE998 BX LR
ROM:1FFFE998 ; End of function sub_1FFFE996
ROM:1FFFE998
ROM:1FFFE99A ; ---------------------------------------------------------------------------
ROM:1FFFE99A
ROM:1FFFE99A gansini ; CODE XREF: ROM:1FFFE992j
ROM:1FFFE99A B.W siji
ROM:1FFFE99A ; ---------------------------------------------------------------------------
ROM:1FFFE99E ALIGN 0x10
ROM:1FFFE9A0
ROM:1FFFE9A0 siji ; CODE XREF: ROM:gansinij
ROM:1FFFE9A0 MOV R7, R0
ROM:1FFFE9A2
ROM:1FFFE9A2 die_le ; CODE XREF: ROM:1FFFE9A8j
ROM:1FFFE9A2 MOV R0, R7
ROM:1FFFE9A4 BL die_mcu
ROM:1FFFE9A8 ; ---------------------------------------------------------------------------
ROM:1FFFE9A8 B die_le
ROM:1FFFE9A8 ; ---------------------------------------------------------------------------
ROM:1FFFE9AA ALIGN 4
ROM:1FFFE9AC
ROM:1FFFE9AC ; =============== S U B R O U T I N E =======================================
ROM:1FFFE9AC
ROM:1FFFE9AC ; Attributes: noreturn
ROM:1FFFE9AC
ROM:1FFFE9AC die_mcu ; CODE XREF: ROM:1FFFE9A4p
ROM:1FFFE9AC PUSH {R7,LR}
ROM:1FFFE9AE NOP
ROM:1FFFE9B0 NOP
ROM:1FFFE9B2 LDR R2, =0x20026
ROM:1FFFE9B4
ROM:1FFFE9B4 breakpoint ; CODE XREF: die_mcu+Ej
ROM:1FFFE9B4 MOVS R1, R2
ROM:1FFFE9B6 MOVS R0, #0x18
ROM:1FFFE9B8 BKPT 0xAB
ROM:1FFFE9BA B breakpoint
ROM:1FFFE9BA ; End of function die_mcu
ROM:1FFFE9BA
ROM:1FFFE9BA ; ---------------------------------------------------------------------------
ROM:1FFFE9BC dword_1FFFE9BC DCD 0x20026 ; DATA XREF: die_mcu+6r
ROM:1FFFE9C0 ; ---------------------------------------------------------------------------
ROM:1FFFE9C0
ROM:1FFFE9C0 entry_main
ROM:1FFFE9C0 NOP
ROM:1FFFE9C2 NOP
ROM:1FFFE9C4 NOP
ROM:1FFFE9C6 NOP
ROM:1FFFE9C8 BL start_S
ROM:1FFFE9CC ; ---------------------------------------------------------------------------
ROM:1FFFE9CC
ROM:1FFFE9CC loc_1FFFE9CC
ROM:1FFFE9CC B.W sys_reset
ROM:1FFFE9D0 ; ---------------------------------------------------------------------------
ROM:1FFFE9D0
ROM:1FFFE9D0 OTG_FS_IRQHandler
ROM:1FFFE9D0 B.W usb_fs_int_proc
ROM:1FFFE9D0 ; ---------------------------------------------------------------------------
ROM:1FFFE9D4 g_data DCW 0x34E ; 全局变量区:len=0x250
ROM:1FFFE9D6 aInternalFlash0x0800000012 unicode 0, <@Internal Flash /0x08000000/128*002Kg>,0
ROM:1FFFEA24 DCW 0x348
ROM:1FFFEA26 aOptionBytes0x1ffff8000101 unicode 0, <@Option Bytes /0x1FFFF800/01*016 e>,0
ROM:1FFFEA6E DCW 0
ROM:1FFFEA70 DCD 0x1FFFD4A1
ROM:1FFFEA74 DCD 0x1FFFD4A1
ROM:1FFFEA78 DCD locret_1FFFD4A0+1
ROM:1FFFEA7C DCD locret_1FFFD4A0+1
ROM:1FFFEA80 DCD locret_1FFFD4A0+1
ROM:1FFFEA84 DCD locret_1FFFD4A0+1
ROM:1FFFEA88 DCD locret_1FFFD4A0+1
ROM:1FFFEA8C DCD locret_1FFFD4A0+1
ROM:1FFFEA90 DCD locret_1FFFD4A0+1
ROM:1FFFEA94 DCD locret_1FFFD4A0+1
ROM:1FFFEA98 DCD locret_1FFFD4A0+1
ROM:1FFFEA9C DCD locret_1FFFD4A0+1
ROM:1FFFEAA0 DCD locret_1FFFD4A0+1
ROM:1FFFEAA4 DCD locret_1FFFD4A0+1
ROM:1FFFEAA8 DCD 0
ROM:1FFFEAAC DCD 0x20000240
ROM:1FFFEAB0 DCD 4, 0x1FFFE8D0, 0x26, 0x1FFFE8F8, 0x35, 0x20000214
ROM:1FFFEAB0 DCD 0xC, 0x20000000, 0x4E, 0x20000050, 0x48, 0x1FFFC291
ROM:1FFFEAB0 DCD 0x1FFFC2B1, 0x1FFFC2ED, 0x1FFFC2EF, 0x1FFFC453, 0x1FFFC4DB
ROM:1FFFEAB0 DCD 0x1FFFC5EF, 0x1FFFC5B5, 0x1FFFC5BD, 0x1FFFC5C5, 0
ROM:1FFFEB08 DCD 0x40
ROM:1FFFEB0C DCD 0, 0, 0, 0, 0, 0, 0, 0
ROM:1FFFEB2C DCD 0x8000000, 0x200001AC, 0x24, 0, 0, 0, 0, 0
ROM:1FFFEB4C DCD 0x1000F
ROM:1FFFEB50 DCD 0x10007
ROM:1FFFEB54 DCD 0x10003
ROM:1FFFEB58 DCD 0x10001
ROM:1FFFEB5C DCD 0x40013800
ROM:1FFFEB60 DCD 0x40004400
ROM:1FFFEB64 DCD 0x40013800
ROM:1FFFEB68 DCD 0
ROM:1FFFEB6C DCD 0
ROM:1FFFEB70 DCD 0
ROM:1FFFEB74 DCD 0
ROM:1FFFEB78 DCD 0
ROM:1FFFEB7C DCD 0
ROM:1FFFEB80 DCD 0x240209
ROM:1FFFEB84 DCD 0xC0000101, 0x40932, 0x1FE0000, 0x4090402, 0xFE000100
ROM:1FFFEB84 DCD 0x9050201, 0xFF0B21, 0x11A0800, 0x1FFFD4A1, 0x1FFFC2D1
ROM:1FFFEB84 DCD 0x1FFFD4A1, 0x1FFFD4A1, 0x1FFFD4A1, 0x1FFFD4A1, 0x1FFFD4A1
ROM:1FFFEB84 DCD 0x1FFFD4A1, 0x1FFFC2E3, 0x1000112, 0x40000000, 0xDF110483
ROM:1FFFEB84 DCD 0x2012200, 0x103, 0, 0
ROM:1FFFEBE4 DCD 0x8000000, 0x53030C, 0x4D0054, 0x320033, 0x2010022
ROM:1FFFEBE4 DCD 0x63432105, 0x928273, 0
ROM:1FFFEC04 DCD 0x4FFFFF
ROM:1FFFEC08 DCD 0x200001F4
ROM:1FFFEC0C DCD 0x12
ROM:1FFFEC10 DCD 0xB000000
ROM:1FFFEC14 DCD 0x4090304
ROM:1FFFEC18 DCD 0x22
ROM:1FFFEC1C DCD 0x101
ROM:1FFFEC20 DCD 0x1804
ROM:1FFFEC24 DCD 0xFFFFFFFF
ROM:1FFFEC28 DCD 0xFFFFFFFF
ROM:1FFFEC2C DCD 0xFFFFFFFF
ROM:1FFFEC30 DCD 0xFFFFFFFF
ROM:1FFFEC34 DCD 0xFFFFFFFF
ROM:1FFFEC38 DCD 0xFFFFFFFF
ROM:1FFFEC3C DCD 0xFFFFFFFF
ROM:1FFFEC40 DCD 0xFFFFFFFF
ROM:1FFFEC44 DCD 0xFFFFFFFF
ROM:1FFFEC48 DCD 0xFFFFFFFF
ROM:1FFFEC4C DCD 0xFFFFFFFF
ROM:1FFFEC50 DCD 0xFFFFFFFF
ROM:1FFFEC54 DCD 0xFFFFFFFF
ROM:1FFFEC58 DCD 0xFFFFFFFF
ROM:1FFFEC5C DCD 0xFFFFFFFF
ROM:1FFFEC60 DCD 0xFFFFFFFF
ROM:1FFFEC64 DCD 0xFFFFFFFF
ROM:1FFFEC68 DCD 0xFFFFFFFF
ROM:1FFFEC6C DCD 0xFFFFFFFF
ROM:1FFFEC70 DCD 0xFFFFFFFF
ROM:1FFFEC74 DCD 0xFFFFFFFF
ROM:1FFFEC78 DCD 0xFFFFFFFF
ROM:1FFFEC7C DCD 0xFFFFFFFF
ROM:1FFFEC80 DCD 0xFFFFFFFF
ROM:1FFFEC84 DCD 0xFFFFFFFF
ROM:1FFFEC88 DCD 0xFFFFFFFF
ROM:1FFFEC8C DCD 0xFFFFFFFF
ROM:1FFFEC90 DCD 0xFFFFFFFF
ROM:1FFFEC94 DCD 0xFFFFFFFF
ROM:1FFFEC98 DCD 0xFFFFFFFF
ROM:1FFFEC9C DCD 0xFFFFFFFF
ROM:1FFFECA0 DCD 0xFFFFFFFF
ROM:1FFFECA4 DCD 0xFFFFFFFF
ROM:1FFFECA8 DCD 0xFFFFFFFF
ROM:1FFFECAC DCD 0xFFFFFFFF
ROM:1FFFECB0 DCD 0xFFFFFFFF
ROM:1FFFECB4 DCD 0xFFFFFFFF
ROM:1FFFECB8 DCD 0xFFFFFFFF
ROM:1FFFECBC DCD 0xFFFFFFFF
ROM:1FFFECC0 DCD 0xFFFFFFFF
ROM:1FFFECC4 DCD 0xFFFFFFFF
ROM:1FFFECC8 DCD 0xFFFFFFFF
ROM:1FFFECCC DCD 0xFFFFFFFF
ROM:1FFFECD0 DCD 0xFFFFFFFF
ROM:1FFFECD4 DCD 0xFFFFFFFF
ROM:1FFFECD8 DCD 0xFFFFFFFF
ROM:1FFFECDC DCD 0xFFFFFFFF
ROM:1FFFECE0 DCD 0xFFFFFFFF
ROM:1FFFECE4 DCD 0xFFFFFFFF
ROM:1FFFECE8 DCD 0xFFFFFFFF
ROM:1FFFECEC DCD 0xFFFFFFFF
ROM:1FFFECF0 DCD 0xFFFFFFFF
ROM:1FFFECF4 DCD 0xFFFFFFFF
ROM:1FFFECF8 DCD 0xFFFFFFFF
ROM:1FFFECFC DCD 0xFFFFFFFF
ROM:1FFFED00 DCD 0xFFFFFFFF
ROM:1FFFED04 DCD 0xFFFFFFFF
ROM:1FFFED08 DCD 0xFFFFFFFF
ROM:1FFFED0C DCD 0xFFFFFFFF
ROM:1FFFED10 DCD 0xFFFFFFFF
ROM:1FFFED14 DCD 0xFFFFFFFF
ROM:1FFFED18 DCD 0xFFFFFFFF
ROM:1FFFED1C DCD 0xFFFFFFFF
ROM:1FFFED20 DCD 0xFFFFFFFF
ROM:1FFFED24 DCD 0xFFFFFFFF
ROM:1FFFED28 DCD 0xFFFFFFFF
ROM:1FFFED2C DCD 0xFFFFFFFF
ROM:1FFFED30 DCD 0xFFFFFFFF
ROM:1FFFED34 DCD 0xFFFFFFFF
ROM:1FFFED38 DCD 0xFFFFFFFF
ROM:1FFFED3C DCD 0xFFFFFFFF
ROM:1FFFED40 DCD 0xFFFFFFFF
ROM:1FFFED44 DCD 0xFFFFFFFF
ROM:1FFFED48 DCD 0xFFFFFFFF
ROM:1FFFED4C DCD 0xFFFFFFFF
ROM:1FFFED50 DCD 0xFFFFFFFF
ROM:1FFFED54 DCD 0xFFFFFFFF
ROM:1FFFED58 DCD 0xFFFFFFFF
ROM:1FFFED5C DCD 0xFFFFFFFF
ROM:1FFFED60 DCD 0xFFFFFFFF
ROM:1FFFED64 DCD 0xFFFFFFFF
ROM:1FFFED68 DCD 0xFFFFFFFF
ROM:1FFFED6C DCD 0xFFFFFFFF
ROM:1FFFED70 DCD 0xFFFFFFFF
ROM:1FFFED74 DCD 0xFFFFFFFF
ROM:1FFFED78 DCD 0xFFFFFFFF
ROM:1FFFED7C DCD 0xFFFFFFFF
ROM:1FFFED80 DCD 0xFFFFFFFF
ROM:1FFFED84 DCD 0xFFFFFFFF
ROM:1FFFED88 DCD 0xFFFFFFFF
ROM:1FFFED8C DCD 0xFFFFFFFF
ROM:1FFFED90 DCD 0xFFFFFFFF
ROM:1FFFED94 DCD 0xFFFFFFFF
ROM:1FFFED98 DCD 0xFFFFFFFF
ROM:1FFFED9C DCD 0xFFFFFFFF
ROM:1FFFEDA0 DCD 0xFFFFFFFF
ROM:1FFFEDA4 DCD 0xFFFFFFFF
ROM:1FFFEDA8 DCD 0xFFFFFFFF
ROM:1FFFEDAC DCD 0xFFFFFFFF
ROM:1FFFEDB0 DCD 0xFFFFFFFF
ROM:1FFFEDB4 DCD 0xFFFFFFFF
ROM:1FFFEDB8 DCD 0xFFFFFFFF
ROM:1FFFEDBC DCD 0xFFFFFFFF
ROM:1FFFEDC0 DCD 0xFFFFFFFF
ROM:1FFFEDC4 DCD 0xFFFFFFFF
ROM:1FFFEDC8 DCD 0xFFFFFFFF
ROM:1FFFEDCC DCD 0xFFFFFFFF
ROM:1FFFEDD0 DCD 0xFFFFFFFF
ROM:1FFFEDD4 DCD 0xFFFFFFFF
ROM:1FFFEDD8 DCD 0xFFFFFFFF
ROM:1FFFEDDC DCD 0xFFFFFFFF
ROM:1FFFEDE0 DCD 0xFFFFFFFF
ROM:1FFFEDE4 DCD 0xFFFFFFFF
ROM:1FFFEDE8 DCD 0xFFFFFFFF
ROM:1FFFEDEC DCD 0xFFFFFFFF
ROM:1FFFEDF0 DCD 0xFFFFFFFF
ROM:1FFFEDF4 DCD 0xFFFFFFFF
ROM:1FFFEDF8 DCD 0xFFFFFFFF
ROM:1FFFEDFC DCD 0xFFFFFFFF
ROM:1FFFEE00 DCD 0xFFFFFFFF
ROM:1FFFEE04 DCD 0xFFFFFFFF
ROM:1FFFEE08 DCD 0xFFFFFFFF
ROM:1FFFEE0C DCD 0xFFFFFFFF
ROM:1FFFEE10 DCD 0xFFFFFFFF
ROM:1FFFEE14 DCD 0xFFFFFFFF
ROM:1FFFEE18 DCD 0xFFFFFFFF
ROM:1FFFEE1C DCD 0xFFFFFFFF
ROM:1FFFEE20 DCD 0xFFFFFFFF
ROM:1FFFEE24 DCD 0xFFFFFFFF
ROM:1FFFEE28 DCD 0xFFFFFFFF
ROM:1FFFEE2C DCD 0xFFFFFFFF
ROM:1FFFEE30 DCD 0xFFFFFFFF
ROM:1FFFEE34 DCD 0xFFFFFFFF
ROM:1FFFEE38 DCD 0xFFFFFFFF
ROM:1FFFEE3C DCD 0xFFFFFFFF
ROM:1FFFEE40 DCD 0xFFFFFFFF
ROM:1FFFEE44 DCD 0xFFFFFFFF
ROM:1FFFEE48 DCD 0xFFFFFFFF
ROM:1FFFEE4C DCD 0xFFFFFFFF
ROM:1FFFEE50 DCD 0xFFFFFFFF
ROM:1FFFEE54 DCD 0xFFFFFFFF
ROM:1FFFEE58 DCD 0xFFFFFFFF
ROM:1FFFEE5C DCD 0xFFFFFFFF
ROM:1FFFEE60 DCD 0xFFFFFFFF
ROM:1FFFEE64 DCD 0xFFFFFFFF
ROM:1FFFEE68 DCD 0xFFFFFFFF
ROM:1FFFEE6C DCD 0xFFFFFFFF
ROM:1FFFEE70 DCD 0xFFFFFFFF
ROM:1FFFEE74 DCD 0xFFFFFFFF
ROM:1FFFEE78 DCD 0xFFFFFFFF
ROM:1FFFEE7C DCD 0xFFFFFFFF
ROM:1FFFEE80 DCD 0xFFFFFFFF
ROM:1FFFEE84 DCD 0xFFFFFFFF
ROM:1FFFEE88 DCD 0xFFFFFFFF
ROM:1FFFEE8C DCD 0xFFFFFFFF
ROM:1FFFEE90 DCD 0xFFFFFFFF
ROM:1FFFEE94 DCD 0xFFFFFFFF
ROM:1FFFEE98 DCD 0xFFFFFFFF
ROM:1FFFEE9C DCD 0xFFFFFFFF
ROM:1FFFEEA0 DCD 0xFFFFFFFF
ROM:1FFFEEA4 DCD 0xFFFFFFFF
ROM:1FFFEEA8 DCD 0xFFFFFFFF
ROM:1FFFEEAC DCD 0xFFFFFFFF
ROM:1FFFEEB0 DCD 0xFFFFFFFF
ROM:1FFFEEB4 DCD 0xFFFFFFFF
ROM:1FFFEEB8 DCD 0xFFFFFFFF
ROM:1FFFEEBC DCD 0xFFFFFFFF
ROM:1FFFEEC0 DCD 0xFFFFFFFF
ROM:1FFFEEC4 DCD 0xFFFFFFFF
ROM:1FFFEEC8 DCD 0xFFFFFFFF
ROM:1FFFEECC DCD 0xFFFFFFFF
ROM:1FFFEED0 DCD 0xFFFFFFFF
ROM:1FFFEED4 DCD 0xFFFFFFFF
ROM:1FFFEED8 DCD 0xFFFFFFFF
ROM:1FFFEEDC DCD 0xFFFFFFFF
ROM:1FFFEEE0 DCD 0xFFFFFFFF
ROM:1FFFEEE4 DCD 0xFFFFFFFF
ROM:1FFFEEE8 DCD 0xFFFFFFFF
ROM:1FFFEEEC DCD 0xFFFFFFFF
ROM:1FFFEEF0 DCD 0xFFFFFFFF
ROM:1FFFEEF4 DCD 0xFFFFFFFF
ROM:1FFFEEF8 DCD 0xFFFFFFFF
ROM:1FFFEEFC DCD 0xFFFFFFFF
ROM:1FFFEF00 DCD 0xFFFFFFFF
ROM:1FFFEF04 DCD 0xFFFFFFFF
ROM:1FFFEF08 DCD 0xFFFFFFFF
ROM:1FFFEF0C DCD 0xFFFFFFFF
ROM:1FFFEF10 DCD 0xFFFFFFFF
ROM:1FFFEF14 DCD 0xFFFFFFFF
ROM:1FFFEF18 DCD 0xFFFFFFFF
ROM:1FFFEF1C DCD 0xFFFFFFFF
ROM:1FFFEF20 DCD 0xFFFFFFFF
ROM:1FFFEF24 DCD 0xFFFFFFFF
ROM:1FFFEF28 DCD 0xFFFFFFFF
ROM:1FFFEF2C DCD 0xFFFFFFFF
ROM:1FFFEF30 DCD 0xFFFFFFFF
ROM:1FFFEF34 DCD 0xFFFFFFFF
ROM:1FFFEF38 DCD 0xFFFFFFFF
ROM:1FFFEF3C DCD 0xFFFFFFFF
ROM:1FFFEF40 DCD 0xFFFFFFFF
ROM:1FFFEF44 DCD 0xFFFFFFFF
ROM:1FFFEF48 DCD 0xFFFFFFFF
ROM:1FFFEF4C DCD 0xFFFFFFFF
ROM:1FFFEF50 DCD 0xFFFFFFFF
ROM:1FFFEF54 DCD 0xFFFFFFFF
ROM:1FFFEF58 DCD 0xFFFFFFFF
ROM:1FFFEF5C DCD 0xFFFFFFFF
ROM:1FFFEF60 DCD 0xFFFFFFFF
ROM:1FFFEF64 DCD 0xFFFFFFFF
ROM:1FFFEF68 DCD 0xFFFFFFFF
ROM:1FFFEF6C DCD 0xFFFFFFFF
ROM:1FFFEF70 DCD 0xFFFFFFFF
ROM:1FFFEF74 DCD 0xFFFFFFFF
ROM:1FFFEF78 DCD 0xFFFFFFFF
ROM:1FFFEF7C DCD 0xFFFFFFFF
ROM:1FFFEF80 DCD 0xFFFFFFFF
ROM:1FFFEF84 DCD 0xFFFFFFFF
ROM:1FFFEF88 DCD 0xFFFFFFFF
ROM:1FFFEF8C DCD 0xFFFFFFFF
ROM:1FFFEF90 DCD 0xFFFFFFFF
ROM:1FFFEF94 DCD 0xFFFFFFFF
ROM:1FFFEF98 DCD 0xFFFFFFFF
ROM:1FFFEF9C DCD 0xFFFFFFFF
ROM:1FFFEFA0 DCD 0xFFFFFFFF
ROM:1FFFEFA4 DCD 0xFFFFFFFF
ROM:1FFFEFA8 DCD 0xFFFFFFFF
ROM:1FFFEFAC DCD 0xFFFFFFFF
ROM:1FFFEFB0 DCD 0xFFFFFFFF
ROM:1FFFEFB4 DCD 0xFFFFFFFF
ROM:1FFFEFB8 DCD 0xFFFFFFFF
ROM:1FFFEFBC DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFEFBC DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFEFBC DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFEFBC DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFEFBC DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF
ROM:1FFFF404 DCD 0xFFFFFFFF
ROM:1FFFF408 DCD 0xFFFFFFFF
ROM:1FFFF40C DCD 0xFFFFFFFF
ROM:1FFFF410 DCD 0xFFFFFFFF
ROM:1FFFF414 DCD 0xFFFFFFFF
ROM:1FFFF418 DCD 0xFFFFFFFF
ROM:1FFFF41C DCD 0xFFFFFFFF
ROM:1FFFF420 DCD 0xFFFFFFFF
ROM:1FFFF424 DCD 0xFFFFFFFF
ROM:1FFFF428 DCD 0xFFFFFFFF
ROM:1FFFF42C DCD 0xFFFFFFFF
ROM:1FFFF430 DCD 0xFFFFFFFF
ROM:1FFFF434 DCD 0xFFFFFFFF
ROM:1FFFF438 DCD 0xFFFFFFFF
ROM:1FFFF43C DCD 0xFFFFFFFF
ROM:1FFFF440 DCD 0xFFFFFFFF
ROM:1FFFF444 DCD 0xFFFFFFFF
ROM:1FFFF448 DCD 0xFFFFFFFF
ROM:1FFFF44C DCD 0xFFFFFFFF
ROM:1FFFF450 DCD 0xFFFFFFFF
ROM:1FFFF454 DCD 0xFFFFFFFF
ROM:1FFFF458 DCD 0xFFFFFFFF
ROM:1FFFF45C DCD 0xFFFFFFFF
ROM:1FFFF460 DCD 0xFFFFFFFF
ROM:1FFFF464 DCD 0xFFFFFFFF
ROM:1FFFF468 DCD 0xFFFFFFFF
ROM:1FFFF46C DCD 0xFFFFFFFF
ROM:1FFFF470 DCD 0xFFFFFFFF
ROM:1FFFF474 DCD 0xFFFFFFFF
ROM:1FFFF478 DCD 0xFFFFFFFF
ROM:1FFFF47C DCD 0xFFFFFFFF
ROM:1FFFF480 DCD 0xFFFFFFFF
ROM:1FFFF484 DCD 0xFFFFFFFF
ROM:1FFFF488 DCD 0xFFFFFFFF
ROM:1FFFF48C DCD 0xFFFFFFFF
ROM:1FFFF490 DCD 0xFFFFFFFF
ROM:1FFFF494 DCD 0xFFFFFFFF
ROM:1FFFF498 DCD 0xFFFFFFFF
ROM:1FFFF49C DCD 0xFFFFFFFF
ROM:1FFFF4A0 DCD 0xFFFFFFFF
ROM:1FFFF4A4 DCD 0xFFFFFFFF
ROM:1FFFF4A8 DCD 0xFFFFFFFF
ROM:1FFFF4AC DCD 0xFFFFFFFF
ROM:1FFFF4B0 DCD 0xFFFFFFFF
ROM:1FFFF4B4 DCD 0xFFFFFFFF
ROM:1FFFF4B8 DCD 0xFFFFFFFF
ROM:1FFFF4BC DCD 0xFFFFFFFF
ROM:1FFFF4C0 DCD 0xFFFFFFFF
ROM:1FFFF4C4 DCD 0xFFFFFFFF
ROM:1FFFF4C8 DCD 0xFFFFFFFF
ROM:1FFFF4CC DCD 0xFFFFFFFF
ROM:1FFFF4D0 DCD 0xFFFFFFFF
ROM:1FFFF4D4 DCD 0xFFFFFFFF
ROM:1FFFF4D8 DCD 0xFFFFFFFF
ROM:1FFFF4DC DCD 0xFFFFFFFF
ROM:1FFFF4E0 DCD 0xFFFFFFFF
ROM:1FFFF4E4 DCD 0xFFFFFFFF
ROM:1FFFF4E8 DCD 0xFFFFFFFF
ROM:1FFFF4EC DCD 0xFFFFFFFF
ROM:1FFFF4F0 DCD 0xFFFFFFFF
ROM:1FFFF4F4 DCD 0xFFFFFFFF
ROM:1FFFF4F8 DCD 0xFFFFFFFF
ROM:1FFFF4FC DCD 0xFFFFFFFF
ROM:1FFFF500 DCD 0xFFFFFFFF
ROM:1FFFF504 DCD 0xFFFFFFFF
ROM:1FFFF508 DCD 0xFFFFFFFF
ROM:1FFFF50C DCD 0xFFFFFFFF
ROM:1FFFF510 DCD 0xFFFFFFFF
ROM:1FFFF514 DCD 0xFFFFFFFF
ROM:1FFFF518 DCD 0xFFFFFFFF
ROM:1FFFF51C DCD 0xFFFFFFFF
ROM:1FFFF520 DCD 0xFFFFFFFF
ROM:1FFFF524 DCD 0xFFFFFFFF
ROM:1FFFF528 DCD 0xFFFFFFFF
ROM:1FFFF52C DCD 0xFFFFFFFF
ROM:1FFFF530 DCD 0xFFFFFFFF
ROM:1FFFF534 DCD 0xFFFFFFFF
ROM:1FFFF538 DCD 0xFFFFFFFF
ROM:1FFFF53C DCD 0xFFFFFFFF
ROM:1FFFF540 DCD 0xFFFFFFFF
ROM:1FFFF544 DCD 0xFFFFFFFF
ROM:1FFFF548 DCD 0xFFFFFFFF
ROM:1FFFF54C DCD 0xFFFFFFFF
ROM:1FFFF550 DCD 0xFFFFFFFF
ROM:1FFFF554 DCD 0xFFFFFFFF
ROM:1FFFF558 DCD 0xFFFFFFFF
ROM:1FFFF55C DCD 0xFFFFFFFF
ROM:1FFFF560 DCD 0xFFFFFFFF
ROM:1FFFF564 DCD 0xFFFFFFFF
ROM:1FFFF568 DCD 0xFFFFFFFF
ROM:1FFFF56C DCD 0xFFFFFFFF
ROM:1FFFF570 DCD 0xFFFFFFFF
ROM:1FFFF574 DCD 0xFFFFFFFF
ROM:1FFFF578 DCD 0xFFFFFFFF
ROM:1FFFF57C DCD 0xFFFFFFFF
ROM:1FFFF580 DCD 0xFFFFFFFF
ROM:1FFFF584 DCD 0xFFFFFFFF
ROM:1FFFF588 DCD 0xFFFFFFFF
ROM:1FFFF58C DCD 0xFFFFFFFF
ROM:1FFFF590 DCD 0xFFFFFFFF
ROM:1FFFF594 DCD 0xFFFFFFFF
ROM:1FFFF598 DCD 0xFFFFFFFF
ROM:1FFFF59C DCD 0xFFFFFFFF
ROM:1FFFF5A0 DCD 0xFFFFFFFF
ROM:1FFFF5A4 DCD 0xFFFFFFFF
ROM:1FFFF5A8 DCD 0xFFFFFFFF
ROM:1FFFF5AC DCD 0xFFFFFFFF
ROM:1FFFF5B0 DCD 0xFFFFFFFF
ROM:1FFFF5B4 DCD 0xFFFFFFFF
ROM:1FFFF5B8 DCD 0xFFFFFFFF
ROM:1FFFF5BC DCD 0xFFFFFFFF
ROM:1FFFF5C0 DCD 0xFFFFFFFF
ROM:1FFFF5C4 DCD 0xFFFFFFFF
ROM:1FFFF5C8 DCD 0xFFFFFFFF
ROM:1FFFF5CC DCD 0xFFFFFFFF
ROM:1FFFF5D0 DCD 0xFFFFFFFF
ROM:1FFFF5D4 DCD 0xFFFFFFFF
ROM:1FFFF5D8 DCD 0xFFFFFFFF
ROM:1FFFF5DC DCD 0xFFFFFFFF
ROM:1FFFF5E0 DCD 0xFFFFFFFF
ROM:1FFFF5E4 DCD 0xFFFFFFFF
ROM:1FFFF5E8 DCD 0xFFFFFFFF
ROM:1FFFF5EC DCD 0xFFFFFFFF
ROM:1FFFF5F0 DCD 0xFFFFFFFF
ROM:1FFFF5F4 DCD 0xFFFFFFFF
ROM:1FFFF5F8 DCD 0xFFFFFFFF
ROM:1FFFF5FC DCD 0xFFFFFFFF
ROM:1FFFF600 DCD 0xFFFFFFFF
ROM:1FFFF604 DCD 0xFFFFFFFF
ROM:1FFFF608 DCD 0xFFFFFFFF
ROM:1FFFF60C DCD 0xFFFFFFFF
ROM:1FFFF610 DCD 0xFFFFFFFF
ROM:1FFFF614 DCD 0xFFFFFFFF
ROM:1FFFF618 DCD 0xFFFFFFFF
ROM:1FFFF61C DCD 0xFFFFFFFF
ROM:1FFFF620 DCD 0xFFFFFFFF
ROM:1FFFF624 DCD 0xFFFFFFFF
ROM:1FFFF628 DCD 0xFFFFFFFF
ROM:1FFFF62C DCD 0xFFFFFFFF
ROM:1FFFF630 DCD 0xFFFFFFFF
ROM:1FFFF634 DCD 0xFFFFFFFF
ROM:1FFFF638 DCD 0xFFFFFFFF
ROM:1FFFF63C DCD 0xFFFFFFFF
ROM:1FFFF640 DCD 0xFFFFFFFF
ROM:1FFFF644 DCD 0xFFFFFFFF
ROM:1FFFF648 DCD 0xFFFFFFFF
ROM:1FFFF64C DCD 0xFFFFFFFF
ROM:1FFFF650 DCD 0xFFFFFFFF
ROM:1FFFF654 DCD 0xFFFFFFFF
ROM:1FFFF658 DCD 0xFFFFFFFF
ROM:1FFFF65C DCD 0xFFFFFFFF
ROM:1FFFF660 DCD 0xFFFFFFFF
ROM:1FFFF664 DCD 0xFFFFFFFF
ROM:1FFFF668 DCD 0xFFFFFFFF
ROM:1FFFF66C DCD 0xFFFFFFFF
ROM:1FFFF670 DCD 0xFFFFFFFF
ROM:1FFFF674 DCD 0xFFFFFFFF
ROM:1FFFF678 DCD 0xFFFFFFFF
ROM:1FFFF67C DCD 0xFFFFFFFF
ROM:1FFFF680 DCD 0xFFFFFFFF
ROM:1FFFF684 DCD 0xFFFFFFFF
ROM:1FFFF688 DCD 0xFFFFFFFF
ROM:1FFFF68C DCD 0xFFFFFFFF
ROM:1FFFF690 DCD 0xFFFFFFFF
ROM:1FFFF694 DCD 0xFFFFFFFF
ROM:1FFFF698 DCD 0xFFFFFFFF
ROM:1FFFF69C DCD 0xFFFFFFFF
ROM:1FFFF6A0 DCD 0xFFFFFFFF
ROM:1FFFF6A4 DCD 0xFFFFFFFF
ROM:1FFFF6A8 DCD 0xFFFFFFFF
ROM:1FFFF6AC DCD 0xFFFFFFFF
ROM:1FFFF6B0 DCD 0xFFFFFFFF
ROM:1FFFF6B4 DCD 0xFFFFFFFF
ROM:1FFFF6B8 DCD 0xFFFFFFFF
ROM:1FFFF6BC DCD 0xFFFFFFFF
ROM:1FFFF6C0 DCD 0xFFFFFFFF
ROM:1FFFF6C4 DCD 0xFFFFFFFF
ROM:1FFFF6C8 DCD 0xFFFFFFFF
ROM:1FFFF6CC DCD 0xFFFFFFFF
ROM:1FFFF6D0 DCD 0xFFFFFFFF
ROM:1FFFF6D4 DCD 0xFFFFFFFF
ROM:1FFFF6D8 DCD 0xFFFFFFFF
ROM:1FFFF6DC DCD 0xFFFFFFFF
ROM:1FFFF6E0 DCD 0xFFFFFFFF
ROM:1FFFF6E4 DCD 0xFFFFFFFF
ROM:1FFFF6E8 DCD 0xFFFFFFFF
ROM:1FFFF6EC DCD 0xFFFFFFFF
ROM:1FFFF6F0 DCD 0xFFFFFFFF
ROM:1FFFF6F4 DCD 0xFFFFFFFF
ROM:1FFFF6F8 DCD 0xFFFFFFFF
ROM:1FFFF6FC DCD 0xFFFFFFFF
ROM:1FFFF700 DCD 0xFFFFFFFF
ROM:1FFFF704 DCD 0xFFFFFFFF
ROM:1FFFF708 DCD 0xFFFFFFFF
ROM:1FFFF70C DCD 0xFFFFFFFF
ROM:1FFFF710 DCD 0xFFFFFFFF
ROM:1FFFF714 DCD 0xFFFFFFFF
ROM:1FFFF718 DCD 0xFFFFFFFF
ROM:1FFFF71C DCD 0xFFFFFFFF
ROM:1FFFF720 DCD 0xFFFFFFFF
ROM:1FFFF724 DCD 0xFFFFFFFF
ROM:1FFFF728 DCD 0xFFFFFFFF
ROM:1FFFF72C DCD 0xFFFFFFFF
ROM:1FFFF730 DCD 0xFFFFFFFF
ROM:1FFFF734 DCD 0xFFFFFFFF
ROM:1FFFF738 DCD 0xFFFFFFFF
ROM:1FFFF73C DCD 0xFFFFFFFF
ROM:1FFFF740 DCD 0xFFFFFFFF
ROM:1FFFF744 DCD 0xFFFFFFFF
ROM:1FFFF748 DCD 0xFFFFFFFF
ROM:1FFFF74C DCD 0xFFFFFFFF
ROM:1FFFF750 DCD 0xFFFFFFFF
ROM:1FFFF754 DCD 0xFFFFFFFF
ROM:1FFFF758 DCD 0xFFFFFFFF
ROM:1FFFF75C DCD 0xFFFFFFFF
ROM:1FFFF760 DCD 0xFFFFFFFF
ROM:1FFFF764 DCD 0xFFFFFFFF
ROM:1FFFF768 DCD 0xFFFFFFFF
ROM:1FFFF76C DCD 0xFFFFFFFF
ROM:1FFFF770 DCD 0xFFFFFFFF
ROM:1FFFF774 DCD 0xFFFFFFFF
ROM:1FFFF778 DCD 0xFFFFFFFF
ROM:1FFFF77C DCD 0xFFFFFFFF
ROM:1FFFF780 DCD 0xFFFFFFFF
ROM:1FFFF784 DCD 0xFFFFFFFF
ROM:1FFFF788 DCD 0xFFFFFFFF
ROM:1FFFF78C DCD 0xFFFFFFFF
ROM:1FFFF790 DCD 0xFFFFFFFF
ROM:1FFFF794 DCD 0xFFFFFFFF
ROM:1FFFF798 DCD 0xFFFFFFFF
ROM:1FFFF79C DCD 0xFFFFFFFF
ROM:1FFFF7A0 DCD 0xFFFFFFFF
ROM:1FFFF7A4 DCD 0xFFFFFFFF
ROM:1FFFF7A8 DCD 0xFFFFFFFF
ROM:1FFFF7AC DCD 0xFFFFFFFF
ROM:1FFFF7B0 DCD 0xFFFFFFFF
ROM:1FFFF7B4 DCD 0xFFFFFFFF
ROM:1FFFF7B8 DCD 0xFFFFFFFF
ROM:1FFFF7BC DCD 0xFFFFFFFF
ROM:1FFFF7C0 DCD 0xFFFFFFFF
ROM:1FFFF7C4 DCD 0xFFFFFFFF
ROM:1FFFF7C8 DCD 0xFFFFFFFF
ROM:1FFFF7CC DCD 0xFFFFFFFF
ROM:1FFFF7D0 DCD 0xFFFFFFFF
ROM:1FFFF7D4 DCD 0xFFFFFFFF
ROM:1FFFF7D8 DCD 0xFFFFFFFF
ROM:1FFFF7DC DCD 0xFFFFFFFF
ROM:1FFFF7E0 DCD 0xFFFF0080
ROM:1FFFF7E4 DCD 0x51F06D5
ROM:1FFFF7E8 DCD 0x5D9FF33
ROM:1FFFF7EC DCD 0x3938504D
ROM:1FFFF7F0 DCD 0x43134141
ROM:1FFFF7F4 DCD 0xFFFCF0FF
ROM:1FFFF7F8 DCD 0xFF9768
ROM:1FFFF7FC DCD 0x7F80BE41
ROM:1FFFF7FC ; ROM ends
ROM:1FFFF7FC
ROM:1FFFF7FC END
ROM:1FFFB000 ; +-------------------------------------------------------------------------+
ROM:1FFFB000 ; | This file has been generated by The Interactive Disassembler (IDA) |
ROM:1FFFB000 ; | Copyright (c) 2015 Hex-Rays, <support@hex-rays.com> |
ROM:1FFFB000 ; | License info: 48-B611-7234-BB |
ROM:1FFFB000 ; | Doskey Lee, Kingsoft Internet Security Software |
ROM:1FFFB000 ; +-------------------------------------------------------------------------+
ROM:1FFFB000 ;
ROM:1FFFB000 ; Input MD5 : BAF28889DBC26C2DB2C4288A2381ABBC
ROM:1FFFB000 ; Input CRC32 : C1A3082A
ROM:1FFFB000
ROM:1FFFB000 ; File Name : D:\desktop\test32boot\stm32_boot_entry_1fffb000.bin
ROM:1FFFB000 ; Format : Binary file
ROM:1FFFB000 ; Base Address: 0000h Range: 1FFFB000h - 1FFFF800h Loaded length: 4800h
ROM:1FFFB000
ROM:1FFFB000 ; Processor : ARM
ROM:1FFFB000 ; ARM architecture: metaarm
ROM:1FFFB000 ; Target assembler: Generic assembler for ARM
ROM:1FFFB000 ; Byte sex : Little endian
ROM:1FFFB000
ROM:1FFFB000 ; ===========================================================================
ROM:1FFFB000
ROM:1FFFB000 ; Segment type: Pure code
ROM:1FFFB000 AREA ROM, CODE, READWRITE, ALIGN=0
ROM:1FFFB000 ; ORG 0x1FFFB000
ROM:1FFFB000 CODE32
ROM:1FFFB000 dword_1FFFB000 DCD 0x20000FF0 ; DATA XREF: g_sys_init+24o
ROM:1FFFB000 ; sfe(CSTACK)
ROM:1FFFB004 DCD 0x1FFFE9C1 ; Reset_Handler
ROM:1FFFB008 DCD 0x1FFFE9CD ; NMI_Handler
ROM:1FFFB00C DCD 0x1FFFE9CD ; HardFault_Handler
ROM:1FFFB010 DCD 0x1FFFE9CD ; MemManage_Handler
ROM:1FFFB014 DCD 0x1FFFE9CD ; BusFault_Handler
ROM:1FFFB018 DCD 0x1FFFE9CD ; UsageFault_Handler
ROM:1FFFB01C DCD 0 ; Reserved
ROM:1FFFB020 DCD 0 ; Reserved
ROM:1FFFB024 DCD 0 ; Reserved
ROM:1FFFB028 DCD 0 ; Reserved
ROM:1FFFB02C DCD 0x1FFFE9CD ; SVC_Handler
ROM:1FFFB030 DCD 0x1FFFE9CD ; DebugMon_Handler
ROM:1FFFB034 DCD 0 ; Reserved
ROM:1FFFB038 DCD 0x1FFFE9CD ; PendSV_Handler
ROM:1FFFB03C DCD 0x1FFFE9CD ; SysTick_Handler
ROM:1FFFB040 DCD 0x1FFFE9CD ; WWDG_IRQHandler
ROM:1FFFB044 DCD 0x1FFFE9CD ; PVD_IRQHandler
ROM:1FFFB048 DCD 0x1FFFE9CD ; TAMPER_IRQHandler
ROM:1FFFB04C DCD 0x1FFFE9CD ; RTC_IRQHandler
ROM:1FFFB050 DCD 0x1FFFE9CD ; FLASH_IRQHandler
ROM:1FFFB054 DCD 0x1FFFE9CD ; RCC_IRQHandler
ROM:1FFFB058 DCD 0x1FFFE9CD ; EXTI0_IRQHandler
ROM:1FFFB05C DCD 0x1FFFE9CD ; EXTI1_IRQHandler
ROM:1FFFB060 DCD 0x1FFFE9CD ; EXTI2_IRQHandler
ROM:1FFFB064 DCD 0x1FFFE9CD ; EXTI3_IRQHandler
ROM:1FFFB068 DCD 0x1FFFE9CD ; EXTI4_IRQHandler
ROM:1FFFB06C DCD 0x1FFFE9CD ; DMA1_Channel1_IRQHandler
ROM:1FFFB070 DCD 0x1FFFE9CD ; DMA1_Channel2_IRQHandler
ROM:1FFFB074 DCD 0x1FFFE9CD ; DMA1_Channel3_IRQHandler
ROM:1FFFB078 DCD 0x1FFFE9CD ; DMA1_Channel4_IRQHandler
ROM:1FFFB07C DCD 0x1FFFE9CD ; DMA1_Channel5_IRQHandler
ROM:1FFFB080 DCD 0x1FFFE9CD ; DMA1_Channel6_IRQHandler
ROM:1FFFB084 DCD 0x1FFFE9CD ; DMA1_Channel7_IRQHandler
ROM:1FFFB088 DCD 0x1FFFE9CD ; ADC1_2_IRQHandler
ROM:1FFFB08C DCD 0x1FFFE9CD ; CAN1_TX_IRQHandler
ROM:1FFFB090 DCD 0x1FFFE9CD ; CAN1_RX0_IRQHandler
ROM:1FFFB094 DCD 0x1FFFE9CD ; CAN1_RX1_IRQHandler
ROM:1FFFB098 DCD 0x1FFFE9CD ; CAN1_SCE_IRQHandler
ROM:1FFFB09C DCD 0x1FFFE9CD ; EXTI9_5_IRQHandler
ROM:1FFFB0A0 DCD 0x1FFFE9CD ; TIM1_BRK_IRQHandler
ROM:1FFFB0A4 DCD 0x1FFFE9CD ; TIM1_UP_IRQHandler
ROM:1FFFB0A8 DCD 0x1FFFE9CD ; TIM1_TRG_COM_IRQHandler
ROM:1FFFB0AC DCD 0x1FFFE9CD ; TIM1_CC_IRQHandler
ROM:1FFFB0B0 DCD 0x1FFFE9CD ; TIM2_IRQHandler
ROM:1FFFB0B4 DCD 0x1FFFE9CD ; TIM3_IRQHandler
ROM:1FFFB0B8 DCD 0x1FFFE9CD ; TIM4_IRQHandler
ROM:1FFFB0BC DCD 0x1FFFE9CD ; I2C1_EV_IRQHandler
ROM:1FFFB0C0 DCD 0x1FFFE9CD ; I2C1_ER_IRQHandler
ROM:1FFFB0C4 DCD 0x1FFFE9CD ; I2C2_EV_IRQHandler
ROM:1FFFB0C8 DCD 0x1FFFE9CD ; I2C2_ER_IRQHandler
ROM:1FFFB0CC DCD 0x1FFFE9CD ; SPI1_IRQHandler
ROM:1FFFB0D0 DCD 0x1FFFE9CD ; SPI2_IRQHandler
ROM:1FFFB0D4 DCD 0x1FFFE9CD ; USART1_IRQHandler
ROM:1FFFB0D8 DCD 0x1FFFE9CD ; USART2_IRQHandler
ROM:1FFFB0DC DCD 0x1FFFE9CD ; USART3_IRQHandler
ROM:1FFFB0E0 DCD 0x1FFFE9CD ; EXTI15_10_IRQHandler
ROM:1FFFB0E4 DCD 0x1FFFE9CD ; RTCAlarm_IRQHandler
ROM:1FFFB0E8 DCD 0x1FFFE9CD ; OTG_FS_WKUP_IRQHandler
ROM:1FFFB0EC DCD 0x1FFFE9CD ; Reserved
ROM:1FFFB0F0 DCD 0x1FFFE9CD ; Reserved
ROM:1FFFB0F4 DCD 0x1FFFE9CD ; Reserved
ROM:1FFFB0F8 DCD 0x1FFFE9CD ; Reserved
ROM:1FFFB0FC DCD 0x1FFFE9CD ; Reserved
ROM:1FFFB100 DCD 0x1FFFE9CD ; Reserved
ROM:1FFFB104 DCD 0x1FFFE9CD ; Reserved
ROM:1FFFB108 DCD 0x1FFFE9CD ; TIM5_IRQHandler
ROM:1FFFB10C DCD 0x1FFFE9CD ; SPI3_IRQHandler
ROM:1FFFB110 DCD 0x1FFFE9CD ; UART4_IRQHandler
ROM:1FFFB114 DCD 0x1FFFE9CD ; UART5_IRQHandler
ROM:1FFFB118 DCD 0x1FFFE9CD ; TIM6_IRQHandler
ROM:1FFFB11C DCD 0x1FFFE9CD ; TIM7_IRQHandler
ROM:1FFFB120 DCD 0x1FFFE9CD ; DMA2_Channel1_IRQHandler
ROM:1FFFB124 DCD 0x1FFFE9CD ; DMA2_Channel2_IRQHandler
ROM:1FFFB128 DCD 0x1FFFE9CD ; DMA2_Channel3_IRQHandler
ROM:1FFFB12C DCD 0x1FFFE9CD ; DMA2_Channel4_IRQHandler
ROM:1FFFB130 DCD 0x1FFFE9CD ; DMA2_Channel5_IRQHandler
ROM:1FFFB134 DCD 0x1FFFE9CD ; ETH_IRQHandler
ROM:1FFFB138 DCD 0x1FFFE9CD ; ETH_WKUP_IRQHandler
ROM:1FFFB13C DCD 0x1FFFE9CD ; CAN2_TX_IRQHandler
ROM:1FFFB140 DCD 0x1FFFE9CD ; CAN2_RX0_IRQHandler
ROM:1FFFB144 DCD 0x1FFFE9CD ; CAN2_RX1_IRQHandler
ROM:1FFFB148 DCD 0x1FFFE9CD ; CAN2_SCE_IRQHandler
ROM:1FFFB14C DCD 0x1FFFE9D1 ; OTG_FS_IRQHandler
ROM:1FFFB150 CODE16
ROM:1FFFB150
ROM:1FFFB150 ; =============== S U B R O U T I N E =======================================
ROM:1FFFB150
ROM:1FFFB150
ROM:1FFFB150 trigger_canbus ; CODE XREF: g_sys_init+8Ap
ROM:1FFFB150
ROM:1FFFB150 ; FUNCTION CHUNK AT ROM:1FFFB8FC SIZE 00000044 BYTES
ROM:1FFFB150
ROM:1FFFB150 LDR.W R0, =0x40021010 ; 复位和时钟控制(RCC)
ROM:1FFFB154 LDR R1, [R0,#8]
ROM:1FFFB156 ORR.W R1, R1, #8
ROM:1FFFB15A STR R1, [R0,#8]
ROM:1FFFB15C LDR R1, [R0,#8]
ROM:1FFFB15E ORR.W R1, R1, #1
ROM:1FFFB162 STR R1, [R0,#8]
ROM:1FFFB164 LDR R1, [R0,#0xC]
ROM:1FFFB166 ORR.W R1, R1, #0x4000000
ROM:1FFFB16A STR R1, [R0,#0xC]
ROM:1FFFB16C LDR R1, [R0,#0xC]
ROM:1FFFB16E ORR.W R1, R1, #0x2000000
ROM:1FFFB172 STR R1, [R0,#0xC]
ROM:1FFFB174 LDR.W R1, =0x40010004 ; AFIO
ROM:1FFFB178 LDR R2, [R1]
ROM:1FFFB17A ORR.W R2, R2, #0x400000
ROM:1FFFB17E STR R2, [R1]
ROM:1FFFB180 LDR.W R1, =0x40010C00 ; GPIO端口B
ROM:1FFFB184 LDR.W R2, =0x4B844444
ROM:1FFFB188 STR R2, [R1]
ROM:1FFFB18A LDR R1, [R0]
ROM:1FFFB18C ORR.W R1, R1, #0x4000000
ROM:1FFFB190 STR R1, [R0]
ROM:1FFFB192 LDR R1, [R0]
ROM:1FFFB194 BIC.W R1, R1, #0x4000000
ROM:1FFFB198 STR R1, [R0]
ROM:1FFFB19A LDR R1, [R0]
ROM:1FFFB19C ORR.W R1, R1, #0x2000000
ROM:1FFFB1A0 STR R1, [R0]
ROM:1FFFB1A2 LDR R1, [R0]
ROM:1FFFB1A4 BIC.W R1, R1, #0x2000000
ROM:1FFFB1A8 STR R1, [R0]
ROM:1FFFB1AA B loc_1FFFB8FC ; bxCAN1
ROM:1FFFB1AA ; End of function trigger_canbus
ROM:1FFFB1AA
ROM:1FFFB1AC
ROM:1FFFB1AC ; =============== S U B R O U T I N E =======================================
ROM:1FFFB1AC
ROM:1FFFB1AC
ROM:1FFFB1AC check_canbus2 ; CODE XREF: start_work:can2_workp
ROM:1FFFB1AC
ROM:1FFFB1AC var_148 = -0x148
ROM:1FFFB1AC var_144 = -0x144
ROM:1FFFB1AC var_143 = -0x143
ROM:1FFFB1AC var_142 = -0x142
ROM:1FFFB1AC var_141 = -0x141
ROM:1FFFB1AC var_140 = -0x140
ROM:1FFFB1AC var_13C = -0x13C
ROM:1FFFB1AC var_138 = -0x138
ROM:1FFFB1AC var_134 = -0x134
ROM:1FFFB1AC var_124 = -0x124
ROM:1FFFB1AC
ROM:1FFFB1AC ; FUNCTION CHUNK AT ROM:1FFFB610 SIZE 00000014 BYTES
ROM:1FFFB1AC ; FUNCTION CHUNK AT ROM:1FFFB62C SIZE 0000001E BYTES
ROM:1FFFB1AC
ROM:1FFFB1AC PUSH.W {R4-R11,LR}
ROM:1FFFB1B0 SUB SP, SP, #0x124
ROM:1FFFB1B2 ADD R0, SP, #0x148+var_134
ROM:1FFFB1B4 ADR.W R1, sub_1FFFBAB8
ROM:1FFFB1B8 MOVS R2, #0x10
ROM:1FFFB1BA BL memcpy ; N 当用两个补码表示的带符号数进行运算时,N=1表示运算的结果为负数;N=0表示运算的结果为正数或零.
ROM:1FFFB1BA ; Z Z=1表示运算的结果为零,Z=0表示运算的结果非零。
ROM:1FFFB1BA ; C 可以有4种方法设置C的值:
ROM:1FFFB1BA ; 加法运算(包括CMN):当运算结果产生了进位时(无符号数溢出),C=1,否则C=0。
ROM:1FFFB1BA ; 减法运算(包括CMP):当运算时产生了借位时(无符号数溢出),C=0,否则C=1。
ROM:1FFFB1BA ; 对于包含移位操作的非加/减运算指令,C为移出值的最后一位。
ROM:1FFFB1BA ; 对于其它的非加/减运算指令,C的值通常不会改变。
ROM:1FFFB1BA ; V 可以有2种方法设置V的值:
ROM:1FFFB1BA ; 对于加减法运算指令,当操作数和运算结果为二进制的补码表示的带符号数时,V=1表示符号位溢出
ROM:1FFFB1BA ; 对于其它的非加/减运算指令,V的值通常不会改变。
ROM:1FFFB1BA ;
ROM:1FFFB1BA ; 0000 = EQ - Z set (equal,相等)
ROM:1FFFB1BA ; 0001 = NE - Z clear (not equal,不相等)
ROM:1FFFB1BA ; 0010 = CS - C set (unsigned higher or same,无符号大于或等于)
ROM:1FFFB1BA ; 0011 = CC - C clear (unsigned lower,无符号小于)
ROM:1FFFB1BA ; 0100 = MI - N set (negative,负数)
ROM:1FFFB1BA ; 0101 = PL - N clear (positive or zero,正数或零)
ROM:1FFFB1BA ; 0110 = VS - V set (overflow,溢出)
ROM:1FFFB1BA ; 0111 = VC - V clear (no overflow,未溢出)
ROM:1FFFB1BA ; 1000 = HI - C set and Z clear (unsigned higher,无符号大于)
ROM:1FFFB1BA ; 1001 = LS - C clear or Z set (unsigned lower or same,无符号小于或等于)
ROM:1FFFB1BA ; 1010 = GE - N set and V set, or N clear and V clear (greater or equal,带符号大于或等于)
ROM:1FFFB1BA ; 1011 = LT - N set and V clear, or N clear and V set (less than,带符号小于)
ROM:1FFFB1BA ; 1100 = GT - Z clear, and either N set and V set, or N clear and V clear (greater than,带符号大于)
ROM:1FFFB1BA ; 1101 = LE - Z set, or N set and V clear, or N clear and V set (less than or equal,带符号小于或等于)
ROM:1FFFB1BA ; 1110 = AL - always
ROM:1FFFB1BA ; 1111 = NV - never
ROM:1FFFB1BA ;
ROM:1FFFB1BE MOVS R0, #0
ROM:1FFFB1C0 STRB.W R0, [SP,#0x148+var_141]
ROM:1FFFB1C4 MOVS R0, #1
ROM:1FFFB1C6 STRB.W R0, [SP,#0x148+var_138]
ROM:1FFFB1CA MOVS R0, #0
ROM:1FFFB1CC STRB.W R0, [SP,#0x148+var_143]
ROM:1FFFB1D0 STRB.W R0, [SP,#0x148+var_144]
ROM:1FFFB1D4 STRB.W R0, [SP,#0x148+var_142]
ROM:1FFFB1D8 STR R0, [SP,#0x148+var_148]
ROM:1FFFB1DA STR R0, [SP,#0x148+var_140]
ROM:1FFFB1DC STR R0, [SP,#0x148+var_13C]
ROM:1FFFB1DE BL sub_1FFFB662
ROM:1FFFB1E2 CMP R0, #1
ROM:1FFFB1E4 IT EQ
ROM:1FFFB1E6 BLEQ sys_reset
ROM:1FFFB1EA BL disable_irq
ROM:1FFFB1EE LDR.W R4, =0x20000C34
ROM:1FFFB1F2 MOVS R0, #0x79
ROM:1FFFB1F4 BL sub_1FFFB654
ROM:1FFFB1F8 ADD.W R9, SP, #0x148+var_124
ROM:1FFFB1FC LDR.W R6, =0x4002100C
ROM:1FFFB200 LDR.W R10, =0x4002200C
ROM:1FFFB204 MOVW R8, #0x5FFF
ROM:1FFFB208 LDR.W R5, =0x20000164
ROM:1FFFB20C B check_canbus ; 喂狗
ROM:1FFFB20E ; ---------------------------------------------------------------------------
ROM:1FFFB20E
ROM:1FFFB20E loc_1FFFB20E ; CODE XREF: check_canbus2+10Cj
ROM:1FFFB20E BL sub_1FFFB624
ROM:1FFFB212 BL loc_1FFFB61C
ROM:1FFFB216 ; ---------------------------------------------------------------------------
ROM:1FFFB216 STRB.W R0, [SP,#0x148+var_143]
ROM:1FFFB21A LDRB.W R0, [SP,#0x148+var_143]
ROM:1FFFB21E CMP R0, #2
ROM:1FFFB220 ITT NE
ROM:1FFFB222 LDRNEB.W R0, [SP,#0x148+var_143]
ROM:1FFFB226 CMPNE R0, #3
ROM:1FFFB228 BNE.W loc_1FFFB5C6
ROM:1FFFB22C BL sub_1FFFB65A
ROM:1FFFB230 BL RCC_init
ROM:1FFFB234 MOVS R0, #0x14
ROM:1FFFB236 STR R0, [R6,#8]
ROM:1FFFB238 MOV.W R0, #0xFFFFFFFF
ROM:1FFFB23C STR R0, [R6]
ROM:1FFFB23E MOVS R0, #0
ROM:1FFFB240 STR R0, [R6]
ROM:1FFFB242 MOV.W R0, #0xFFFFFFFF
ROM:1FFFB246 STR R0, [R6,#4]
ROM:1FFFB248 MOVS R0, #0
ROM:1FFFB24A STR R0, [R6,#4]
ROM:1FFFB24C STR R0, [R6,#0xC]
ROM:1FFFB24E STR R0, [R6,#0x10]
ROM:1FFFB250 LDR.W R0, =0xE000E010
ROM:1FFFB254 MOVS R1, #0
ROM:1FFFB256 STR R1, [R0]
ROM:1FFFB258 BL enable_irq
ROM:1FFFB25C LDR R0, [SP,#0x148+var_140]
ROM:1FFFB25E LDR R7, [R0,#4]
ROM:1FFFB260 LDR R0, [SP,#0x148+var_140]
ROM:1FFFB262 LDR R0, [R0]
ROM:1FFFB264 BL set_MSP
ROM:1FFFB268 BLX R7
ROM:1FFFB26A
ROM:1FFFB26A check_canbus ; CODE XREF: check_canbus2+60j
ROM:1FFFB26A ; check_canbus2+142j ...
ROM:1FFFB26A LDR.W R0, =0x40003000 ; 喂狗
ROM:1FFFB26E MOVW R1, #0xAAAA
ROM:1FFFB272 STR R1, [R0]
ROM:1FFFB274
ROM:1FFFB274 loc_1FFFB274 ; CODE XREF: check_canbus2+CEj
ROM:1FFFB274 BL get_can_bus
ROM:1FFFB278 CMP R0, #0
ROM:1FFFB27A BEQ loc_1FFFB274
ROM:1FFFB27C MOV R0, R5
ROM:1FFFB27E BL sub_1FFFB844
ROM:1FFFB282 STRB.W R0, [SP,#0x148+var_138]
ROM:1FFFB286 LDR R7, [R5]
ROM:1FFFB288 STRB.W R7, [SP,#0x148+var_141]
ROM:1FFFB28C BL sub_1FFFB8EC
ROM:1FFFB290 CMP R0, #1
ROM:1FFFB292 ITTEE NE
ROM:1FFFB294 LDRNEB.W R0, [SP,#0x148+var_138]
ROM:1FFFB298 CMPNE R0, #1
ROM:1FFFB29A MOVEQ R0, #0x55
ROM:1FFFB29C STREQB.W R0, [SP,#0x148+var_141]
ROM:1FFFB2A0 LDRB.W R0, [SP,#0x148+var_141]
ROM:1FFFB2A4 CBZ R0, loc_1FFFB2E0
ROM:1FFFB2A6 CMP R0, #1
ROM:1FFFB2A8 BEQ loc_1FFFB300
ROM:1FFFB2AA CMP R0, #2
ROM:1FFFB2AC BEQ loc_1FFFB31A
ROM:1FFFB2AE CMP R0, #3
ROM:1FFFB2B0 BEQ loc_1FFFB332
ROM:1FFFB2B2 CMP R0, #0x11
ROM:1FFFB2B4 BEQ loc_1FFFB366
ROM:1FFFB2B6 CMP R0, #0x21
ROM:1FFFB2B8 BEQ loc_1FFFB20E
ROM:1FFFB2BA CMP R0, #0x31
ROM:1FFFB2BC BEQ.W loc_1FFFB3D0
ROM:1FFFB2C0 CMP R0, #0x43
ROM:1FFFB2C2 BEQ.W loc_1FFFB4DA
ROM:1FFFB2C6 CMP R0, #0x63
ROM:1FFFB2C8 BEQ.W loc_1FFFB52A
ROM:1FFFB2CC CMP R0, #0x73
ROM:1FFFB2CE BEQ.W loc_1FFFB596
ROM:1FFFB2D2 CMP R0, #0x82
ROM:1FFFB2D4 BEQ.W loc_1FFFB5BE
ROM:1FFFB2D8 CMP R0, #0x92
ROM:1FFFB2DA BEQ.W loc_1FFFB5E2
ROM:1FFFB2DE B loc_1FFFB5FA
ROM:1FFFB2E0 ; ---------------------------------------------------------------------------
ROM:1FFFB2E0
ROM:1FFFB2E0 loc_1FFFB2E0 ; CODE XREF: check_canbus2+F8j
ROM:1FFFB2E0 STR R0, [R4]
ROM:1FFFB2E2 MOVS R0, #1
ROM:1FFFB2E4 STRB R0, [R4,#0xA]
ROM:1FFFB2E6 MOVS R0, #0
ROM:1FFFB2E8
ROM:1FFFB2E8 loc_1FFFB2E8 ; CODE XREF: check_canbus2+152j
ROM:1FFFB2E8 STR R0, [SP,#0x148+var_148]
ROM:1FFFB2EA LDR R0, [SP,#0x148+var_148]
ROM:1FFFB2EC CMP R0, #0x10
ROM:1FFFB2EE BCS check_canbus ; 喂狗
ROM:1FFFB2F0 LDR R0, [SP,#0x148+var_148]
ROM:1FFFB2F2 ADD R1, SP, #0x148+var_134
ROM:1FFFB2F4 LDRB R0, [R0,R1]
ROM:1FFFB2F6 BL sub_1FFFB60A
ROM:1FFFB2FA LDR R0, [SP,#0x148+var_148]
ROM:1FFFB2FC ADDS R0, R0, #1
ROM:1FFFB2FE B loc_1FFFB2E8
ROM:1FFFB300 ; ---------------------------------------------------------------------------
ROM:1FFFB300
ROM:1FFFB300 loc_1FFFB300 ; CODE XREF: check_canbus2+FCj
ROM:1FFFB300 STR R0, [R4]
ROM:1FFFB302 BL sub_1FFFB65A
ROM:1FFFB306 MOVS R0, #1
ROM:1FFFB308 STRB R0, [R4,#0xA]
ROM:1FFFB30A MOVS R0, #0x20
ROM:1FFFB30C BL sub_1FFFB60A
ROM:1FFFB310 MOVS R0, #2
ROM:1FFFB312 STRB R0, [R4,#0xA]
ROM:1FFFB314 MOVS R0, #0
ROM:1FFFB316 STRB R0, [R4,#0xB]
ROM:1FFFB318 B loc_1FFFB328
ROM:1FFFB31A ; ---------------------------------------------------------------------------
ROM:1FFFB31A
ROM:1FFFB31A loc_1FFFB31A ; CODE XREF: check_canbus2+100j
ROM:1FFFB31A BL sub_1FFFB654
ROM:1FFFB31E MOVS R0, #2
ROM:1FFFB320 STRB R0, [R4,#0xA]
ROM:1FFFB322 MOVS R0, #4
ROM:1FFFB324 STRB R0, [R4,#0xB]
ROM:1FFFB326 MOVS R0, #0x18
ROM:1FFFB328
ROM:1FFFB328 loc_1FFFB328 ; CODE XREF: check_canbus2+16Cj
ROM:1FFFB328 STRB R0, [R4,#0xC]
ROM:1FFFB32A MOV R0, R4
ROM:1FFFB32C BL sub_1FFFB7C2
ROM:1FFFB330 B loc_1FFFB3CA
ROM:1FFFB332 ; ---------------------------------------------------------------------------
ROM:1FFFB332
ROM:1FFFB332 loc_1FFFB332 ; CODE XREF: check_canbus2+104j
ROM:1FFFB332 STR R0, [R4]
ROM:1FFFB334 MOVS R0, #1
ROM:1FFFB336 STRB R0, [R4,#0xA]
ROM:1FFFB338 BL loc_1FFFB62C
ROM:1FFFB33C ; ---------------------------------------------------------------------------
ROM:1FFFB33C CMP R0, #5
ROM:1FFFB33E BCS.W loc_1FFFB5C6
ROM:1FFFB342 BL sub_1FFFB65A
ROM:1FFFB346 LDRB.W R0, [SP,#0x148+var_144]
ROM:1FFFB34A BL loc_1FFFB764
ROM:1FFFB34E MOVS R0, #0
ROM:1FFFB350 STR R0, [SP,#0x148+var_148]
ROM:1FFFB352 MOVW R1, #0xFFFF
ROM:1FFFB356
ROM:1FFFB356 loc_1FFFB356 ; CODE XREF: check_canbus2+1B6j
ROM:1FFFB356 LDR R0, [SP,#0x148+var_148]
ROM:1FFFB358 CMP R0, R1
ROM:1FFFB35A ITTT CC
ROM:1FFFB35C LDRCC R0, [SP,#0x148+var_148]
ROM:1FFFB35E ADDCC R0, R0, #1
ROM:1FFFB360 STRCC R0, [SP,#0x148+var_148]
ROM:1FFFB362 BCC loc_1FFFB356
ROM:1FFFB364 B loc_1FFFB522
ROM:1FFFB366 ; ---------------------------------------------------------------------------
ROM:1FFFB366
ROM:1FFFB366 loc_1FFFB366 ; CODE XREF: check_canbus2+108j
ROM:1FFFB366 BL sub_1FFFB624
ROM:1FFFB36A BL loc_1FFFB61C
ROM:1FFFB36E ; ---------------------------------------------------------------------------
ROM:1FFFB36E BL loc_1FFFB610
ROM:1FFFB372 ; ---------------------------------------------------------------------------
ROM:1FFFB372 BEQ loc_1FFFB3DC
ROM:1FFFB374 BL sub_1FFFB65A
ROM:1FFFB378 LDRB R0, [R5,#0xF]
ROM:1FFFB37A BL loc_1FFFB62E
ROM:1FFFB37E ; ---------------------------------------------------------------------------
ROM:1FFFB37E MOVS R1, #0
ROM:1FFFB380 STRB.W R1, [SP,#0x148+var_142]
ROM:1FFFB384 ADDS R0, R0, #1
ROM:1FFFB386 B loc_1FFFB3C2
ROM:1FFFB388 ; ---------------------------------------------------------------------------
ROM:1FFFB388
ROM:1FFFB388 loc_1FFFB388 ; CODE XREF: check_canbus2+21Cj
ROM:1FFFB388 LDRB.W R0, [SP,#0x148+var_142]
ROM:1FFFB38C ADDS R1, R0, #1
ROM:1FFFB38E STRB.W R1, [SP,#0x148+var_142]
ROM:1FFFB392 LDR R1, [SP,#0x148+var_140]
ROM:1FFFB394 ADDS R2, R1, #1
ROM:1FFFB396 STR R2, [SP,#0x148+var_140]
ROM:1FFFB398 ADDS R0, R0, R4
ROM:1FFFB39A LDRB R1, [R1]
ROM:1FFFB39C STRB R1, [R0,#0xB]
ROM:1FFFB39E LDRB.W R0, [SP,#0x148+var_142]
ROM:1FFFB3A2 CMP R0, #8
ROM:1FFFB3A4 ITT NE
ROM:1FFFB3A6 LDRNE R0, [SP,#0x148+var_148]
ROM:1FFFB3A8 CMPNE R0, #1
ROM:1FFFB3AA BNE loc_1FFFB3BE
ROM:1FFFB3AC LDRB.W R0, [SP,#0x148+var_142]
ROM:1FFFB3B0 STRB R0, [R4,#0xA]
ROM:1FFFB3B2 MOV R0, R4
ROM:1FFFB3B4 BL sub_1FFFB7C2
ROM:1FFFB3B8 MOVS R0, #0
ROM:1FFFB3BA STRB.W R0, [SP,#0x148+var_142]
ROM:1FFFB3BE
ROM:1FFFB3BE loc_1FFFB3BE ; CODE XREF: check_canbus2+1FEj
ROM:1FFFB3BE LDR R0, [SP,#0x148+var_148]
ROM:1FFFB3C0 SUBS R0, R0, #1
ROM:1FFFB3C2
ROM:1FFFB3C2 loc_1FFFB3C2 ; CODE XREF: check_canbus2+1DAj
ROM:1FFFB3C2 STR R0, [SP,#0x148+var_148]
ROM:1FFFB3C4 LDR R0, [SP,#0x148+var_148]
ROM:1FFFB3C6 CMP R0, #0
ROM:1FFFB3C8 BNE loc_1FFFB388
ROM:1FFFB3CA
ROM:1FFFB3CA loc_1FFFB3CA ; CODE XREF: check_canbus2+184j
ROM:1FFFB3CA MOVS R0, #1
ROM:1FFFB3CC STRB R0, [R4,#0xA]
ROM:1FFFB3CE B loc_1FFFB522
ROM:1FFFB3D0 ; ---------------------------------------------------------------------------
ROM:1FFFB3D0
ROM:1FFFB3D0 loc_1FFFB3D0 ; CODE XREF: check_canbus2+110j
ROM:1FFFB3D0 BL sub_1FFFB624
ROM:1FFFB3D4 BL loc_1FFFB61C
ROM:1FFFB3D8 ; ---------------------------------------------------------------------------
ROM:1FFFB3D8 BL loc_1FFFB610
ROM:1FFFB3DC ; ---------------------------------------------------------------------------
ROM:1FFFB3DC
ROM:1FFFB3DC loc_1FFFB3DC ; CODE XREF: check_canbus2+1C6j
ROM:1FFFB3DC BEQ.W loc_1FFFB5C6
ROM:1FFFB3E0 BL sub_1FFFB65A
ROM:1FFFB3E4 LDRB R0, [R5,#0xF]
ROM:1FFFB3E6 BL loc_1FFFB62E
ROM:1FFFB3EA ; ---------------------------------------------------------------------------
ROM:1FFFB3EA ADDS R7, R0, #1
ROM:1FFFB3EC BL sub_1FFFB602
ROM:1FFFB3F0 CMP R0, #0
ROM:1FFFB3F2 BNE.W loc_1FFFB5C6
ROM:1FFFB3F6 LDRB.W R0, [SP,#0x148+var_143]
ROM:1FFFB3FA CMP R0, #2
ROM:1FFFB3FC BNE loc_1FFFB432
ROM:1FFFB3FE ANDS.W R0, R7, #3
ROM:1FFFB402 ITT NE
ROM:1FFFB404 ANDNE.W R0, R7, #0xFC
ROM:1FFFB408 ADDNE R7, R0, #4
ROM:1FFFB40A BL FLASH_UnlockBank1
ROM:1FFFB40E STR R7, [SP,#0x148+var_148]
ROM:1FFFB410 B loc_1FFFB42C
ROM:1FFFB412 ; ---------------------------------------------------------------------------
ROM:1FFFB412
ROM:1FFFB412 loc_1FFFB412 ; CODE XREF: check_canbus2+284j
ROM:1FFFB412 LDR R0, [SP,#0x148+var_148]
ROM:1FFFB414 SUB.W R0, R9, R0
ROM:1FFFB418 LDR R1, [R7,R0]
ROM:1FFFB41A LDR R0, [SP,#0x148+var_140]
ROM:1FFFB41C LDR R2, [SP,#0x148+var_148]
ROM:1FFFB41E SUBS R0, R0, R2
ROM:1FFFB420 ADDS R0, R7, R0
ROM:1FFFB422 BL FLASH_ProgramWord
ROM:1FFFB426 LDR R0, [SP,#0x148+var_148]
ROM:1FFFB428 SUBS R0, R0, #4
ROM:1FFFB42A STR R0, [SP,#0x148+var_148]
ROM:1FFFB42C
ROM:1FFFB42C loc_1FFFB42C ; CODE XREF: check_canbus2+264j
ROM:1FFFB42C LDR R0, [SP,#0x148+var_148]
ROM:1FFFB42E CMP R0, #0
ROM:1FFFB430 BNE loc_1FFFB412
ROM:1FFFB432
ROM:1FFFB432 loc_1FFFB432 ; CODE XREF: check_canbus2+250j
ROM:1FFFB432 LDRB.W R0, [SP,#0x148+var_143]
ROM:1FFFB436 CMP R0, #3
ROM:1FFFB438 BNE loc_1FFFB466
ROM:1FFFB43A ANDS.W R0, R7, #3
ROM:1FFFB43E ITT NE
ROM:1FFFB440 ANDNE.W R0, R7, #0xFC
ROM:1FFFB444 ADDNE R7, R0, #4
ROM:1FFFB446 STR R7, [SP,#0x148+var_148]
ROM:1FFFB448 B loc_1FFFB460
ROM:1FFFB44A ; ---------------------------------------------------------------------------
ROM:1FFFB44A
ROM:1FFFB44A loc_1FFFB44A ; CODE XREF: check_canbus2+2B8j
ROM:1FFFB44A LDR R0, [SP,#0x148+var_140]
ROM:1FFFB44C LDR R1, [SP,#0x148+var_148]
ROM:1FFFB44E SUBS R0, R0, R1
ROM:1FFFB450 LDR R1, [SP,#0x148+var_148]
ROM:1FFFB452 SUB.W R1, R9, R1
ROM:1FFFB456 LDR R1, [R7,R1]
ROM:1FFFB458 STR R1, [R7,R0]
ROM:1FFFB45A LDR R0, [SP,#0x148+var_148]
ROM:1FFFB45C SUBS R0, R0, #4
ROM:1FFFB45E STR R0, [SP,#0x148+var_148]
ROM:1FFFB460
ROM:1FFFB460 loc_1FFFB460 ; CODE XREF: check_canbus2+29Cj
ROM:1FFFB460 LDR R0, [SP,#0x148+var_148]
ROM:1FFFB462 CMP R0, #0
ROM:1FFFB464 BNE loc_1FFFB44A
ROM:1FFFB466
ROM:1FFFB466 loc_1FFFB466 ; CODE XREF: check_canbus2+28Cj
ROM:1FFFB466 LDRB.W R0, [SP,#0x148+var_143]
ROM:1FFFB46A CMP R0, #4
ROM:1FFFB46C ITTT EQ
ROM:1FFFB46E LDREQ R0, [SP,#0x148+var_140]
ROM:1FFFB470 LDREQ.W R1, =0x1FFFF800
ROM:1FFFB474 CMPEQ R0, R1
ROM:1FFFB476 BNE loc_1FFFB522
ROM:1FFFB478 LSLS R0, R7, #0x1F
ROM:1FFFB47A ITT MI
ROM:1FFFB47C ANDMI.W R0, R7, #0xFE
ROM:1FFFB480 ADDMI R7, R0, #2
ROM:1FFFB482 BL sub_1FFFC046
ROM:1FFFB486 BL FLASH_UnlockBank1
ROM:1FFFB48A BL sub_1FFFC010
ROM:1FFFB48E LDR.W R0, [R10,#4]
ROM:1FFFB492 ORR.W R0, R0, #0x10
ROM:1FFFB496 STR.W R0, [R10,#4]
ROM:1FFFB49A BL FLASH_WaitForLastOperation
ROM:1FFFB49E ; ---------------------------------------------------------------------------
ROM:1FFFB49E STR R7, [SP,#0x148+var_148]
ROM:1FFFB4A0 B loc_1FFFB4BE
ROM:1FFFB4A2 ; ---------------------------------------------------------------------------
ROM:1FFFB4A2
ROM:1FFFB4A2 loc_1FFFB4A2 ; CODE XREF: check_canbus2+316j
ROM:1FFFB4A2 LDR R0, [SP,#0x148+var_148]
ROM:1FFFB4A4 SUB.W R0, R9, R0
ROM:1FFFB4A8 LDRH R0, [R7,R0]
ROM:1FFFB4AA UXTB R0, R0
ROM:1FFFB4AC LDR R1, [SP,#0x148+var_140]
ROM:1FFFB4AE LDR R2, [SP,#0x148+var_148]
ROM:1FFFB4B0 SUBS R1, R1, R2
ROM:1FFFB4B2 STRH R0, [R7,R1]
ROM:1FFFB4B4 BL FLASH_WaitForLastOperation
ROM:1FFFB4B8 ; ---------------------------------------------------------------------------
ROM:1FFFB4B8 LDR R0, [SP,#0x148+var_148]
ROM:1FFFB4BA SUBS R0, R0, #2
ROM:1FFFB4BC STR R0, [SP,#0x148+var_148]
ROM:1FFFB4BE
ROM:1FFFB4BE loc_1FFFB4BE ; CODE XREF: check_canbus2+2F4j
ROM:1FFFB4BE LDR R0, [SP,#0x148+var_148]
ROM:1FFFB4C0 CMP R0, #0
ROM:1FFFB4C2 BNE loc_1FFFB4A2
ROM:1FFFB4C4 LDR.W R0, [R10,#4]
ROM:1FFFB4C8 BIC.W R0, R0, #0x10
ROM:1FFFB4CC STR.W R0, [R10,#4]
ROM:1FFFB4D0 BL sub_1FFFB65A
ROM:1FFFB4D4 BL sys_reset
ROM:1FFFB4D8 B loc_1FFFB522
ROM:1FFFB4DA ; ---------------------------------------------------------------------------
ROM:1FFFB4DA
ROM:1FFFB4DA loc_1FFFB4DA ; CODE XREF: check_canbus2+116j
ROM:1FFFB4DA BL sub_1FFFB64A
ROM:1FFFB4DE CMP R0, #1
ROM:1FFFB4E0 BEQ loc_1FFFB5C6
ROM:1FFFB4E2 BL sub_1FFFB65A
ROM:1FFFB4E6 BL loc_1FFFB62C
ROM:1FFFB4EA ; ---------------------------------------------------------------------------
ROM:1FFFB4EA CMP R0, #0xFF
ROM:1FFFB4EC BNE loc_1FFFB4F4
ROM:1FFFB4EE BL sub_1FFFC0C6
ROM:1FFFB4F2 B loc_1FFFB522
ROM:1FFFB4F4 ; ---------------------------------------------------------------------------
ROM:1FFFB4F4
ROM:1FFFB4F4 loc_1FFFB4F4 ; CODE XREF: check_canbus2+340j
ROM:1FFFB4F4 LDRB.W R11, [SP,#0x148+var_144]
ROM:1FFFB4F8 MOV R7, R9
ROM:1FFFB4FA BL sub_1FFFB602
ROM:1FFFB4FE CMP R0, #0
ROM:1FFFB500 BNE loc_1FFFB5C6
ROM:1FFFB502 ADD.W R0, R11, #1
ROM:1FFFB506 B loc_1FFFB51A
ROM:1FFFB508 ; ---------------------------------------------------------------------------
ROM:1FFFB508
ROM:1FFFB508 loc_1FFFB508 ; CODE XREF: check_canbus2+374j
ROM:1FFFB508 LDRB.W R0, [R7],#1
ROM:1FFFB50C LSLS R0, R0, #0xB
ROM:1FFFB50E ADD.W R0, R0, #0x8000000
ROM:1FFFB512 BL FLASH_ErasePage
ROM:1FFFB516 LDR R0, [SP,#0x148+var_148]
ROM:1FFFB518 SUBS R0, R0, #1
ROM:1FFFB51A
ROM:1FFFB51A loc_1FFFB51A ; CODE XREF: check_canbus2+35Aj
ROM:1FFFB51A STR R0, [SP,#0x148+var_148]
ROM:1FFFB51C LDR R0, [SP,#0x148+var_148]
ROM:1FFFB51E CMP R0, #0
ROM:1FFFB520 BNE loc_1FFFB508
ROM:1FFFB522
ROM:1FFFB522 loc_1FFFB522 ; CODE XREF: check_canbus2+1B8j
ROM:1FFFB522 ; check_canbus2+222j ...
ROM:1FFFB522 MOVS R0, #0x79
ROM:1FFFB524
ROM:1FFFB524 loc_1FFFB524 ; CODE XREF: check_canbus2+41Cj
ROM:1FFFB524 BL sub_1FFFB60A
ROM:1FFFB528 B check_canbus ; 喂狗
ROM:1FFFB52A ; ---------------------------------------------------------------------------
ROM:1FFFB52A
ROM:1FFFB52A loc_1FFFB52A ; CODE XREF: check_canbus2+11Cj
ROM:1FFFB52A BL sub_1FFFB64A
ROM:1FFFB52E CMP R0, #1
ROM:1FFFB530 BEQ loc_1FFFB5C6
ROM:1FFFB532 LDRB R0, [R5,#0xB]
ROM:1FFFB534 STRB.W R0, [SP,#0x148+var_144]
ROM:1FFFB538 LDRB.W R11, [SP,#0x148+var_144]
ROM:1FFFB53C MOV R7, R9
ROM:1FFFB53E BL sub_1FFFB65A
ROM:1FFFB542 BL sub_1FFFB602
ROM:1FFFB546 CMP R0, #0
ROM:1FFFB548 BNE loc_1FFFB5C6
ROM:1FFFB54A STR R0, [SP,#0x148+var_13C]
ROM:1FFFB54C ADD.W R0, R11, #1
ROM:1FFFB550 STR R0, [SP,#0x148+var_148]
ROM:1FFFB552 MOVS R2, #1
ROM:1FFFB554 B loc_1FFFB56A
ROM:1FFFB556 ; ---------------------------------------------------------------------------
ROM:1FFFB556
ROM:1FFFB556 loc_1FFFB556 ; CODE XREF: check_canbus2+3C2j
ROM:1FFFB556 LDRB.W R0, [R7],#1
ROM:1FFFB55A LDR R1, [SP,#0x148+var_13C]
ROM:1FFFB55C LSL.W R0, R2, R0
ROM:1FFFB560 ORRS R0, R1
ROM:1FFFB562 STR R0, [SP,#0x148+var_13C]
ROM:1FFFB564 LDR R0, [SP,#0x148+var_148]
ROM:1FFFB566 SUBS R0, R0, #1
ROM:1FFFB568 STR R0, [SP,#0x148+var_148]
ROM:1FFFB56A
ROM:1FFFB56A loc_1FFFB56A ; CODE XREF: check_canbus2+3A8j
ROM:1FFFB56A LDR R0, [SP,#0x148+var_148]
ROM:1FFFB56C CMP R0, #0
ROM:1FFFB56E BNE loc_1FFFB556
ROM:1FFFB570 BL FLASH_UnlockBank1
ROM:1FFFB574 MOVS R0, #0x35
ROM:1FFFB576 STR.W R0, [R10]
ROM:1FFFB57A LDR R0, [SP,#0x148+var_13C]
ROM:1FFFB57C BL sub_1FFFC0FC
ROM:1FFFB580 BL sub_1FFFB65A
ROM:1FFFB584 MOVS R0, #0
ROM:1FFFB586
ROM:1FFFB586 loc_1FFFB586 ; CODE XREF: check_canbus2+3E6j
ROM:1FFFB586 STR R0, [SP,#0x148+var_148]
ROM:1FFFB588 LDR R0, [SP,#0x148+var_148]
ROM:1FFFB58A CMP R0, R8
ROM:1FFFB58C ITT CC
ROM:1FFFB58E LDRCC R0, [SP,#0x148+var_148]
ROM:1FFFB590 ADDCC R0, R0, #1
ROM:1FFFB592 BCC loc_1FFFB586
ROM:1FFFB594 B loc_1FFFB5DC
ROM:1FFFB596 ; ---------------------------------------------------------------------------
ROM:1FFFB596
ROM:1FFFB596 loc_1FFFB596 ; CODE XREF: check_canbus2+122j
ROM:1FFFB596 BL sub_1FFFB64A
ROM:1FFFB59A CMP R0, #1
ROM:1FFFB59C BEQ loc_1FFFB5C6
ROM:1FFFB59E BL sub_1FFFB65A
ROM:1FFFB5A2 MOVS R0, #0
ROM:1FFFB5A4 BL sub_1FFFC1AA
ROM:1FFFB5A8 BL sub_1FFFB65A
ROM:1FFFB5AC MOVS R0, #0
ROM:1FFFB5AE
ROM:1FFFB5AE loc_1FFFB5AE ; CODE XREF: check_canbus2+40Ej
ROM:1FFFB5AE STR R0, [SP,#0x148+var_148]
ROM:1FFFB5B0 LDR R0, [SP,#0x148+var_148]
ROM:1FFFB5B2 CMP R0, R8
ROM:1FFFB5B4 ITT CC
ROM:1FFFB5B6 LDRCC R0, [SP,#0x148+var_148]
ROM:1FFFB5B8 ADDCC R0, R0, #1
ROM:1FFFB5BA BCC loc_1FFFB5AE
ROM:1FFFB5BC B loc_1FFFB5DC
ROM:1FFFB5BE ; ---------------------------------------------------------------------------
ROM:1FFFB5BE
ROM:1FFFB5BE loc_1FFFB5BE ; CODE XREF: check_canbus2+128j
ROM:1FFFB5BE BL sub_1FFFB64A
ROM:1FFFB5C2 CMP R0, #1
ROM:1FFFB5C4 BNE loc_1FFFB5CA
ROM:1FFFB5C6
ROM:1FFFB5C6 loc_1FFFB5C6 ; CODE XREF: check_canbus2+7Cj
ROM:1FFFB5C6 ; check_canbus2+192j ...
ROM:1FFFB5C6 MOVS R0, #0x1F
ROM:1FFFB5C8 B loc_1FFFB524
ROM:1FFFB5CA ; ---------------------------------------------------------------------------
ROM:1FFFB5CA
ROM:1FFFB5CA loc_1FFFB5CA ; CODE XREF: check_canbus2+418j
ROM:1FFFB5CA BL sub_1FFFB65A
ROM:1FFFB5CE MOVS R0, #1
ROM:1FFFB5D0 BL sub_1FFFC1AA
ROM:1FFFB5D4 BL sub_1FFFB65A
ROM:1FFFB5D8 BL loc_1FFFB638
ROM:1FFFB5DC ; ---------------------------------------------------------------------------
ROM:1FFFB5DC
ROM:1FFFB5DC loc_1FFFB5DC ; CODE XREF: check_canbus2+3E8j
ROM:1FFFB5DC ; check_canbus2+410j ...
ROM:1FFFB5DC BL sys_reset
ROM:1FFFB5E0 B check_canbus ; 喂狗
ROM:1FFFB5E2 ; ---------------------------------------------------------------------------
ROM:1FFFB5E2
ROM:1FFFB5E2 loc_1FFFB5E2 ; CODE XREF: check_canbus2+12Ej
ROM:1FFFB5E2 BL sub_1FFFB654
ROM:1FFFB5E6 MOVS R0, #0
ROM:1FFFB5E8 BL sub_1FFFC1AA
ROM:1FFFB5EC BL sub_1FFFB65A
ROM:1FFFB5F0 BL loc_1FFFB638
ROM:1FFFB5F4 ; ---------------------------------------------------------------------------
ROM:1FFFB5F4 BL clear_all_mem
ROM:1FFFB5F8 B loc_1FFFB5DC
ROM:1FFFB5FA ; ---------------------------------------------------------------------------
ROM:1FFFB5FA
ROM:1FFFB5FA loc_1FFFB5FA ; CODE XREF: check_canbus2+132j
ROM:1FFFB5FA STR R7, [R4]
ROM:1FFFB5FC MOVS R0, #1
ROM:1FFFB5FE STRB R0, [R4,#0xA]
ROM:1FFFB600 B loc_1FFFB5C6
ROM:1FFFB600 ; End of function check_canbus2
ROM:1FFFB600
ROM:1FFFB602
ROM:1FFFB602 ; =============== S U B R O U T I N E =======================================
ROM:1FFFB602
ROM:1FFFB602
ROM:1FFFB602 sub_1FFFB602 ; CODE XREF: check_canbus2+240p
ROM:1FFFB602 ; check_canbus2+34Ep ...
ROM:1FFFB602
ROM:1FFFB602 arg_4 = 4
ROM:1FFFB602
ROM:1FFFB602 MOV R1, R9
ROM:1FFFB604 LDRB.W R0, [SP,#arg_4]
ROM:1FFFB608 B sub_1FFFB966
ROM:1FFFB608 ; End of function sub_1FFFB602
ROM:1FFFB608
ROM:1FFFB60A
ROM:1FFFB60A ; =============== S U B R O U T I N E =======================================
ROM:1FFFB60A
ROM:1FFFB60A
ROM:1FFFB60A sub_1FFFB60A ; CODE XREF: check_canbus2+14Ap
ROM:1FFFB60A ; check_canbus2+160p ...
ROM:1FFFB60A STRB R0, [R4,#0xB]
ROM:1FFFB60C MOV R0, R4
ROM:1FFFB60E B sub_1FFFB7C2
ROM:1FFFB60E ; End of function sub_1FFFB60A
ROM:1FFFB60E
ROM:1FFFB610 ; ---------------------------------------------------------------------------
ROM:1FFFB610 ; START OF FUNCTION CHUNK FOR check_canbus2
ROM:1FFFB610
ROM:1FFFB610 loc_1FFFB610 ; CODE XREF: check_canbus2+1C2j
ROM:1FFFB610 ; check_canbus2+22Cj
ROM:1FFFB610 STRB.W R0, [SP,#0x148+var_143]
ROM:1FFFB614 LDRB.W R0, [SP,#0x148+var_143]
ROM:1FFFB618 CMP R0, #1
ROM:1FFFB61A BX LR
ROM:1FFFB61C ; ---------------------------------------------------------------------------
ROM:1FFFB61C
ROM:1FFFB61C loc_1FFFB61C ; CODE XREF: check_canbus2+66j
ROM:1FFFB61C ; check_canbus2+1BEj ...
ROM:1FFFB61C STR R0, [SP,#0x148+var_140]
ROM:1FFFB61E LDR R0, [SP,#0x148+var_140]
ROM:1FFFB620 B.W get_mem_block
ROM:1FFFB620 ; END OF FUNCTION CHUNK FOR check_canbus2
ROM:1FFFB624
ROM:1FFFB624 ; =============== S U B R O U T I N E =======================================
ROM:1FFFB624
ROM:1FFFB624
ROM:1FFFB624 sub_1FFFB624 ; CODE XREF: check_canbus2:loc_1FFFB20Ep
ROM:1FFFB624 ; check_canbus2:loc_1FFFB366p ...
ROM:1FFFB624 STR R0, [R4]
ROM:1FFFB626 MOVS R0, #1
ROM:1FFFB628 STRB R0, [R4,#0xA]
ROM:1FFFB62A B sub_1FFFB940
ROM:1FFFB62A ; End of function sub_1FFFB624
ROM:1FFFB62A
ROM:1FFFB62C ; ---------------------------------------------------------------------------
ROM:1FFFB62C ; START OF FUNCTION CHUNK FOR check_canbus2
ROM:1FFFB62C
ROM:1FFFB62C loc_1FFFB62C ; CODE XREF: check_canbus2+18Cj
ROM:1FFFB62C ; check_canbus2+33Aj
ROM:1FFFB62C LDRB R0, [R5,#0xB]
ROM:1FFFB62E
ROM:1FFFB62E loc_1FFFB62E ; CODE XREF: check_canbus2+1CEj
ROM:1FFFB62E ; check_canbus2+23Aj
ROM:1FFFB62E STRB.W R0, [SP,#0x148+var_144]
ROM:1FFFB632 LDRB.W R0, [SP,#0x148+var_144]
ROM:1FFFB636 BX LR
ROM:1FFFB638 ; ---------------------------------------------------------------------------
ROM:1FFFB638
ROM:1FFFB638 loc_1FFFB638 ; CODE XREF: check_canbus2+42Cj
ROM:1FFFB638 ; check_canbus2+444j
ROM:1FFFB638 MOVS R0, #0
ROM:1FFFB63A B loc_1FFFB640
ROM:1FFFB63C ; ---------------------------------------------------------------------------
ROM:1FFFB63C
ROM:1FFFB63C loc_1FFFB63C ; CODE XREF: check_canbus2+49Aj
ROM:1FFFB63C LDR R0, [SP,#0x148+var_148]
ROM:1FFFB63E ADDS R0, R0, #1
ROM:1FFFB640
ROM:1FFFB640 loc_1FFFB640 ; CODE XREF: check_canbus2+48Ej
ROM:1FFFB640 STR R0, [SP,#0x148+var_148]
ROM:1FFFB642 LDR R0, [SP,#0x148+var_148]
ROM:1FFFB644 CMP R0, R8
ROM:1FFFB646 BCC loc_1FFFB63C
ROM:1FFFB648 BX LR
ROM:1FFFB648 ; END OF FUNCTION CHUNK FOR check_canbus2
ROM:1FFFB64A
ROM:1FFFB64A ; =============== S U B R O U T I N E =======================================
ROM:1FFFB64A
ROM:1FFFB64A
ROM:1FFFB64A sub_1FFFB64A ; CODE XREF: check_canbus2:loc_1FFFB4DAp
ROM:1FFFB64A ; check_canbus2:loc_1FFFB52Ap ...
ROM:1FFFB64A STR R0, [R4]
ROM:1FFFB64C MOVS R0, #1
ROM:1FFFB64E STRB R0, [R4,#0xA]
ROM:1FFFB650 B.W FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFB650 ; End of function sub_1FFFB64A ;
ROM:1FFFB650
ROM:1FFFB654
ROM:1FFFB654 ; =============== S U B R O U T I N E =======================================
ROM:1FFFB654
ROM:1FFFB654
ROM:1FFFB654 sub_1FFFB654 ; CODE XREF: check_canbus2+48p
ROM:1FFFB654 ; check_canbus2:loc_1FFFB31Ap ...
ROM:1FFFB654 STR R0, [R4]
ROM:1FFFB656 MOVS R0, #1
ROM:1FFFB658 STRB R0, [R4,#0xA]
ROM:1FFFB658 ; End of function sub_1FFFB654
ROM:1FFFB658
ROM:1FFFB65A
ROM:1FFFB65A ; =============== S U B R O U T I N E =======================================
ROM:1FFFB65A
ROM:1FFFB65A
ROM:1FFFB65A sub_1FFFB65A ; CODE XREF: check_canbus2+80p
ROM:1FFFB65A ; check_canbus2+156p ...
ROM:1FFFB65A MOVS R0, #0x79
ROM:1FFFB65C STRB R0, [R4,#0xB]
ROM:1FFFB65E MOV R0, R4
ROM:1FFFB660 B sub_1FFFB7C2
ROM:1FFFB660 ; End of function sub_1FFFB65A
ROM:1FFFB660
ROM:1FFFB662
ROM:1FFFB662 ; =============== S U B R O U T I N E =======================================
ROM:1FFFB662
ROM:1FFFB662
ROM:1FFFB662 sub_1FFFB662 ; CODE XREF: check_canbus2+32p
ROM:1FFFB662
ROM:1FFFB662 var_18 = -0x18
ROM:1FFFB662 var_14 = -0x14
ROM:1FFFB662
ROM:1FFFB662 PUSH {R2-R6,LR}
ROM:1FFFB664 MOVW R5, #0x1FF
ROM:1FFFB668 STR R5, [SP,#0x18+var_14]
ROM:1FFFB66A MOVS R0, #0
ROM:1FFFB66C STR R0, [SP,#0x18+var_18]
ROM:1FFFB66E BL sub_1FFFBBF0
ROM:1FFFB672 MOVS R0, #0
ROM:1FFFB674 BL sub_1FFFBC96
ROM:1FFFB678 LDR.W R4, =0x20000164
ROM:1FFFB67C LDR.W R0, =0x1000F
ROM:1FFFB680 BL sub_1FFFB75E
ROM:1FFFB684 LDR.W R0, =0x10007
ROM:1FFFB688 STR R0, [R4,#0x18]
ROM:1FFFB68A LDR.W R0, =0x10003
ROM:1FFFB68E STR R0, [R4,#0x1C]
ROM:1FFFB690 MOV.W R0, #0x10001
ROM:1FFFB694 STR R0, [R4,#0x20]
ROM:1FFFB696 STR R5, [SP,#0x18+var_14]
ROM:1FFFB698 MOVS R0, #0
ROM:1FFFB69A STR R0, [SP,#0x18+var_18]
ROM:1FFFB69C LDR.W R5, =0x40021010
ROM:1FFFB6A0 LDR.W R6, =0x4000680C
ROM:1FFFB6A4 B loc_1FFFB710
ROM:1FFFB6A6 ; ---------------------------------------------------------------------------
ROM:1FFFB6A6
ROM:1FFFB6A6 loc_1FFFB6A6 ; CODE XREF: sub_1FFFB662+B8j
ROM:1FFFB6A6 LDR R0, [SP,#0x18+var_18]
ROM:1FFFB6A8 CMP R0, #1
ROM:1FFFB6AA BNE loc_1FFFB6D0
ROM:1FFFB6AC BL sub_1FFFB74C
ROM:1FFFB6B0 LDR.W R0, =0x110027
ROM:1FFFB6B4 BL sub_1FFFB75E
ROM:1FFFB6B8 LDR.W R0, =0x110013
ROM:1FFFB6BC STR R0, [R4,#0x18]
ROM:1FFFB6BE LDR.W R0, =0x110009
ROM:1FFFB6C2 STR R0, [R4,#0x1C]
ROM:1FFFB6C4 LDR.W R0, =0x110004
ROM:1FFFB6C8 STR R0, [R4,#0x20]
ROM:1FFFB6CA MOVW R0, #0x4FF
ROM:1FFFB6CE STR R0, [SP,#0x18+var_14]
ROM:1FFFB6D0
ROM:1FFFB6D0 loc_1FFFB6D0 ; CODE XREF: sub_1FFFB662+48j
ROM:1FFFB6D0 LDR R0, [SP,#0x18+var_18]
ROM:1FFFB6D2 CMP R0, #2
ROM:1FFFB6D4 BNE loc_1FFFB70A
ROM:1FFFB6D6 BL sub_1FFFB74C
ROM:1FFFB6DA BL sub_1FFFBBF0
ROM:1FFFB6DE MOV.W R0, #0x400
ROM:1FFFB6E2 BL sub_1FFFBC96
ROM:1FFFB6E6 BL sub_1FFFBE1A
ROM:1FFFB6EA LDR.W R0, =0x21001F
ROM:1FFFB6EE BL sub_1FFFB75E
ROM:1FFFB6F2 LDR.W R0, =0x21000F
ROM:1FFFB6F6 STR R0, [R4,#0x18]
ROM:1FFFB6F8 LDR.W R0, =0x210007
ROM:1FFFB6FC STR R0, [R4,#0x1C]
ROM:1FFFB6FE LDR.W R0, =0x210003
ROM:1FFFB702 STR R0, [R4,#0x20]
ROM:1FFFB704 MOVW R0, #0x5FF
ROM:1FFFB708 STR R0, [SP,#0x18+var_14]
ROM:1FFFB70A
ROM:1FFFB70A loc_1FFFB70A ; CODE XREF: sub_1FFFB662+72j
ROM:1FFFB70A LDR R0, [SP,#0x18+var_18]
ROM:1FFFB70C ADDS R0, R0, #1
ROM:1FFFB70E STR R0, [SP,#0x18+var_18]
ROM:1FFFB710
ROM:1FFFB710 loc_1FFFB710 ; CODE XREF: sub_1FFFB662+42j
ROM:1FFFB710 LDR R0, [SP,#0x18+var_18]
ROM:1FFFB712 CMP R0, #4
ROM:1FFFB714 BCS loc_1FFFB748
ROM:1FFFB716
ROM:1FFFB716 loc_1FFFB716 ; CODE XREF: sub_1FFFB662+C4j
ROM:1FFFB716 ; sub_1FFFB662+DCj
ROM:1FFFB716 LDR R0, [SP,#0x18+var_14]
ROM:1FFFB718 CMP R0, #0
ROM:1FFFB71A BEQ loc_1FFFB6A6
ROM:1FFFB71C LDR R0, [SP,#0x18+var_14]
ROM:1FFFB71E SUBS R0, R0, #1
ROM:1FFFB720 STR R0, [SP,#0x18+var_14]
ROM:1FFFB722 LDR R0, [R6]
ROM:1FFFB724 LSLS R0, R0, #0x1F
ROM:1FFFB726 BPL loc_1FFFB716
ROM:1FFFB728 MOVS R0, #0
ROM:1FFFB72A STR R0, [R4]
ROM:1FFFB72C LDR R0, =0x400069B0
ROM:1FFFB72E LDR R0, [R0]
ROM:1FFFB730 LSRS R0, R0, #0x15
ROM:1FFFB732 STR R0, [R4]
ROM:1FFFB734 CMP R0, #0x79
ROM:1FFFB736 ITT EQ
ROM:1FFFB738 LDREQ R0, [R6,#0xC]
ROM:1FFFB73A ANDEQS.W R0, R0, #0x70
ROM:1FFFB73E BNE loc_1FFFB716
ROM:1FFFB740 MOVS R0, #0x20
ROM:1FFFB742 STR R0, [R6]
ROM:1FFFB744 MOVS R0, #0
ROM:1FFFB746 POP {R1,R2,R4-R6,PC}
ROM:1FFFB748 ; ---------------------------------------------------------------------------
ROM:1FFFB748
ROM:1FFFB748 loc_1FFFB748 ; CODE XREF: sub_1FFFB662+B2j
ROM:1FFFB748 MOVS R0, #1
ROM:1FFFB74A POP {R1,R2,R4-R6,PC}
ROM:1FFFB74A ; End of function sub_1FFFB662
ROM:1FFFB74A
ROM:1FFFB74C
ROM:1FFFB74C ; =============== S U B R O U T I N E =======================================
ROM:1FFFB74C
ROM:1FFFB74C
ROM:1FFFB74C sub_1FFFB74C ; CODE XREF: sub_1FFFB662+4Ap
ROM:1FFFB74C ; sub_1FFFB662+74p
ROM:1FFFB74C LDR R0, [R5]
ROM:1FFFB74E ORR.W R0, R0, #0x4000000
ROM:1FFFB752 STR R0, [R5]
ROM:1FFFB754 LDR R0, [R5]
ROM:1FFFB756 BIC.W R0, R0, #0x4000000
ROM:1FFFB75A STR R0, [R5]
ROM:1FFFB75C BX LR
ROM:1FFFB75C ; End of function sub_1FFFB74C
ROM:1FFFB75C
ROM:1FFFB75E
ROM:1FFFB75E ; =============== S U B R O U T I N E =======================================
ROM:1FFFB75E
ROM:1FFFB75E
ROM:1FFFB75E sub_1FFFB75E ; CODE XREF: sub_1FFFB662+1Ep
ROM:1FFFB75E ; sub_1FFFB662+52p ...
ROM:1FFFB75E STR R0, [R4,#0x14]
ROM:1FFFB760 MOVS R0, #1
ROM:1FFFB762 B loc_1FFFB764
ROM:1FFFB764 ; ---------------------------------------------------------------------------
ROM:1FFFB764
ROM:1FFFB764 loc_1FFFB764 ; CODE XREF: check_canbus2+19Ep
ROM:1FFFB764 ; sub_1FFFB75E+4j
ROM:1FFFB764 PUSH {R4,LR}
ROM:1FFFB766 MOVW R1, #0xFFFF
ROM:1FFFB76A MOV R3, R1
ROM:1FFFB76C LDR R2, =0x40006800
ROM:1FFFB76E LDR R4, [R2]
ROM:1FFFB770 BIC.W R4, R4, #2
ROM:1FFFB774 STR R4, [R2]
ROM:1FFFB776 LDR R4, [R2]
ROM:1FFFB778 ORR.W R4, R4, #1
ROM:1FFFB77C STR R4, [R2]
ROM:1FFFB77E
ROM:1FFFB77E loc_1FFFB77E ; CODE XREF: sub_1FFFB75E+2Cj
ROM:1FFFB77E LDR R4, [R2,#4]
ROM:1FFFB780 LSLS R4, R4, #0x1F
ROM:1FFFB782 BMI loc_1FFFB78C
ROM:1FFFB784 SUBS R3, R3, #1
ROM:1FFFB786 UXTH R3, R3
ROM:1FFFB788 CMP R3, #0
ROM:1FFFB78A BNE loc_1FFFB77E
ROM:1FFFB78C
ROM:1FFFB78C loc_1FFFB78C ; CODE XREF: sub_1FFFB75E+24j
ROM:1FFFB78C LDR R3, [R2,#4]
ROM:1FFFB78E LSLS R3, R3, #0x1F
ROM:1FFFB790 BPL loc_1FFFB7BE
ROM:1FFFB792 MOV.W R3, #0x10001
ROM:1FFFB796 STR R3, [R2]
ROM:1FFFB798 LDR R3, =0x20000164
ROM:1FFFB79A ADD.W R0, R3, R0,LSL#2
ROM:1FFFB79E LDR R0, [R0,#0x10]
ROM:1FFFB7A0 STR R0, [R2,#0x1C]
ROM:1FFFB7A2 MOV.W R0, #0x10000
ROM:1FFFB7A6 STR R0, [R2]
ROM:1FFFB7A8 MOV R3, R1
ROM:1FFFB7AA
ROM:1FFFB7AA loc_1FFFB7AA ; CODE XREF: sub_1FFFB75E+58j
ROM:1FFFB7AA LDR R0, [R2,#4]
ROM:1FFFB7AC LSLS R0, R0, #0x1F
ROM:1FFFB7AE BPL loc_1FFFB7B8
ROM:1FFFB7B0 SUBS R3, R3, #1
ROM:1FFFB7B2 UXTH R3, R3
ROM:1FFFB7B4 CMP R3, #0
ROM:1FFFB7B6 BNE loc_1FFFB7AA
ROM:1FFFB7B8
ROM:1FFFB7B8 loc_1FFFB7B8 ; CODE XREF: sub_1FFFB75E+50j
ROM:1FFFB7B8 LDR R0, [R2,#4]
ROM:1FFFB7BA LSLS R0, R0, #0x1F
ROM:1FFFB7BC BPL locret_1FFFB7C0
ROM:1FFFB7BE
ROM:1FFFB7BE loc_1FFFB7BE ; CODE XREF: sub_1FFFB75E+32j
ROM:1FFFB7BE B loc_1FFFB83C
ROM:1FFFB7C0 ; ---------------------------------------------------------------------------
ROM:1FFFB7C0
ROM:1FFFB7C0 locret_1FFFB7C0 ; CODE XREF: sub_1FFFB75E+5Ej
ROM:1FFFB7C0 POP {R4,PC}
ROM:1FFFB7C0 ; End of function sub_1FFFB75E
ROM:1FFFB7C0
ROM:1FFFB7C2
ROM:1FFFB7C2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFB7C2
ROM:1FFFB7C2
ROM:1FFFB7C2 sub_1FFFB7C2 ; CODE XREF: check_canbus2+180p
ROM:1FFFB7C2 ; check_canbus2+208p ...
ROM:1FFFB7C2 PUSH {R4,LR}
ROM:1FFFB7C4 MOV.W R4, #0xB00000
ROM:1FFFB7C8 LDR R1, =0x40006980
ROM:1FFFB7CA LDR R2, [R1]
ROM:1FFFB7CC AND.W R2, R2, #1
ROM:1FFFB7D0 STR R2, [R1]
ROM:1FFFB7D2 LDR R2, [R1]
ROM:1FFFB7D4 LDR R3, [R0]
ROM:1FFFB7D6 ORR.W R2, R2, R3,LSL#21
ROM:1FFFB7DA STR R2, [R1]
ROM:1FFFB7DC LDRB R2, [R0,#0xA]
ROM:1FFFB7DE AND.W R2, R2, #0xF
ROM:1FFFB7E2 STRB R2, [R0,#0xA]
ROM:1FFFB7E4 LDR R2, [R1,#4]
ROM:1FFFB7E6 LSRS R2, R2, #4
ROM:1FFFB7E8 LSLS R2, R2, #4
ROM:1FFFB7EA STR R2, [R1,#4]
ROM:1FFFB7EC LDR R2, [R1,#4]
ROM:1FFFB7EE LDRB R3, [R0,#0xA]
ROM:1FFFB7F0 ORRS R2, R3
ROM:1FFFB7F2 STR R2, [R1,#4]
ROM:1FFFB7F4 LDRB R2, [R0,#0xE]
ROM:1FFFB7F6 LDRB R3, [R0,#0xD]
ROM:1FFFB7F8 LSLS R3, R3, #0x10
ROM:1FFFB7FA ORR.W R2, R3, R2,LSL#24
ROM:1FFFB7FE LDRB R3, [R0,#0xC]
ROM:1FFFB800 ORR.W R2, R2, R3,LSL#8
ROM:1FFFB804 LDRB R3, [R0,#0xB]
ROM:1FFFB806 ORRS R2, R3
ROM:1FFFB808 STR R2, [R1,#8]
ROM:1FFFB80A LDRB R2, [R0,#0x12]
ROM:1FFFB80C LDRB R3, [R0,#0x11]
ROM:1FFFB80E LSLS R3, R3, #0x10
ROM:1FFFB810 ORR.W R2, R3, R2,LSL#24
ROM:1FFFB814 LDRB R3, [R0,#0x10]
ROM:1FFFB816 ORR.W R2, R2, R3,LSL#8
ROM:1FFFB81A LDRB R0, [R0,#0xF]
ROM:1FFFB81C ORRS R0, R2
ROM:1FFFB81E STR R0, [R1,#0xC]
ROM:1FFFB820 LDR R0, [R1]
ROM:1FFFB822 ORR.W R0, R0, #1
ROM:1FFFB826 STR R0, [R1]
ROM:1FFFB828 B loc_1FFFB82E
ROM:1FFFB82A ; ---------------------------------------------------------------------------
ROM:1FFFB82A
ROM:1FFFB82A loc_1FFFB82A ; CODE XREF: sub_1FFFB7C2+72j
ROM:1FFFB82A CBZ R4, loc_1FFFB838
ROM:1FFFB82C SUBS R4, R4, #1
ROM:1FFFB82E
ROM:1FFFB82E loc_1FFFB82E ; CODE XREF: sub_1FFFB7C2+66j
ROM:1FFFB82E BL sub_1FFFB8AA
ROM:1FFFB832 CMP R0, #1
ROM:1FFFB834 BNE loc_1FFFB82A
ROM:1FFFB836 CBNZ R4, locret_1FFFB83A
ROM:1FFFB838
ROM:1FFFB838 loc_1FFFB838 ; CODE XREF: sub_1FFFB7C2:loc_1FFFB82Aj
ROM:1FFFB838 B loc_1FFFB83C
ROM:1FFFB83A ; ---------------------------------------------------------------------------
ROM:1FFFB83A
ROM:1FFFB83A locret_1FFFB83A ; CODE XREF: sub_1FFFB7C2+74j
ROM:1FFFB83A POP {R4,PC}
ROM:1FFFB83C ; ---------------------------------------------------------------------------
ROM:1FFFB83C
ROM:1FFFB83C loc_1FFFB83C ; CODE XREF: sub_1FFFB75E:loc_1FFFB7BEj
ROM:1FFFB83C ; sub_1FFFB7C2:loc_1FFFB838j
ROM:1FFFB83C POP.W {R4,LR}
ROM:1FFFB840 B.W sys_reset
ROM:1FFFB840 ; End of function sub_1FFFB7C2
ROM:1FFFB840
ROM:1FFFB844
ROM:1FFFB844 ; =============== S U B R O U T I N E =======================================
ROM:1FFFB844
ROM:1FFFB844
ROM:1FFFB844 sub_1FFFB844 ; CODE XREF: check_canbus2+D2p
ROM:1FFFB844 ; sub_1FFFB966+2Ep ...
ROM:1FFFB844 LDR R1, =0x4000680C
ROM:1FFFB846 LDR R2, [R1]
ROM:1FFFB848 LSLS R2, R2, #0x1B
ROM:1FFFB84A BPL loc_1FFFB850
ROM:1FFFB84C MOVS R0, #1
ROM:1FFFB84E BX LR
ROM:1FFFB850 ; ---------------------------------------------------------------------------
ROM:1FFFB850
ROM:1FFFB850 loc_1FFFB850 ; CODE XREF: sub_1FFFB844+6j
ROM:1FFFB850 LDR R2, =0x400069B0
ROM:1FFFB852 LDR R3, [R2]
ROM:1FFFB854 AND.W R3, R3, #4
ROM:1FFFB858 STRB R3, [R0,#8]
ROM:1FFFB85A LDR R3, [R2]
ROM:1FFFB85C LSRS R3, R3, #0x15
ROM:1FFFB85E STR R3, [R0]
ROM:1FFFB860 LDR R3, [R2]
ROM:1FFFB862 AND.W R3, R3, #2
ROM:1FFFB866 STRB R3, [R0,#9]
ROM:1FFFB868 LDR R3, [R2,#4]
ROM:1FFFB86A AND.W R3, R3, #0xF
ROM:1FFFB86E STRB R3, [R0,#0xA]
ROM:1FFFB870 LDR R3, [R2,#4]
ROM:1FFFB872 LSRS R3, R3, #8
ROM:1FFFB874 STRB R3, [R0,#0x13]
ROM:1FFFB876 LDR R3, [R2,#8]
ROM:1FFFB878 STRB R3, [R0,#0xB]
ROM:1FFFB87A LDR R3, [R2,#8]
ROM:1FFFB87C LSRS R3, R3, #8
ROM:1FFFB87E STRB R3, [R0,#0xC]
ROM:1FFFB880 LDR R3, [R2,#8]
ROM:1FFFB882 LSRS R3, R3, #0x10
ROM:1FFFB884 STRB R3, [R0,#0xD]
ROM:1FFFB886 LDR R3, [R2,#8]
ROM:1FFFB888 LSRS R3, R3, #0x18
ROM:1FFFB88A STRB R3, [R0,#0xE]
ROM:1FFFB88C LDR R3, [R2,#0xC]
ROM:1FFFB88E STRB R3, [R0,#0xF]
ROM:1FFFB890 LDR R3, [R2,#0xC]
ROM:1FFFB892 LSRS R3, R3, #8
ROM:1FFFB894 STRB R3, [R0,#0x10]
ROM:1FFFB896 LDR R3, [R2,#0xC]
ROM:1FFFB898 LSRS R3, R3, #0x10
ROM:1FFFB89A STRB R3, [R0,#0x11]
ROM:1FFFB89C LDR R2, [R2,#0xC]
ROM:1FFFB89E LSRS R2, R2, #0x18
ROM:1FFFB8A0 STRB R2, [R0,#0x12]
ROM:1FFFB8A2 MOVS R0, #0x20
ROM:1FFFB8A4 STR R0, [R1]
ROM:1FFFB8A6 MOVS R0, #0
ROM:1FFFB8A8 BX LR
ROM:1FFFB8A8 ; End of function sub_1FFFB844
ROM:1FFFB8A8
ROM:1FFFB8AA
ROM:1FFFB8AA ; =============== S U B R O U T I N E =======================================
ROM:1FFFB8AA
ROM:1FFFB8AA
ROM:1FFFB8AA sub_1FFFB8AA ; CODE XREF: sub_1FFFB7C2:loc_1FFFB82Ep
ROM:1FFFB8AA LDR R0, =0x40006808
ROM:1FFFB8AC LDR R1, [R0]
ROM:1FFFB8AE LDR R2, [R0]
ROM:1FFFB8B0 LDR R0, [R0]
ROM:1FFFB8B2 AND.W R1, R1, #1
ROM:1FFFB8B6 AND.W R2, R2, #2
ROM:1FFFB8BA ORR.W R1, R2, R1,LSL#2
ROM:1FFFB8BE LSRS R0, R0, #0x1A
ROM:1FFFB8C0 AND.W R0, R0, #1
ROM:1FFFB8C4 ORRS R0, R1
ROM:1FFFB8C6 BEQ loc_1FFFB8CE
ROM:1FFFB8C8 CMP R0, #7
ROM:1FFFB8CA BEQ loc_1FFFB8D2
ROM:1FFFB8CC B loc_1FFFB8D6
ROM:1FFFB8CE ; ---------------------------------------------------------------------------
ROM:1FFFB8CE
ROM:1FFFB8CE loc_1FFFB8CE ; CODE XREF: sub_1FFFB8AA+1Cj
ROM:1FFFB8CE MOVS R0, #2
ROM:1FFFB8D0 BX LR
ROM:1FFFB8D2 ; ---------------------------------------------------------------------------
ROM:1FFFB8D2
ROM:1FFFB8D2 loc_1FFFB8D2 ; CODE XREF: sub_1FFFB8AA+20j
ROM:1FFFB8D2 MOVS R0, #1
ROM:1FFFB8D4 BX LR
ROM:1FFFB8D6 ; ---------------------------------------------------------------------------
ROM:1FFFB8D6
ROM:1FFFB8D6 loc_1FFFB8D6 ; CODE XREF: sub_1FFFB8AA+22j
ROM:1FFFB8D6 MOVS R0, #0
ROM:1FFFB8D8 BX LR
ROM:1FFFB8D8 ; End of function sub_1FFFB8AA
ROM:1FFFB8D8
ROM:1FFFB8DA
ROM:1FFFB8DA ; =============== S U B R O U T I N E =======================================
ROM:1FFFB8DA
ROM:1FFFB8DA
ROM:1FFFB8DA get_can_bus ; CODE XREF: check_canbus2:loc_1FFFB274p
ROM:1FFFB8DA ; sub_1FFFB966:loc_1FFFB988p ...
ROM:1FFFB8DA LDR R0, =0x40003000
ROM:1FFFB8DC MOVW R1, #0xAAAA
ROM:1FFFB8E0 STR R1, [R0] ; 喂狗
ROM:1FFFB8E2 LDR R0, =0x4000680C ; can2 port
ROM:1FFFB8E4 LDR R0, [R0]
ROM:1FFFB8E6 AND.W R0, R0, #3
ROM:1FFFB8EA BX LR
ROM:1FFFB8EA ; End of function get_can_bus
ROM:1FFFB8EA
ROM:1FFFB8EC
ROM:1FFFB8EC ; =============== S U B R O U T I N E =======================================
ROM:1FFFB8EC
ROM:1FFFB8EC
ROM:1FFFB8EC sub_1FFFB8EC ; CODE XREF: check_canbus2+E0p
ROM:1FFFB8EC ; sub_1FFFB966+36p ...
ROM:1FFFB8EC MOVS R0, #1
ROM:1FFFB8EE LDR R1, =0x40006818
ROM:1FFFB8F0 LDR R1, [R1]
ROM:1FFFB8F2 ANDS.W R1, R1, #0x70
ROM:1FFFB8F6 IT EQ
ROM:1FFFB8F8 MOVEQ R0, #0
ROM:1FFFB8FA BX LR
ROM:1FFFB8FA ; End of function sub_1FFFB8EC
ROM:1FFFB8FA
ROM:1FFFB8FC ; ---------------------------------------------------------------------------
ROM:1FFFB8FC ; START OF FUNCTION CHUNK FOR trigger_canbus
ROM:1FFFB8FC
ROM:1FFFB8FC loc_1FFFB8FC ; CODE XREF: trigger_canbus+5Aj
ROM:1FFFB8FC LDR R0, =0x40006600 ; bxCAN1
ROM:1FFFB8FE LDR R1, [R0]
ROM:1FFFB900 ORR.W R1, R1, #1
ROM:1FFFB904 STR R1, [R0]
ROM:1FFFB906 LDR R1, [R0,#0x1C]
ROM:1FFFB908 BIC.W R1, R1, #0x4000
ROM:1FFFB90C STR R1, [R0,#0x1C]
ROM:1FFFB90E LDR R1, [R0,#0xC]
ROM:1FFFB910 ORR.W R1, R1, #0x4000
ROM:1FFFB914 STR R1, [R0,#0xC]
ROM:1FFFB916 LDR R1, =0x400066B0
ROM:1FFFB918 MOVS R2, #0
ROM:1FFFB91A STR R2, [R1]
ROM:1FFFB91C STR R2, [R1,#4]
ROM:1FFFB91E LDR R1, [R0,#4]
ROM:1FFFB920 BIC.W R1, R1, #0x4000
ROM:1FFFB924 STR R1, [R0,#4]
ROM:1FFFB926 LDR R1, [R0,#0x14]
ROM:1FFFB928 BIC.W R1, R1, #0x4000
ROM:1FFFB92C STR R1, [R0,#0x14]
ROM:1FFFB92E LDR R1, [R0,#0x1C]
ROM:1FFFB930 ORR.W R1, R1, #0x4000
ROM:1FFFB934 STR R1, [R0,#0x1C]
ROM:1FFFB936 LDR R1, [R0]
ROM:1FFFB938 LSRS R1, R1, #1
ROM:1FFFB93A LSLS R1, R1, #1
ROM:1FFFB93C STR R1, [R0]
ROM:1FFFB93E BX LR
ROM:1FFFB93E ; END OF FUNCTION CHUNK FOR trigger_canbus
ROM:1FFFB940
ROM:1FFFB940 ; =============== S U B R O U T I N E =======================================
ROM:1FFFB940
ROM:1FFFB940
ROM:1FFFB940 sub_1FFFB940 ; CODE XREF: sub_1FFFB624+6j
ROM:1FFFB940 PUSH {R7,LR}
ROM:1FFFB942 ; 4: if ( FLASH_GetReadOutProtectionStatus() )
ROM:1FFFB942 BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFB942 ;
ROM:1FFFB946 CBNZ R0, loc_1FFFB960 ; 如果芯片的读保护位被设置了,直接返回0x55555555
ROM:1FFFB948 ; 7: result = _byteswap_ulong(v2000016F);
ROM:1FFFB948 LDR R0, =0x20000164
ROM:1FFFB94A LDRB R1, [R0,#0xB]
ROM:1FFFB94C LDRB R2, [R0,#0xC]
ROM:1FFFB94E LSLS R2, R2, #0x10
ROM:1FFFB950 ORR.W R1, R2, R1,LSL#24
ROM:1FFFB954 LDRB R2, [R0,#0xD]
ROM:1FFFB956 ORR.W R1, R1, R2,LSL#8
ROM:1FFFB95A LDRB R0, [R0,#0xE]
ROM:1FFFB95C ORRS R0, R1
ROM:1FFFB95E POP {R1,PC}
ROM:1FFFB960 ; ---------------------------------------------------------------------------
ROM:1FFFB960 ; 5: result = 0x55555555;
ROM:1FFFB960
ROM:1FFFB960 loc_1FFFB960 ; CODE XREF: sub_1FFFB940+6j
ROM:1FFFB960 MOV.W R0, #0x55555555 ; 如果芯片的读保护位被设置了,直接返回0x55555555
ROM:1FFFB964 POP {R1,PC}
ROM:1FFFB964 ; End of function sub_1FFFB940
ROM:1FFFB964
ROM:1FFFB966
ROM:1FFFB966 ; =============== S U B R O U T I N E =======================================
ROM:1FFFB966
ROM:1FFFB966
ROM:1FFFB966 sub_1FFFB966 ; CODE XREF: sub_1FFFB602+6j
ROM:1FFFB966
ROM:1FFFB966 var_20 = -0x20
ROM:1FFFB966 var_1F = -0x1F
ROM:1FFFB966 var_1C = -0x1C
ROM:1FFFB966 var_18 = -0x18
ROM:1FFFB966
ROM:1FFFB966 PUSH {R0,R4-R7,LR}
ROM:1FFFB968 SUB SP, SP, #8
ROM:1FFFB96A MOV R4, R1
ROM:1FFFB96C MOVS R0, #0
ROM:1FFFB96E STR R0, [SP,#0x20+var_1C]
ROM:1FFFB970 STRB.W R0, [SP,#0x20+var_20]
ROM:1FFFB974 MOVS R0, #1
ROM:1FFFB976 STRB.W R0, [SP,#0x20+var_1F]
ROM:1FFFB97A LDR R5, =0x20000C34
ROM:1FFFB97C STRB R0, [R5,#0xA]
ROM:1FFFB97E MOVS R0, #0x79
ROM:1FFFB980 STRB R0, [R5,#0xB]
ROM:1FFFB982 LDRB.W R0, [SP,#0x20+var_18]
ROM:1FFFB986 ADDS R7, R0, #1
ROM:1FFFB988
ROM:1FFFB988 loc_1FFFB988 ; CODE XREF: sub_1FFFB966+28j
ROM:1FFFB988 BL get_can_bus
ROM:1FFFB98C CMP R0, #0
ROM:1FFFB98E BEQ loc_1FFFB988
ROM:1FFFB990 LDR R6, =0x20000164
ROM:1FFFB992 MOV R0, R6
ROM:1FFFB994 BL sub_1FFFB844
ROM:1FFFB998 STRB.W R0, [SP,#0x20+var_1F]
ROM:1FFFB99C BL sub_1FFFB8EC
ROM:1FFFB9A0 CMP R0, #1
ROM:1FFFB9A2 ITT NE
ROM:1FFFB9A4 LDRNEB.W R0, [SP,#0x20+var_1F]
ROM:1FFFB9A8 CMPNE R0, #1
ROM:1FFFB9AA BEQ loc_1FFFBA28
ROM:1FFFB9AC STR R7, [SP,#0x20+var_1C]
ROM:1FFFB9AE B loc_1FFFB9C8
ROM:1FFFB9B0 ; ---------------------------------------------------------------------------
ROM:1FFFB9B0
ROM:1FFFB9B0 loc_1FFFB9B0 ; CODE XREF: sub_1FFFB966+8Cj
ROM:1FFFB9B0 ; sub_1FFFB966+92j ...
ROM:1FFFB9B0 LDRB.W R0, [SP,#0x20+var_20]
ROM:1FFFB9B4 CMP R0, #8
ROM:1FFFB9B6 ITTTT EQ
ROM:1FFFB9B8 LDREQ R0, [SP,#0x20+var_1C]
ROM:1FFFB9BA CMPEQ R0, #1
ROM:1FFFB9BC MOVEQ R0, R5
ROM:1FFFB9BE BLEQ sub_1FFFB7C2
ROM:1FFFB9C2 LDR R0, [SP,#0x20+var_1C]
ROM:1FFFB9C4 SUBS R0, R0, #1
ROM:1FFFB9C6 STR R0, [SP,#0x20+var_1C]
ROM:1FFFB9C8
ROM:1FFFB9C8 loc_1FFFB9C8 ; CODE XREF: sub_1FFFB966+48j
ROM:1FFFB9C8 LDR R0, [SP,#0x20+var_1C]
ROM:1FFFB9CA CMP R0, #0
ROM:1FFFB9CC LDRB.W R0, [SP,#0x20+var_20]
ROM:1FFFB9D0 BEQ loc_1FFFBA2C
ROM:1FFFB9D2 CMP R0, #8
ROM:1FFFB9D4 BNE loc_1FFFB9DA
ROM:1FFFB9D6 LDR R0, [SP,#0x20+var_1C]
ROM:1FFFB9D8 CBNZ R0, loc_1FFFB9EC
ROM:1FFFB9DA
ROM:1FFFB9DA loc_1FFFB9DA ; CODE XREF: sub_1FFFB966+6Ej
ROM:1FFFB9DA LDRB.W R0, [SP,#0x20+var_20]
ROM:1FFFB9DE ADDS R1, R0, #1
ROM:1FFFB9E0 STRB.W R1, [SP,#0x20+var_20]
ROM:1FFFB9E4 ADDS R0, R0, R6
ROM:1FFFB9E6 LDRB R0, [R0,#0xB]
ROM:1FFFB9E8 STRB.W R0, [R4],#1
ROM:1FFFB9EC
ROM:1FFFB9EC loc_1FFFB9EC ; CODE XREF: sub_1FFFB966+72j
ROM:1FFFB9EC LDRB.W R0, [SP,#0x20+var_20]
ROM:1FFFB9F0 CMP R0, #8
ROM:1FFFB9F2 BNE loc_1FFFB9B0
ROM:1FFFB9F4 LDR R0, [SP,#0x20+var_1C]
ROM:1FFFB9F6 CMP R0, #2
ROM:1FFFB9F8 BCC loc_1FFFB9B0
ROM:1FFFB9FA MOV R0, R5
ROM:1FFFB9FC BL sub_1FFFB7C2
ROM:1FFFBA00 MOVS R0, #0
ROM:1FFFBA02 STRB.W R0, [SP,#0x20+var_20]
ROM:1FFFBA06
ROM:1FFFBA06 loc_1FFFBA06 ; CODE XREF: sub_1FFFB966+A6j
ROM:1FFFBA06 BL get_can_bus
ROM:1FFFBA0A CMP R0, #0
ROM:1FFFBA0C BEQ loc_1FFFBA06
ROM:1FFFBA0E MOV R0, R6
ROM:1FFFBA10 BL sub_1FFFB844
ROM:1FFFBA14 STRB.W R0, [SP,#0x20+var_1F]
ROM:1FFFBA18 BL sub_1FFFB8EC
ROM:1FFFBA1C CMP R0, #1
ROM:1FFFBA1E ITT NE
ROM:1FFFBA20 LDRNEB.W R0, [SP,#0x20+var_1F]
ROM:1FFFBA24 CMPNE R0, #1
ROM:1FFFBA26 BNE loc_1FFFB9B0
ROM:1FFFBA28
ROM:1FFFBA28 loc_1FFFBA28 ; CODE XREF: sub_1FFFB966+44j
ROM:1FFFBA28 MOVS R0, #1
ROM:1FFFBA2A POP {R1-R7,PC}
ROM:1FFFBA2C ; ---------------------------------------------------------------------------
ROM:1FFFBA2C
ROM:1FFFBA2C loc_1FFFBA2C ; CODE XREF: sub_1FFFB966+6Aj
ROM:1FFFBA2C CMP R0, #8
ROM:1FFFBA2E BCS loc_1FFFBA3A
ROM:1FFFBA30 LDR R0, [SP,#0x20+var_1C]
ROM:1FFFBA32 CBNZ R0, loc_1FFFBA3A
ROM:1FFFBA34 MOV R0, R5
ROM:1FFFBA36 BL sub_1FFFB7C2
ROM:1FFFBA3A
ROM:1FFFBA3A loc_1FFFBA3A ; CODE XREF: sub_1FFFB966+C8j
ROM:1FFFBA3A ; sub_1FFFB966+CCj
ROM:1FFFBA3A MOVS R0, #0
ROM:1FFFBA3C POP {R1-R7,PC}
ROM:1FFFBA3C ; End of function sub_1FFFB966
ROM:1FFFBA3C
ROM:1FFFBA3C ; ---------------------------------------------------------------------------
ROM:1FFFBA3E DCB 0
ROM:1FFFBA3F DCB 0
ROM:1FFFBA40 dword_1FFFBA40 DCD 0x40021010 ; DATA XREF: trigger_canbusr
ROM:1FFFBA40 ; sub_1FFFB662+3Ar
ROM:1FFFBA44 dword_1FFFBA44 DCD 0x40010004 ; DATA XREF: trigger_canbus+24r
ROM:1FFFBA48 dword_1FFFBA48 DCD 0x40010C00 ; DATA XREF: trigger_canbus+30r
ROM:1FFFBA4C dword_1FFFBA4C DCD 0x4B844444 ; DATA XREF: trigger_canbus+34r
ROM:1FFFBA50 dword_1FFFBA50 DCD 0x20000C34 ; DATA XREF: check_canbus2+42r
ROM:1FFFBA50 ; sub_1FFFB966+14r
ROM:1FFFBA54 dword_1FFFBA54 DCD 0x4002100C ; DATA XREF: check_canbus2+50r
ROM:1FFFBA58 dword_1FFFBA58 DCD 0x4002200C ; DATA XREF: check_canbus2+54r
ROM:1FFFBA5C dword_1FFFBA5C DCD 0x20000164 ; DATA XREF: check_canbus2+5Cr
ROM:1FFFBA5C ; sub_1FFFB662+16r ...
ROM:1FFFBA60 dword_1FFFBA60 DCD 0xE000E010 ; DATA XREF: check_canbus2+A4r
ROM:1FFFBA64 dword_1FFFBA64 DCD 0x40003000 ; DATA XREF: check_canbus2:check_canbusr
ROM:1FFFBA64 ; get_can_busr
ROM:1FFFBA68 dword_1FFFBA68 DCD 0x1FFFF800 ; DATA XREF: check_canbus2+2C4r
ROM:1FFFBA6C dword_1FFFBA6C DCD 0x1000F ; DATA XREF: sub_1FFFB662+1Ar
ROM:1FFFBA70 dword_1FFFBA70 DCD 0x10007 ; DATA XREF: sub_1FFFB662+22r
ROM:1FFFBA74 dword_1FFFBA74 DCD 0x10003 ; DATA XREF: sub_1FFFB662+28r
ROM:1FFFBA78 dword_1FFFBA78 DCD 0x4000680C ; DATA XREF: sub_1FFFB662+3Er
ROM:1FFFBA78 ; sub_1FFFB844r ...
ROM:1FFFBA7C dword_1FFFBA7C DCD 0x110027 ; DATA XREF: sub_1FFFB662+4Er
ROM:1FFFBA80 dword_1FFFBA80 DCD 0x110013 ; DATA XREF: sub_1FFFB662+56r
ROM:1FFFBA84 dword_1FFFBA84 DCD 0x110009 ; DATA XREF: sub_1FFFB662+5Cr
ROM:1FFFBA88 dword_1FFFBA88 DCD 0x110004 ; DATA XREF: sub_1FFFB662+62r
ROM:1FFFBA8C dword_1FFFBA8C DCD 0x21001F ; DATA XREF: sub_1FFFB662+88r
ROM:1FFFBA90 dword_1FFFBA90 DCD 0x21000F ; DATA XREF: sub_1FFFB662+90r
ROM:1FFFBA94 dword_1FFFBA94 DCD 0x210007 ; DATA XREF: sub_1FFFB662+96r
ROM:1FFFBA98 dword_1FFFBA98 DCD 0x210003 ; DATA XREF: sub_1FFFB662+9Cr
ROM:1FFFBA9C dword_1FFFBA9C DCD 0x400069B0 ; DATA XREF: sub_1FFFB662+CAr
ROM:1FFFBA9C ; sub_1FFFB844:loc_1FFFB850r
ROM:1FFFBAA0 dword_1FFFBAA0 DCD 0x40006800 ; DATA XREF: sub_1FFFB75E+Er
ROM:1FFFBAA4 dword_1FFFBAA4 DCD 0x40006980 ; DATA XREF: sub_1FFFB7C2+6r
ROM:1FFFBAA8 dword_1FFFBAA8 DCD 0x40006808 ; DATA XREF: sub_1FFFB8AAr
ROM:1FFFBAAC dword_1FFFBAAC DCD 0x40006818 ; DATA XREF: sub_1FFFB8EC+2r
ROM:1FFFBAB0 dword_1FFFBAB0 DCD 0x40006600 ; DATA XREF: trigger_canbus:loc_1FFFB8FCr
ROM:1FFFBAB4 dword_1FFFBAB4 DCD 0x400066B0 ; DATA XREF: trigger_canbus+7C6r
ROM:1FFFBAB8
ROM:1FFFBAB8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBAB8
ROM:1FFFBAB8
ROM:1FFFBAB8 sub_1FFFBAB8 ; DATA XREF: check_canbus2+8o
ROM:1FFFBAB8 LSRS R1, R7, #0x11
ROM:1FFFBABA MOVS R0, R4
ROM:1FFFBABC LSLS R1, R0, #8
ROM:1FFFBABE ASRS R3, R0, #4
ROM:1FFFBAC0 ADDS R1, #0x21
ROM:1FFFBAC2 STR R3, [R0,#0x34]
ROM:1FFFBAC4 STRH R3, [R6,#0x12]
ROM:1FFFBAC6 LDRB R2, [R2,#6]
ROM:1FFFBAC6 ; End of function sub_1FFFBAB8
ROM:1FFFBAC6
ROM:1FFFBAC8
ROM:1FFFBAC8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBAC8
ROM:1FFFBAC8 ; N 当用两个补码表示的带符号数进行运算时,N=1表示运算的结果为负数;N=0表示运算的结果为正数或零.
ROM:1FFFBAC8 ; Z Z=1表示运算的结果为零,Z=0表示运算的结果非零。
ROM:1FFFBAC8 ; C 可以有4种方法设置C的值:
ROM:1FFFBAC8 ; 加法运算(包括CMN):当运算结果产生了进位时(无符号数溢出),C=1,否则C=0。
ROM:1FFFBAC8 ; 减法运算(包括CMP):当运算时产生了借位时(无符号数溢出),C=0,否则C=1。
ROM:1FFFBAC8 ; 对于包含移位操作的非加/减运算指令,C为移出值的最后一位。
ROM:1FFFBAC8 ; 对于其它的非加/减运算指令,C的值通常不会改变。
ROM:1FFFBAC8 ; V 可以有2种方法设置V的值:
ROM:1FFFBAC8 ; 对于加减法运算指令,当操作数和运算结果为二进制的补码表示的带符号数时,V=1表示符号位溢出
ROM:1FFFBAC8 ; 对于其它的非加/减运算指令,V的值通常不会改变。
ROM:1FFFBAC8 ;
ROM:1FFFBAC8 ; 0000 = EQ - Z set (equal,相等)
ROM:1FFFBAC8 ; 0001 = NE - Z clear (not equal,不相等)
ROM:1FFFBAC8 ; 0010 = CS - C set (unsigned higher or same,无符号大于或等于)
ROM:1FFFBAC8 ; 0011 = CC - C clear (unsigned lower,无符号小于)
ROM:1FFFBAC8 ; 0100 = MI - N set (negative,负数)
ROM:1FFFBAC8 ; 0101 = PL - N clear (positive or zero,正数或零)
ROM:1FFFBAC8 ; 0110 = VS - V set (overflow,溢出)
ROM:1FFFBAC8 ; 0111 = VC - V clear (no overflow,未溢出)
ROM:1FFFBAC8 ; 1000 = HI - C set and Z clear (unsigned higher,无符号大于)
ROM:1FFFBAC8 ; 1001 = LS - C clear or Z set (unsigned lower or same,无符号小于或等于)
ROM:1FFFBAC8 ; 1010 = GE - N set and V set, or N clear and V clear (greater or equal,带符号大于或等于)
ROM:1FFFBAC8 ; 1011 = LT - N set and V clear, or N clear and V set (less than,带符号小于)
ROM:1FFFBAC8 ; 1100 = GT - Z clear, and either N set and V set, or N clear and V clear (greater than,带符号大于)
ROM:1FFFBAC8 ; 1101 = LE - Z set, or N set and V clear, or N clear and V set (less than or equal,带符号小于或等于)
ROM:1FFFBAC8 ; 1110 = AL - always
ROM:1FFFBAC8 ; 1111 = NV - never
ROM:1FFFBAC8 ;
ROM:1FFFBAC8
ROM:1FFFBAC8 memcpy ; CODE XREF: check_canbus2+Ep
ROM:1FFFBAC8 ; uart_monitor+Ep
ROM:1FFFBAC8 SUBS R2, #0x10 ; 减法操作,有溢出否?
ROM:1FFFBACA BCC loc_1FFFBADC ; 有溢出
ROM:1FFFBACC PUSH {R4,R5} ; 没有溢出
ROM:1FFFBACE
ROM:1FFFBACE loc_1FFFBACE ; CODE XREF: memcpy+10j
ROM:1FFFBACE LDMIA.W R1!, {R3-R5,R12}
ROM:1FFFBAD2 SUBS R2, #0x10
ROM:1FFFBAD4 STMIA.W R0!, {R3-R5,R12}
ROM:1FFFBAD8 BCS loc_1FFFBACE
ROM:1FFFBADA POP {R4,R5}
ROM:1FFFBADC
ROM:1FFFBADC loc_1FFFBADC ; CODE XREF: memcpy+2j
ROM:1FFFBADC LSLS R3, R2, #0x1D ; 有溢出
ROM:1FFFBADE ITT CS ; cs=bit3
ROM:1FFFBADE ; tt->后续2条条件执行命令
ROM:1FFFBADE ; cs为1,说明数据比8大于或等于
ROM:1FFFBAE0 LDMCSIA.W R1!, {R3,R12}
ROM:1FFFBAE4 STMCSIA.W R0!, {R3,R12}
ROM:1FFFBAE8
ROM:1FFFBAE8 loc_1FFFBAE8 ; CODE XREF: ROM:1FFFBB1Cj
ROM:1FFFBAE8 ITT MI ; 判断bit2,为1,说明至少>=4
ROM:1FFFBAEA LDRMI.W R3, [R1],#4
ROM:1FFFBAEE STRMI.W R3, [R0],#4
ROM:1FFFBAF2 LSLS R2, R2, #0x1F ; 判断bit1
ROM:1FFFBAF4 ITT CS ; 判断bit1,为1,说明至少>=2
ROM:1FFFBAF6 LDRCSH.W R2, [R1],#2
ROM:1FFFBAFA STRCSH.W R2, [R0],#2
ROM:1FFFBAFE ITT MI ; 判断bit0
ROM:1FFFBB00 LDRMIB R3, [R1]
ROM:1FFFBB02 STRMIB R3, [R0]
ROM:1FFFBB04 BX LR
ROM:1FFFBB04 ; End of function memcpy
ROM:1FFFBB04
ROM:1FFFBB06 ; ---------------------------------------------------------------------------
ROM:1FFFBB06 SUBS R2, #8
ROM:1FFFBB08 BCC loc_1FFFBB1A
ROM:1FFFBB0A
ROM:1FFFBB0A loc_1FFFBB0A ; CODE XREF: ROM:1FFFBB18j
ROM:1FFFBB0A LDMIA.W R1!, {R3,R12}
ROM:1FFFBB0E SUBS R2, #8
ROM:1FFFBB10 STR.W R3, [R0],#4
ROM:1FFFBB14 STR.W R12, [R0],#4
ROM:1FFFBB18 BCS loc_1FFFBB0A
ROM:1FFFBB1A
ROM:1FFFBB1A loc_1FFFBB1A ; CODE XREF: ROM:1FFFBB08j
ROM:1FFFBB1A LSLS R3, R2, #0x1D
ROM:1FFFBB1C B loc_1FFFBAE8 ; 判断bit2,为1,说明至少>=4
ROM:1FFFBB1E
ROM:1FFFBB1E ; =============== S U B R O U T I N E =======================================
ROM:1FFFBB1E
ROM:1FFFBB1E
ROM:1FFFBB1E g_data_init
ROM:1FFFBB1E PUSH {R4}
ROM:1FFFBB20
ROM:1FFFBB20 loc_1FFFBB20 ; CODE XREF: g_data_init+28j
ROM:1FFFBB20 LDR.W R1, [R0],#4
ROM:1FFFBB24 CBZ R1, loc_1FFFBB48
ROM:1FFFBB26 LDR R2, [R0]
ROM:1FFFBB28 ADDS R2, R2, R0
ROM:1FFFBB2A ADDS R0, R0, #4
ROM:1FFFBB2C LDR.W R3, [R0],#4
ROM:1FFFBB30 LSLS R4, R3, #0x1F
ROM:1FFFBB32 ITT MI
ROM:1FFFBB34 SUBMI.W R4, R9, #1
ROM:1FFFBB38 ADDMI R3, R4, R3
ROM:1FFFBB3A
ROM:1FFFBB3A loc_1FFFBB3A ; CODE XREF: g_data_init+26j
ROM:1FFFBB3A LDR.W R4, [R2],#4
ROM:1FFFBB3E STR.W R4, [R3],#4
ROM:1FFFBB42 SUBS R1, R1, #4
ROM:1FFFBB44 BNE loc_1FFFBB3A
ROM:1FFFBB46 B loc_1FFFBB20
ROM:1FFFBB48 ; ---------------------------------------------------------------------------
ROM:1FFFBB48
ROM:1FFFBB48 loc_1FFFBB48 ; CODE XREF: g_data_init+6j
ROM:1FFFBB48 POP {R4}
ROM:1FFFBB4A BX LR
ROM:1FFFBB4A ; End of function g_data_init
ROM:1FFFBB4A
ROM:1FFFBB4C ; 4: if ( (unsigned int)(a1 - 0x8000000) >= 0x40000 )
ROM:1FFFBB4C
ROM:1FFFBB4C ; =============== S U B R O U T I N E =======================================
ROM:1FFFBB4C
ROM:1FFFBB4C
ROM:1FFFBB4C ; signed int __fastcall get_mem_block(int addr)
ROM:1FFFBB4C get_mem_block ; CODE XREF: check_canbus2+474j
ROM:1FFFBB4C ; sub_1FFFC2EE+D0p ...
ROM:1FFFBB4C SUB.W R1, R0, #0x8000000
ROM:1FFFBB50 CMP.W R1, #0x40000
ROM:1FFFBB54 BCS loc_1FFFBB5A
ROM:1FFFBB56 ; 27: result = 2;
ROM:1FFFBB56 MOVS R0, #2
ROM:1FFFBB58 BX LR
ROM:1FFFBB5A ; ---------------------------------------------------------------------------
ROM:1FFFBB5A ; 6: if ( (unsigned int)(a1 - 0x20001000) >= 0xF000 )
ROM:1FFFBB5A
ROM:1FFFBB5A loc_1FFFBB5A ; CODE XREF: get_mem_block+8j
ROM:1FFFBB5A LDR R1, =0xDFFFF000
ROM:1FFFBB5C ADDS R1, R1, R0
ROM:1FFFBB5E CMP.W R1, #0xF000
ROM:1FFFBB62 BCS loc_1FFFBB68
ROM:1FFFBB64 ; 22: result = 3;
ROM:1FFFBB64 MOVS R0, #3
ROM:1FFFBB66 BX LR
ROM:1FFFBB68 ; ---------------------------------------------------------------------------
ROM:1FFFBB68 ; 8: if ( (unsigned int)(a1 - 0x1FFFF800) >= 0x800 )
ROM:1FFFBB68
ROM:1FFFBB68 loc_1FFFBB68 ; CODE XREF: get_mem_block+16j
ROM:1FFFBB68 ADD.W R1, R0, #0xE0000000
ROM:1FFFBB6C ADD.W R1, R1, #0x800
ROM:1FFFBB70 CMP.W R1, #0x800
ROM:1FFFBB74 BCS loc_1FFFBB7A
ROM:1FFFBB76 ; 17: result = 4;
ROM:1FFFBB76 MOVS R0, #4
ROM:1FFFBB78 BX LR
ROM:1FFFBB7A ; ---------------------------------------------------------------------------
ROM:1FFFBB7A ; 10: if ( (unsigned int)(a1 - 0x1FFFB000) >= 0x4800 )
ROM:1FFFBB7A
ROM:1FFFBB7A loc_1FFFBB7A ; CODE XREF: get_mem_block+28j
ROM:1FFFBB7A ADD.W R0, R0, #0xE0000000
ROM:1FFFBB7E ADD.W R0, R0, #0x5000
ROM:1FFFBB82 CMP.W R0, #0x4800
ROM:1FFFBB86 BCS loc_1FFFBB8C
ROM:1FFFBB88 ; 13: result = 5;
ROM:1FFFBB88 MOVS R0, #5
ROM:1FFFBB8A BX LR
ROM:1FFFBB8C ; ---------------------------------------------------------------------------
ROM:1FFFBB8C ; 11: result = 1;
ROM:1FFFBB8C
ROM:1FFFBB8C loc_1FFFBB8C ; CODE XREF: get_mem_block+3Aj
ROM:1FFFBB8C MOVS R0, #1
ROM:1FFFBB8E BX LR
ROM:1FFFBB8E ; End of function get_mem_block
ROM:1FFFBB8E
ROM:1FFFBB90
ROM:1FFFBB90 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBB90
ROM:1FFFBB90
ROM:1FFFBB90 clear_all_mem ; CODE XREF: check_canbus2+448p
ROM:1FFFBB90 ; sub_1FFFC2EE+A6p ...
ROM:1FFFBB90 LDR R0, =0x2000FFFC
ROM:1FFFBB92 MOVS R1, #0
ROM:1FFFBB94
ROM:1FFFBB94 loc_1FFFBB94 ; CODE XREF: clear_all_mem+Cj
ROM:1FFFBB94 STR.W R1, [R0],#-4
ROM:1FFFBB98 CMP.W R0, #0x20000000
ROM:1FFFBB9C BNE loc_1FFFBB94
ROM:1FFFBB9E BX LR
ROM:1FFFBB9E ; End of function clear_all_mem
ROM:1FFFBB9E
ROM:1FFFBBA0
ROM:1FFFBBA0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBBA0
ROM:1FFFBBA0
ROM:1FFFBBA0 sys_reset ; CODE XREF: check_canbus2+3Ap
ROM:1FFFBBA0 ; check_canbus2+328p ...
ROM:1FFFBBA0 LDR R0, =0xE000ED0C
ROM:1FFFBBA2 LDR R1, =0x5FA0004
ROM:1FFFBBA4 STR R1, [R0]
ROM:1FFFBBA6 BX LR
ROM:1FFFBBA6 ; End of function sys_reset
ROM:1FFFBBA6
ROM:1FFFBBA6 ; ---------------------------------------------------------------------------
ROM:1FFFBBA8 dword_1FFFBBA8 DCD 0xDFFFF000 ; DATA XREF: get_mem_block:loc_1FFFBB5Ar
ROM:1FFFBBAC dword_1FFFBBAC DCD 0x2000FFFC ; DATA XREF: clear_all_memr
ROM:1FFFBBB0 dword_1FFFBBB0 DCD 0xE000ED0C ; DATA XREF: sys_resetr
ROM:1FFFBBB4 dword_1FFFBBB4 DCD 0x5FA0004 ; DATA XREF: sys_reset+2r
ROM:1FFFBBB8
ROM:1FFFBBB8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBBB8
ROM:1FFFBBB8
ROM:1FFFBBB8 set_MSP ; CODE XREF: check_canbus2+B8p
ROM:1FFFBBB8 ; uart_monitor+184p ...
ROM:1FFFBBB8 MSR.W MSP, R0
ROM:1FFFBBBC BX LR
ROM:1FFFBBBC ; End of function set_MSP
ROM:1FFFBBBC
ROM:1FFFBBBC ; ---------------------------------------------------------------------------
ROM:1FFFBBBE DCB 0x70 ; p
ROM:1FFFBBBF DCB 0x47 ; G
ROM:1FFFBBC0
ROM:1FFFBBC0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBBC0
ROM:1FFFBBC0
ROM:1FFFBBC0 disable_irq ; CODE XREF: check_canbus2+3Ep
ROM:1FFFBBC0 ; uart_ready+2p ...
ROM:1FFFBBC0 CPSID I
ROM:1FFFBBC2 BX LR
ROM:1FFFBBC2 ; End of function disable_irq
ROM:1FFFBBC2
ROM:1FFFBBC2 ; ---------------------------------------------------------------------------
ROM:1FFFBBC4 DCB 0x70 ; p
ROM:1FFFBBC5 DCB 0x47 ; G
ROM:1FFFBBC6 DCB 0
ROM:1FFFBBC7 DCB 0
ROM:1FFFBBC8
ROM:1FFFBBC8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBBC8
ROM:1FFFBBC8
ROM:1FFFBBC8 enable_irq ; CODE XREF: check_canbus2+ACp
ROM:1FFFBBC8 ; uart_monitor+178p ...
ROM:1FFFBBC8 CPSIE I
ROM:1FFFBBCA BX LR
ROM:1FFFBBCA ; End of function enable_irq
ROM:1FFFBBCA
ROM:1FFFBBCC ; ---------------------------------------------------------------------------
ROM:1FFFBBCC BX LR
ROM:1FFFBBCE
ROM:1FFFBBCE ; =============== S U B R O U T I N E =======================================
ROM:1FFFBBCE
ROM:1FFFBBCE
ROM:1FFFBBCE bss_clear ; CODE XREF: bss_clear+1Ej
ROM:1FFFBBCE ; sys_create+18p
ROM:1FFFBBCE LDR.W R1, [R0],#4
ROM:1FFFBBD2 CBZ R1, locret_1FFFBBEE
ROM:1FFFBBD4 LDR.W R2, [R0],#4
ROM:1FFFBBD8 LSLS R3, R2, #0x1F
ROM:1FFFBBDA ITT MI
ROM:1FFFBBDC SUBMI.W R3, R9, #1
ROM:1FFFBBE0 ADDMI R2, R3, R2
ROM:1FFFBBE2
ROM:1FFFBBE2 loc_1FFFBBE2 ; CODE XREF: bss_clear+1Cj
ROM:1FFFBBE2 MOVS R3, #0
ROM:1FFFBBE4 STR.W R3, [R2],#4
ROM:1FFFBBE8 SUBS R1, R1, #4
ROM:1FFFBBEA BNE loc_1FFFBBE2
ROM:1FFFBBEC B bss_clear
ROM:1FFFBBEE ; ---------------------------------------------------------------------------
ROM:1FFFBBEE
ROM:1FFFBBEE locret_1FFFBBEE ; CODE XREF: bss_clear+4j
ROM:1FFFBBEE BX LR
ROM:1FFFBBEE ; End of function bss_clear
ROM:1FFFBBEE
ROM:1FFFBBF0
ROM:1FFFBBF0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBBF0
ROM:1FFFBBF0
ROM:1FFFBBF0 sub_1FFFBBF0 ; CODE XREF: sub_1FFFB662+Cp
ROM:1FFFBBF0 ; sub_1FFFB662+78p ...
ROM:1FFFBBF0
ROM:1FFFBBF0 var_18 = -0x18
ROM:1FFFBBF0
ROM:1FFFBBF0 PUSH {R4-R6,LR}
ROM:1FFFBBF2 SUB SP, SP, #8
ROM:1FFFBBF4 MOVS R0, #0
ROM:1FFFBBF6 STR R0, [SP,#0x18+var_18]
ROM:1FFFBBF8 BL FLASH_UnlockBank1
ROM:1FFFBBFC BL RCC_init
ROM:1FFFBC00 LDR.W R4, =0x40021000
ROM:1FFFBC04 LDR R0, [R4]
ROM:1FFFBC06 BIC.W R0, R0, #0x10000
ROM:1FFFBC0A STR R0, [R4]
ROM:1FFFBC0C LDR R0, [R4]
ROM:1FFFBC0E BIC.W R0, R0, #0x40000
ROM:1FFFBC12 STR R0, [R4]
ROM:1FFFBC14 LDR R0, [R4]
ROM:1FFFBC16 ORR.W R0, R0, #0x10000
ROM:1FFFBC1A STR R0, [R4]
ROM:1FFFBC1C LDR.W R5, =0x2000023C
ROM:1FFFBC20 MOV.W R6, #0xB000000
ROM:1FFFBC24 STR R6, [R5]
ROM:1FFFBC26 B loc_1FFFBC2E
ROM:1FFFBC28 ; ---------------------------------------------------------------------------
ROM:1FFFBC28
ROM:1FFFBC28 loc_1FFFBC28 ; CODE XREF: sub_1FFFBBF0+48j
ROM:1FFFBC28 LDR R0, [R5]
ROM:1FFFBC2A SUBS R0, R0, #1
ROM:1FFFBC2C STR R0, [R5]
ROM:1FFFBC2E
ROM:1FFFBC2E loc_1FFFBC2E ; CODE XREF: sub_1FFFBBF0+36j
ROM:1FFFBC2E LDR R0, [R4]
ROM:1FFFBC30 LSLS R0, R0, #0xE
ROM:1FFFBC32 BMI loc_1FFFBC3A
ROM:1FFFBC34 LDR R0, [R5]
ROM:1FFFBC36 CMP R0, #0
ROM:1FFFBC38 BNE loc_1FFFBC28
ROM:1FFFBC3A
ROM:1FFFBC3A loc_1FFFBC3A ; CODE XREF: sub_1FFFBBF0+42j
ROM:1FFFBC3A LDR R0, [R5]
ROM:1FFFBC3C CBNZ R0, loc_1FFFBC42
ROM:1FFFBC3E BL sys_reset
ROM:1FFFBC42
ROM:1FFFBC42 loc_1FFFBC42 ; CODE XREF: sub_1FFFBBF0+4Cj
ROM:1FFFBC42 LDR R0, [R4,#4]
ROM:1FFFBC44 STR R0, [SP,#0x18+var_18]
ROM:1FFFBC46 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBC48 LSRS R0, R0, #2
ROM:1FFFBC4A LSLS R0, R0, #2
ROM:1FFFBC4C STR R0, [SP,#0x18+var_18]
ROM:1FFFBC4E LDR R0, [SP,#0x18+var_18]
ROM:1FFFBC50 ORR.W R0, R0, #1
ROM:1FFFBC54 STR R0, [SP,#0x18+var_18]
ROM:1FFFBC56 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBC58 STR R0, [R4,#4]
ROM:1FFFBC5A STR R6, [R5]
ROM:1FFFBC5C B loc_1FFFBC64
ROM:1FFFBC5E ; ---------------------------------------------------------------------------
ROM:1FFFBC5E
ROM:1FFFBC5E loc_1FFFBC5E ; CODE XREF: sub_1FFFBBF0+7Ej
ROM:1FFFBC5E LDR R0, [R5]
ROM:1FFFBC60 SUBS R0, R0, #1
ROM:1FFFBC62 STR R0, [R5]
ROM:1FFFBC64
ROM:1FFFBC64 loc_1FFFBC64 ; CODE XREF: sub_1FFFBBF0+6Cj
ROM:1FFFBC64 LDR R0, [R4,#4]
ROM:1FFFBC66 LSLS R0, R0, #0x1D
ROM:1FFFBC68 BMI loc_1FFFBC70
ROM:1FFFBC6A LDR R0, [R5]
ROM:1FFFBC6C CMP R0, #0
ROM:1FFFBC6E BNE loc_1FFFBC5E
ROM:1FFFBC70
ROM:1FFFBC70 loc_1FFFBC70 ; CODE XREF: sub_1FFFBBF0+78j
ROM:1FFFBC70 LDR R0, [R5]
ROM:1FFFBC72 CBNZ R0, loc_1FFFBC78
ROM:1FFFBC74 BL sys_reset
ROM:1FFFBC78
ROM:1FFFBC78 loc_1FFFBC78 ; CODE XREF: sub_1FFFBBF0+82j
ROM:1FFFBC78 LDR.W R0, =0x40022000
ROM:1FFFBC7C LDR R1, [R0]
ROM:1FFFBC7E AND.W R1, R1, #0x38
ROM:1FFFBC82 STR R1, [R0]
ROM:1FFFBC84 LDR R1, [R0]
ROM:1FFFBC86 ORR.W R1, R1, #2
ROM:1FFFBC8A STR R1, [R0]
ROM:1FFFBC8C LDR.W R0, =0x4242004C
ROM:1FFFBC90 MOVS R1, #1
ROM:1FFFBC92 STR R1, [R0]
ROM:1FFFBC94 POP {R0,R1,R4-R6,PC}
ROM:1FFFBC94 ; End of function sub_1FFFBBF0
ROM:1FFFBC94
ROM:1FFFBC96
ROM:1FFFBC96 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBC96
ROM:1FFFBC96
ROM:1FFFBC96 sub_1FFFBC96 ; CODE XREF: sub_1FFFB662+12p
ROM:1FFFBC96 ; sub_1FFFB662+80p
ROM:1FFFBC96
ROM:1FFFBC96 var_4 = -4
ROM:1FFFBC96
ROM:1FFFBC96 SUB SP, SP, #4
ROM:1FFFBC98 MOVS R1, #0
ROM:1FFFBC9A STR R1, [SP,#4+var_4]
ROM:1FFFBC9C LDR.W R1, =0x40021004
ROM:1FFFBCA0 LDR R2, [R1]
ROM:1FFFBCA2 STR R2, [SP,#4+var_4]
ROM:1FFFBCA4 LDR R2, [SP,#4+var_4]
ROM:1FFFBCA6 BIC.W R2, R2, #0x700
ROM:1FFFBCAA STR R2, [SP,#4+var_4]
ROM:1FFFBCAC LDR R2, [SP,#4+var_4]
ROM:1FFFBCAE ORRS R0, R2
ROM:1FFFBCB0 STR R0, [SP,#4+var_4]
ROM:1FFFBCB2 LDR R0, [SP,#4+var_4]
ROM:1FFFBCB4 STR R0, [R1]
ROM:1FFFBCB6 ADD SP, SP, #4
ROM:1FFFBCB8 BX LR
ROM:1FFFBCB8 ; End of function sub_1FFFBC96
ROM:1FFFBCB8
ROM:1FFFBCBA
ROM:1FFFBCBA ; =============== S U B R O U T I N E =======================================
ROM:1FFFBCBA
ROM:1FFFBCBA
ROM:1FFFBCBA clk_cfg ; CODE XREF: sub_1FFFC9AA+5Cp
ROM:1FFFBCBA ; g_sys_init+1Ep
ROM:1FFFBCBA
ROM:1FFFBCBA var_10 = -0x10
ROM:1FFFBCBA
ROM:1FFFBCBA PUSH {R4,LR}
ROM:1FFFBCBC SUB SP, SP, #8
ROM:1FFFBCBE MOVS R0, #0
ROM:1FFFBCC0 STR R0, [SP,#0x10+var_10]
ROM:1FFFBCC2 BL FLASH_UnlockBank1
ROM:1FFFBCC6 BL RCC_init
ROM:1FFFBCCA LDR.W R4, =0x40021000 ; RCC_BASE
ROM:1FFFBCCE MOV.W R0, #0x100000
ROM:1FFFBCD2 STR R0, [R4,#4]
ROM:1FFFBCD4 LDR.W R0, =0x42420060
ROM:1FFFBCD8 MOVS R1, #1
ROM:1FFFBCDA STR R1, [R0]
ROM:1FFFBCDC LDR R0, [R4]
ROM:1FFFBCDE ORR.W R0, R0, #0x10000
ROM:1FFFBCE2 STR R0, [R4]
ROM:1FFFBCE4 LDR.W R0, =0x2000023C
ROM:1FFFBCE8 MOV.W R1, #0xB000000
ROM:1FFFBCEC B loc_1FFFBCF2
ROM:1FFFBCEE ; ---------------------------------------------------------------------------
ROM:1FFFBCEE
ROM:1FFFBCEE loc_1FFFBCEE ; CODE XREF: clk_cfg+44j
ROM:1FFFBCEE LDR R1, [R0]
ROM:1FFFBCF0 SUBS R1, R1, #1
ROM:1FFFBCF2
ROM:1FFFBCF2 loc_1FFFBCF2 ; CODE XREF: clk_cfg+32j
ROM:1FFFBCF2 STR R1, [R0]
ROM:1FFFBCF4 LDR R1, [R4]
ROM:1FFFBCF6 LSLS R1, R1, #6
ROM:1FFFBCF8 BMI loc_1FFFBD00
ROM:1FFFBCFA LDR R1, [R0]
ROM:1FFFBCFC CMP R1, #0
ROM:1FFFBCFE BNE loc_1FFFBCEE
ROM:1FFFBD00
ROM:1FFFBD00 loc_1FFFBD00 ; CODE XREF: clk_cfg+3Ej
ROM:1FFFBD00 LDR R0, [R0]
ROM:1FFFBD02 CBNZ R0, loc_1FFFBD08
ROM:1FFFBD04 BL sys_reset
ROM:1FFFBD08
ROM:1FFFBD08 loc_1FFFBD08 ; CODE XREF: clk_cfg+48j
ROM:1FFFBD08 LDR R0, [R4]
ROM:1FFFBD0A BIC.W R0, R0, #0x10000
ROM:1FFFBD0E STR R0, [R4]
ROM:1FFFBD10 LDR.W R0, =0x100002
ROM:1FFFBD14 STR R0, [R4,#4]
ROM:1FFFBD16 POP {R0,R1,R4,PC}
ROM:1FFFBD16 ; End of function clk_cfg
ROM:1FFFBD16
ROM:1FFFBD18
ROM:1FFFBD18 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBD18
ROM:1FFFBD18
ROM:1FFFBD18 sub_1FFFBD18 ; CODE XREF: ROM:loc_1FFFE328p
ROM:1FFFBD18
ROM:1FFFBD18 var_18 = -0x18
ROM:1FFFBD18
ROM:1FFFBD18 PUSH {R3-R7,LR}
ROM:1FFFBD1A MOVS R0, #0
ROM:1FFFBD1C STR R0, [SP,#0x18+var_18]
ROM:1FFFBD1E LDR.W R4, =0x42420060
ROM:1FFFBD22 STR R0, [R4]
ROM:1FFFBD24 STR R0, [R4,#8]
ROM:1FFFBD26 LDR.W R5, =0x40021000
ROM:1FFFBD2A LDR R0, [R5,#0x2C]
ROM:1FFFBD2C STR R0, [SP,#0x18+var_18]
ROM:1FFFBD2E LDR R0, [SP,#0x18+var_18]
ROM:1FFFBD30 BIC.W R0, R0, #0xF0
ROM:1FFFBD34 STR R0, [SP,#0x18+var_18]
ROM:1FFFBD36 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBD38 ORR.W R0, R0, #0x40
ROM:1FFFBD3C STR R0, [SP,#0x18+var_18]
ROM:1FFFBD3E LDR R0, [SP,#0x18+var_18]
ROM:1FFFBD40 STR R0, [R5,#0x2C]
ROM:1FFFBD42 LDR R0, [R5,#0x2C]
ROM:1FFFBD44 STR R0, [SP,#0x18+var_18]
ROM:1FFFBD46 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBD48 BIC.W R0, R0, #0xF00
ROM:1FFFBD4C STR R0, [SP,#0x18+var_18]
ROM:1FFFBD4E LDR R0, [SP,#0x18+var_18]
ROM:1FFFBD50 ORR.W R0, R0, #0x600
ROM:1FFFBD54 STR R0, [SP,#0x18+var_18]
ROM:1FFFBD56 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBD58 STR R0, [R5,#0x2C]
ROM:1FFFBD5A MOVS R0, #1
ROM:1FFFBD5C STR R0, [R4,#8]
ROM:1FFFBD5E LDR.W R6, =0x2000023C
ROM:1FFFBD62 MOV.W R7, #0xB000000
ROM:1FFFBD66 STR R7, [R6]
ROM:1FFFBD68 B loc_1FFFBD70
ROM:1FFFBD6A ; ---------------------------------------------------------------------------
ROM:1FFFBD6A
ROM:1FFFBD6A loc_1FFFBD6A ; CODE XREF: sub_1FFFBD18+62j
ROM:1FFFBD6A LDR R0, [R6]
ROM:1FFFBD6C SUBS R0, R0, #1
ROM:1FFFBD6E STR R0, [R6]
ROM:1FFFBD70
ROM:1FFFBD70 loc_1FFFBD70 ; CODE XREF: sub_1FFFBD18+50j
ROM:1FFFBD70 LDR R0, [R5]
ROM:1FFFBD72 LSLS R0, R0, #4
ROM:1FFFBD74 BMI loc_1FFFBD7C
ROM:1FFFBD76 LDR R0, [R6]
ROM:1FFFBD78 CMP R0, #0
ROM:1FFFBD7A BNE loc_1FFFBD6A
ROM:1FFFBD7C
ROM:1FFFBD7C loc_1FFFBD7C ; CODE XREF: sub_1FFFBD18+5Cj
ROM:1FFFBD7C LDR R0, [R6]
ROM:1FFFBD7E CBNZ R0, loc_1FFFBD84
ROM:1FFFBD80 BL sys_reset
ROM:1FFFBD84
ROM:1FFFBD84 loc_1FFFBD84 ; CODE XREF: sub_1FFFBD18+66j
ROM:1FFFBD84 LDR R0, [R5,#0x2C]
ROM:1FFFBD86 STR R0, [SP,#0x18+var_18]
ROM:1FFFBD88 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBD8A LDR.W R1, =0xFFFEFFF0
ROM:1FFFBD8E ANDS R0, R1
ROM:1FFFBD90 STR R0, [SP,#0x18+var_18]
ROM:1FFFBD92 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBD94 ORR.W R0, R0, #0x10000
ROM:1FFFBD98 ORR.W R0, R0, #4
ROM:1FFFBD9C STR R0, [SP,#0x18+var_18]
ROM:1FFFBD9E LDR R0, [SP,#0x18+var_18]
ROM:1FFFBDA0 STR R0, [R5,#0x2C]
ROM:1FFFBDA2 LDR R0, [R5,#4]
ROM:1FFFBDA4 STR R0, [SP,#0x18+var_18]
ROM:1FFFBDA6 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBDA8 BIC.W R0, R0, #0x3D0000
ROM:1FFFBDAC STR R0, [SP,#0x18+var_18]
ROM:1FFFBDAE LDR R0, [SP,#0x18+var_18]
ROM:1FFFBDB0 ORR.W R0, R0, #0x110000
ROM:1FFFBDB4 STR R0, [SP,#0x18+var_18]
ROM:1FFFBDB6 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBDB8 STR R0, [R5,#4]
ROM:1FFFBDBA MOVS R0, #1
ROM:1FFFBDBC STR R0, [R4]
ROM:1FFFBDBE STR R7, [R6]
ROM:1FFFBDC0 B loc_1FFFBDC8
ROM:1FFFBDC2 ; ---------------------------------------------------------------------------
ROM:1FFFBDC2
ROM:1FFFBDC2 loc_1FFFBDC2 ; CODE XREF: sub_1FFFBD18+BAj
ROM:1FFFBDC2 LDR R0, [R6]
ROM:1FFFBDC4 SUBS R0, R0, #1
ROM:1FFFBDC6 STR R0, [R6]
ROM:1FFFBDC8
ROM:1FFFBDC8 loc_1FFFBDC8 ; CODE XREF: sub_1FFFBD18+A8j
ROM:1FFFBDC8 LDR R0, [R5]
ROM:1FFFBDCA LSLS R0, R0, #6
ROM:1FFFBDCC BMI loc_1FFFBDD4
ROM:1FFFBDCE LDR R0, [R6]
ROM:1FFFBDD0 CMP R0, #0
ROM:1FFFBDD2 BNE loc_1FFFBDC2
ROM:1FFFBDD4
ROM:1FFFBDD4 loc_1FFFBDD4 ; CODE XREF: sub_1FFFBD18+B4j
ROM:1FFFBDD4 LDR R0, [R6]
ROM:1FFFBDD6 CBNZ R0, loc_1FFFBDDC
ROM:1FFFBDD8 BL sys_reset
ROM:1FFFBDDC
ROM:1FFFBDDC loc_1FFFBDDC ; CODE XREF: sub_1FFFBD18+BEj
ROM:1FFFBDDC LDR R0, [R5,#4]
ROM:1FFFBDDE STR R0, [SP,#0x18+var_18]
ROM:1FFFBDE0 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBDE2 LSRS R0, R0, #2
ROM:1FFFBDE4 LSLS R0, R0, #2
ROM:1FFFBDE6 STR R0, [SP,#0x18+var_18]
ROM:1FFFBDE8 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBDEA ORR.W R0, R0, #2
ROM:1FFFBDEE STR R0, [SP,#0x18+var_18]
ROM:1FFFBDF0 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBDF2 STR R0, [R5,#4]
ROM:1FFFBDF4 STR R7, [R6]
ROM:1FFFBDF6 B loc_1FFFBDFE
ROM:1FFFBDF8 ; ---------------------------------------------------------------------------
ROM:1FFFBDF8
ROM:1FFFBDF8 loc_1FFFBDF8 ; CODE XREF: sub_1FFFBD18+F0j
ROM:1FFFBDF8 LDR R0, [R6]
ROM:1FFFBDFA SUBS R0, R0, #1
ROM:1FFFBDFC STR R0, [R6]
ROM:1FFFBDFE
ROM:1FFFBDFE loc_1FFFBDFE ; CODE XREF: sub_1FFFBD18+DEj
ROM:1FFFBDFE LDR R0, [R5,#4]
ROM:1FFFBE00 LSLS R0, R0, #0x1C
ROM:1FFFBE02 BMI loc_1FFFBE0A
ROM:1FFFBE04 LDR R0, [R6]
ROM:1FFFBE06 CMP R0, #0
ROM:1FFFBE08 BNE loc_1FFFBDF8
ROM:1FFFBE0A
ROM:1FFFBE0A loc_1FFFBE0A ; CODE XREF: sub_1FFFBD18+EAj
ROM:1FFFBE0A LDR R0, [R6]
ROM:1FFFBE0C CMP R0, #0
ROM:1FFFBE0E ITT EQ
ROM:1FFFBE10 POPEQ.W {R0,R4-R7,LR}
ROM:1FFFBE14 BEQ.W sys_reset
ROM:1FFFBE18 POP {R0,R4-R7,PC}
ROM:1FFFBE18 ; End of function sub_1FFFBD18
ROM:1FFFBE18
ROM:1FFFBE1A
ROM:1FFFBE1A ; =============== S U B R O U T I N E =======================================
ROM:1FFFBE1A
ROM:1FFFBE1A
ROM:1FFFBE1A sub_1FFFBE1A ; CODE XREF: sub_1FFFB662+84p
ROM:1FFFBE1A ; ROM:loc_1FFFE31Cp
ROM:1FFFBE1A
ROM:1FFFBE1A var_18 = -0x18
ROM:1FFFBE1A
ROM:1FFFBE1A PUSH {R4-R6,LR}
ROM:1FFFBE1C SUB SP, SP, #8
ROM:1FFFBE1E MOVS R0, #0
ROM:1FFFBE20 STR R0, [SP,#0x18+var_18]
ROM:1FFFBE22 LDR R0, =0x42420060
ROM:1FFFBE24 MOVS R1, #0
ROM:1FFFBE26 STR R1, [R0]
ROM:1FFFBE28 STR R1, [R0,#8]
ROM:1FFFBE2A LDR R4, =0x40021000
ROM:1FFFBE2C LDR R1, [R4,#0x2C]
ROM:1FFFBE2E STR R1, [SP,#0x18+var_18]
ROM:1FFFBE30 LDR R1, [SP,#0x18+var_18]
ROM:1FFFBE32 LDR R2, =0xFFFEFFF0
ROM:1FFFBE34 ANDS R1, R2
ROM:1FFFBE36 STR R1, [SP,#0x18+var_18]
ROM:1FFFBE38 LDR R1, [SP,#0x18+var_18]
ROM:1FFFBE3A ORR.W R1, R1, #1
ROM:1FFFBE3E STR R1, [SP,#0x18+var_18]
ROM:1FFFBE40 LDR R1, [SP,#0x18+var_18]
ROM:1FFFBE42 STR R1, [R4,#0x2C]
ROM:1FFFBE44 LDR R1, [R4,#4]
ROM:1FFFBE46 STR R1, [SP,#0x18+var_18]
ROM:1FFFBE48 LDR R1, [SP,#0x18+var_18]
ROM:1FFFBE4A BIC.W R1, R1, #0x3D0000
ROM:1FFFBE4E STR R1, [SP,#0x18+var_18]
ROM:1FFFBE50 LDR R1, [SP,#0x18+var_18]
ROM:1FFFBE52 ORR.W R1, R1, #0x350000
ROM:1FFFBE56 STR R1, [SP,#0x18+var_18]
ROM:1FFFBE58 LDR R1, [SP,#0x18+var_18]
ROM:1FFFBE5A STR R1, [R4,#4]
ROM:1FFFBE5C MOVS R1, #1
ROM:1FFFBE5E STR R1, [R0]
ROM:1FFFBE60 LDR R5, =0x2000023C
ROM:1FFFBE62 MOV.W R6, #0xB000000
ROM:1FFFBE66 STR R6, [R5]
ROM:1FFFBE68 B loc_1FFFBE70
ROM:1FFFBE6A ; ---------------------------------------------------------------------------
ROM:1FFFBE6A
ROM:1FFFBE6A loc_1FFFBE6A ; CODE XREF: sub_1FFFBE1A+60j
ROM:1FFFBE6A LDR R0, [R5]
ROM:1FFFBE6C SUBS R0, R0, #1
ROM:1FFFBE6E STR R0, [R5]
ROM:1FFFBE70
ROM:1FFFBE70 loc_1FFFBE70 ; CODE XREF: sub_1FFFBE1A+4Ej
ROM:1FFFBE70 LDR R0, [R4]
ROM:1FFFBE72 LSLS R0, R0, #6
ROM:1FFFBE74 BMI loc_1FFFBE7C
ROM:1FFFBE76 LDR R0, [R5]
ROM:1FFFBE78 CMP R0, #0
ROM:1FFFBE7A BNE loc_1FFFBE6A
ROM:1FFFBE7C
ROM:1FFFBE7C loc_1FFFBE7C ; CODE XREF: sub_1FFFBE1A+5Aj
ROM:1FFFBE7C LDR R0, [R5]
ROM:1FFFBE7E CBNZ R0, loc_1FFFBE84
ROM:1FFFBE80 BL sys_reset
ROM:1FFFBE84
ROM:1FFFBE84 loc_1FFFBE84 ; CODE XREF: sub_1FFFBE1A+64j
ROM:1FFFBE84 LDR R0, [R4,#4]
ROM:1FFFBE86 STR R0, [SP,#0x18+var_18]
ROM:1FFFBE88 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBE8A LSRS R0, R0, #2
ROM:1FFFBE8C LSLS R0, R0, #2
ROM:1FFFBE8E STR R0, [SP,#0x18+var_18]
ROM:1FFFBE90 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBE92 ORR.W R0, R0, #2
ROM:1FFFBE96 STR R0, [SP,#0x18+var_18]
ROM:1FFFBE98 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBE9A STR R0, [R4,#4]
ROM:1FFFBE9C STR R6, [R5]
ROM:1FFFBE9E B loc_1FFFBEA6
ROM:1FFFBEA0 ; ---------------------------------------------------------------------------
ROM:1FFFBEA0
ROM:1FFFBEA0 loc_1FFFBEA0 ; CODE XREF: sub_1FFFBE1A+96j
ROM:1FFFBEA0 LDR R0, [R5]
ROM:1FFFBEA2 SUBS R0, R0, #1
ROM:1FFFBEA4 STR R0, [R5]
ROM:1FFFBEA6
ROM:1FFFBEA6 loc_1FFFBEA6 ; CODE XREF: sub_1FFFBE1A+84j
ROM:1FFFBEA6 LDR R0, [R4,#4]
ROM:1FFFBEA8 LSLS R0, R0, #0x1C
ROM:1FFFBEAA BMI loc_1FFFBEB2
ROM:1FFFBEAC LDR R0, [R5]
ROM:1FFFBEAE CMP R0, #0
ROM:1FFFBEB0 BNE loc_1FFFBEA0
ROM:1FFFBEB2
ROM:1FFFBEB2 loc_1FFFBEB2 ; CODE XREF: sub_1FFFBE1A+90j
ROM:1FFFBEB2 LDR R0, [R5]
ROM:1FFFBEB4 CMP R0, #0
ROM:1FFFBEB6 ITT EQ
ROM:1FFFBEB8 POPEQ.W {R0,R1,R4-R6,LR}
ROM:1FFFBEBC BEQ.W sys_reset
ROM:1FFFBEC0 POP {R0,R1,R4-R6,PC}
ROM:1FFFBEC0 ; End of function sub_1FFFBE1A
ROM:1FFFBEC0
ROM:1FFFBEC2
ROM:1FFFBEC2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBEC2
ROM:1FFFBEC2
ROM:1FFFBEC2 sub_1FFFBEC2 ; CODE XREF: ROM:loc_1FFFE322p
ROM:1FFFBEC2
ROM:1FFFBEC2 var_18 = -0x18
ROM:1FFFBEC2
ROM:1FFFBEC2 PUSH {R4-R6,LR}
ROM:1FFFBEC4 SUB SP, SP, #8
ROM:1FFFBEC6 MOVS R0, #0
ROM:1FFFBEC8 STR R0, [SP,#0x18+var_18]
ROM:1FFFBECA LDR R0, =0x42420060
ROM:1FFFBECC MOVS R1, #0
ROM:1FFFBECE STR R1, [R0]
ROM:1FFFBED0 STR R1, [R0,#8]
ROM:1FFFBED2 LDR R4, =0x40021000
ROM:1FFFBED4 LDR R1, [R4,#0x2C]
ROM:1FFFBED6 STR R1, [SP,#0x18+var_18]
ROM:1FFFBED8 LDR R1, [SP,#0x18+var_18]
ROM:1FFFBEDA LDR R2, =0xFFFEFFF0
ROM:1FFFBEDC ANDS R1, R2
ROM:1FFFBEDE STR R1, [SP,#0x18+var_18]
ROM:1FFFBEE0 LDR R1, [SP,#0x18+var_18]
ROM:1FFFBEE2 STR R1, [R4,#0x2C]
ROM:1FFFBEE4 LDR R1, [R4,#4]
ROM:1FFFBEE6 STR R1, [SP,#0x18+var_18]
ROM:1FFFBEE8 LDR R1, [SP,#0x18+var_18]
ROM:1FFFBEEA BIC.W R1, R1, #0x3D0000
ROM:1FFFBEEE STR R1, [SP,#0x18+var_18]
ROM:1FFFBEF0 LDR R1, [SP,#0x18+var_18]
ROM:1FFFBEF2 ORR.W R1, R1, #0x110000
ROM:1FFFBEF6 STR R1, [SP,#0x18+var_18]
ROM:1FFFBEF8 LDR R1, [SP,#0x18+var_18]
ROM:1FFFBEFA STR R1, [R4,#4]
ROM:1FFFBEFC MOVS R1, #1
ROM:1FFFBEFE STR R1, [R0]
ROM:1FFFBF00 LDR R5, =0x2000023C
ROM:1FFFBF02 MOV.W R6, #0xB000000
ROM:1FFFBF06 STR R6, [R5]
ROM:1FFFBF08 B loc_1FFFBF10
ROM:1FFFBF0A ; ---------------------------------------------------------------------------
ROM:1FFFBF0A
ROM:1FFFBF0A loc_1FFFBF0A ; CODE XREF: sub_1FFFBEC2+58j
ROM:1FFFBF0A LDR R0, [R5]
ROM:1FFFBF0C SUBS R0, R0, #1
ROM:1FFFBF0E STR R0, [R5]
ROM:1FFFBF10
ROM:1FFFBF10 loc_1FFFBF10 ; CODE XREF: sub_1FFFBEC2+46j
ROM:1FFFBF10 LDR R0, [R4]
ROM:1FFFBF12 LSLS R0, R0, #6
ROM:1FFFBF14 BMI loc_1FFFBF1C
ROM:1FFFBF16 LDR R0, [R5]
ROM:1FFFBF18 CMP R0, #0
ROM:1FFFBF1A BNE loc_1FFFBF0A
ROM:1FFFBF1C
ROM:1FFFBF1C loc_1FFFBF1C ; CODE XREF: sub_1FFFBEC2+52j
ROM:1FFFBF1C LDR R0, [R5]
ROM:1FFFBF1E CBNZ R0, loc_1FFFBF24
ROM:1FFFBF20 BL sys_reset
ROM:1FFFBF24
ROM:1FFFBF24 loc_1FFFBF24 ; CODE XREF: sub_1FFFBEC2+5Cj
ROM:1FFFBF24 LDR R0, [R4,#4]
ROM:1FFFBF26 STR R0, [SP,#0x18+var_18]
ROM:1FFFBF28 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBF2A LSRS R0, R0, #2
ROM:1FFFBF2C LSLS R0, R0, #2
ROM:1FFFBF2E STR R0, [SP,#0x18+var_18]
ROM:1FFFBF30 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBF32 ORR.W R0, R0, #2
ROM:1FFFBF36 STR R0, [SP,#0x18+var_18]
ROM:1FFFBF38 LDR R0, [SP,#0x18+var_18]
ROM:1FFFBF3A STR R0, [R4,#4]
ROM:1FFFBF3C STR R6, [R5]
ROM:1FFFBF3E B loc_1FFFBF46
ROM:1FFFBF40 ; ---------------------------------------------------------------------------
ROM:1FFFBF40
ROM:1FFFBF40 loc_1FFFBF40 ; CODE XREF: sub_1FFFBEC2+8Ej
ROM:1FFFBF40 LDR R0, [R5]
ROM:1FFFBF42 SUBS R0, R0, #1
ROM:1FFFBF44 STR R0, [R5]
ROM:1FFFBF46
ROM:1FFFBF46 loc_1FFFBF46 ; CODE XREF: sub_1FFFBEC2+7Cj
ROM:1FFFBF46 LDR R0, [R4,#4]
ROM:1FFFBF48 LSLS R0, R0, #0x1C
ROM:1FFFBF4A BMI loc_1FFFBF52
ROM:1FFFBF4C LDR R0, [R5]
ROM:1FFFBF4E CMP R0, #0
ROM:1FFFBF50 BNE loc_1FFFBF40
ROM:1FFFBF52
ROM:1FFFBF52 loc_1FFFBF52 ; CODE XREF: sub_1FFFBEC2+88j
ROM:1FFFBF52 LDR R0, [R5]
ROM:1FFFBF54 CMP R0, #0
ROM:1FFFBF56 ITT EQ
ROM:1FFFBF58 POPEQ.W {R0,R1,R4-R6,LR}
ROM:1FFFBF5C BEQ.W sys_reset
ROM:1FFFBF60 POP {R0,R1,R4-R6,PC}
ROM:1FFFBF60 ; End of function sub_1FFFBEC2
ROM:1FFFBF60
ROM:1FFFBF62 ; 4: result = 1073876992;
ROM:1FFFBF62
ROM:1FFFBF62 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBF62
ROM:1FFFBF62
ROM:1FFFBF62 RCC_init ; CODE XREF: check_canbus2+84p
ROM:1FFFBF62 ; sub_1FFFBBF0+Cp ...
ROM:1FFFBF62 LDR R0, =0x40021000 ; RCC_BASE
ROM:1FFFBF64 ; 5: v40021000 |= 1u;
ROM:1FFFBF64 LDR R1, [R0] ; 读取时钟控制寄存器的内容
ROM:1FFFBF66 ORR.W R1, R1, #1 ; 内部8MHz时钟开启
ROM:1FFFBF6A STR R1, [R0]
ROM:1FFFBF6C ; 6: v40021004 &= 0xF0FF0000;
ROM:1FFFBF6C LDR R1, [R0,#4] ; 读取时钟配置寄存器
ROM:1FFFBF6E LDR R2, =0xF0FF0000
ROM:1FFFBF70 ANDS R1, R2
ROM:1FFFBF72 STR R1, [R0,#4] ; 设置时钟配置寄存器
ROM:1FFFBF74 ; 7: v40021000 &= 0xFEF6FFFF;
ROM:1FFFBF74 LDR R1, [R0]
ROM:1FFFBF76 LDR R2, =0xFEF6FFFF
ROM:1FFFBF78 ANDS R1, R2
ROM:1FFFBF7A STR R1, [R0]
ROM:1FFFBF7C ; 8: v40021000 &= 0xFFFBFFFF;
ROM:1FFFBF7C LDR R1, [R0]
ROM:1FFFBF7E BIC.W R1, R1, #0x40000
ROM:1FFFBF82 STR R1, [R0]
ROM:1FFFBF84 ; 9: v40021004 &= 0xFF80FFFF;
ROM:1FFFBF84 LDR R1, [R0,#4]
ROM:1FFFBF86 BIC.W R1, R1, #0x7F0000
ROM:1FFFBF8A STR R1, [R0,#4]
ROM:1FFFBF8C ; 10: v40021000 &= 0xEBFFFFFF;
ROM:1FFFBF8C LDR R1, [R0]
ROM:1FFFBF8E BIC.W R1, R1, #0x14000000
ROM:1FFFBF92 STR R1, [R0]
ROM:1FFFBF94 ; 11: v40021008 = 16711680;
ROM:1FFFBF94 MOV.W R1, #0xFF0000
ROM:1FFFBF98 STR R1, [R0,#8]
ROM:1FFFBF9A ; 12: v4002102C = 0;
ROM:1FFFBF9A MOVS R1, #0
ROM:1FFFBF9C STR R1, [R0,#0x2C]
ROM:1FFFBF9E BX LR
ROM:1FFFBF9E ; End of function RCC_init
ROM:1FFFBF9E
ROM:1FFFBFA0
ROM:1FFFBFA0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFBFA0
ROM:1FFFBFA0
ROM:1FFFBFA0 clk_cfg_0 ; CODE XREF: enale_usb_trans+10p
ROM:1FFFBFA0 LDR R0, =0x40021014 ; 复位和时钟控制(RCC)
ROM:1FFFBFA2 LDR R1, [R0]
ROM:1FFFBFA4 BIC.W R1, R1, #0x1000
ROM:1FFFBFA8 STR R1, [R0]
ROM:1FFFBFAA LDR R1, =0x424200D8 ; 未知寄存器地址
ROM:1FFFBFAC MOVS R2, #1
ROM:1FFFBFAE STR R2, [R1]
ROM:1FFFBFB0 LDR R1, [R0]
ROM:1FFFBFB2 ORR.W R1, R1, #0x1000
ROM:1FFFBFB6 STR R1, [R0]
ROM:1FFFBFB8 BX LR
ROM:1FFFBFB8 ; End of function clk_cfg_0
ROM:1FFFBFB8
ROM:1FFFBFBA
ROM:1FFFBFBA ; =============== S U B R O U T I N E =======================================
ROM:1FFFBFBA
ROM:1FFFBFBA
ROM:1FFFBFBA usb_en_inter ; CODE XREF: usb_monitor_en+12p
ROM:1FFFBFBA LDR R0, =0xE000ED0C ; AIRCR; /*!< Offset: 0x00C (R/W) Application Interrupt and Reset Control Register
ROM:1FFFBFBC LDR R0, [R0]
ROM:1FFFBFBE LDR R0, =0xE000E440
ROM:1FFFBFC0 LDR R1, [R0]
ROM:1FFFBFC2 LSLS R1, R1, #8
ROM:1FFFBFC4 LSRS R1, R1, #8
ROM:1FFFBFC6 STR R1, [R0]
ROM:1FFFBFC8 LDR R0, =0xE000E108 ; 中断使能 67 OTG_FS_IRQHandler
ROM:1FFFBFCA MOVS R1, #8
ROM:1FFFBFCC STR R1, [R0]
ROM:1FFFBFCE BX LR
ROM:1FFFBFCE ; End of function usb_en_inter
ROM:1FFFBFCE
ROM:1FFFBFCE ; ---------------------------------------------------------------------------
ROM:1FFFBFD0 dword_1FFFBFD0 DCD 0x40021000 ; DATA XREF: sub_1FFFBBF0+10r
ROM:1FFFBFD0 ; clk_cfg+10r ...
ROM:1FFFBFD4 dword_1FFFBFD4 DCD 0x2000023C ; DATA XREF: sub_1FFFBBF0+2Cr
ROM:1FFFBFD4 ; clk_cfg+2Ar ...
ROM:1FFFBFD8 dword_1FFFBFD8 DCD 0x40022000 ; DATA XREF: sub_1FFFBBF0:loc_1FFFBC78r
ROM:1FFFBFDC dword_1FFFBFDC DCD 0x4242004C ; DATA XREF: sub_1FFFBBF0+9Cr
ROM:1FFFBFE0 dword_1FFFBFE0 DCD 0x40021004 ; DATA XREF: sub_1FFFBC96+6r
ROM:1FFFBFE4 dword_1FFFBFE4 DCD 0x42420060 ; DATA XREF: clk_cfg+1Ar
ROM:1FFFBFE4 ; sub_1FFFBD18+6r ...
ROM:1FFFBFE8 dword_1FFFBFE8 DCD 0x100002 ; DATA XREF: clk_cfg+56r
ROM:1FFFBFEC dword_1FFFBFEC DCD 0xFFFEFFF0 ; DATA XREF: sub_1FFFBD18+72r
ROM:1FFFBFEC ; sub_1FFFBE1A+18r ...
ROM:1FFFBFF0 dword_1FFFBFF0 DCD 0xF0FF0000 ; DATA XREF: RCC_init+Cr
ROM:1FFFBFF4 dword_1FFFBFF4 DCD 0xFEF6FFFF ; DATA XREF: RCC_init+14r
ROM:1FFFBFF8 dword_1FFFBFF8 DCD 0x40021014 ; DATA XREF: clk_cfg_0r
ROM:1FFFBFFC dword_1FFFBFFC DCD 0x424200D8 ; DATA XREF: clk_cfg_0+Ar
ROM:1FFFC000 dword_1FFFC000 DCD 0xE000ED0C ; DATA XREF: usb_en_interr
ROM:1FFFC004 dword_1FFFC004 DCD 0xE000E440 ; DATA XREF: usb_en_inter+4r
ROM:1FFFC008 dword_1FFFC008 DCD 0xE000E108 ; DATA XREF: usb_en_inter+Er
ROM:1FFFC00C
ROM:1FFFC00C ; =============== S U B R O U T I N E =======================================
ROM:1FFFC00C
ROM:1FFFC00C
ROM:1FFFC00C FLASH_UnlockBank1 ; CODE XREF: check_canbus2+25Ep
ROM:1FFFC00C ; check_canbus2+2DAp ...
ROM:1FFFC00C LDR R0, =0x40022004 ; flash寄存器地址
ROM:1FFFC00E B loc_1FFFC012
ROM:1FFFC00E ; End of function FLASH_UnlockBank1
ROM:1FFFC00E
ROM:1FFFC010
ROM:1FFFC010 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC010
ROM:1FFFC010
ROM:1FFFC010 sub_1FFFC010 ; CODE XREF: check_canbus2+2DEp
ROM:1FFFC010 ; sub_1FFFCCE0+1Ep ...
ROM:1FFFC010 LDR R0, =0x40022008
ROM:1FFFC012
ROM:1FFFC012 loc_1FFFC012 ; CODE XREF: FLASH_UnlockBank1+2j
ROM:1FFFC012 LDR R1, =0x45670123
ROM:1FFFC014 STR R1, [R0]
ROM:1FFFC016 LDR R1, =0xCDEF89AB
ROM:1FFFC018 STR R1, [R0]
ROM:1FFFC01A BX LR
ROM:1FFFC01A ; End of function sub_1FFFC010
ROM:1FFFC01A
ROM:1FFFC01C ; ---------------------------------------------------------------------------
ROM:1FFFC01C ; 5: for ( result = 4095; v4002200C & 1 && result; --result )
ROM:1FFFC01C ; START OF FUNCTION CHUNK FOR FLASH_ErasePage
ROM:1FFFC01C
ROM:1FFFC01C FLASH_WaitForLastOperation ; CODE XREF: check_canbus2+2EEj
ROM:1FFFC01C ; check_canbus2+308j ...
ROM:1FFFC01C SUB SP, SP, #8
ROM:1FFFC01E MOVW R0, #0xFFF
ROM:1FFFC022 B loc_1FFFC028
ROM:1FFFC024 ; ---------------------------------------------------------------------------
ROM:1FFFC024
ROM:1FFFC024 loc_1FFFC024 ; CODE XREF: FLASH_ErasePage-6Aj
ROM:1FFFC024 LDR R0, [SP,#8+var_8] ; 获取计数变量n
ROM:1FFFC026 SUBS R0, R0, #1 ; n=n-1
ROM:1FFFC028
ROM:1FFFC028 loc_1FFFC028 ; CODE XREF: FLASH_ErasePage-7Ej
ROM:1FFFC028 STR R0, [SP,#8+var_8]
ROM:1FFFC02A LDR R0, =0x4002200C ; flash控制寄存器地址
ROM:1FFFC02C LDR R0, [R0]
ROM:1FFFC02E LSLS R0, R0, #0x1F
ROM:1FFFC030 BPL loc_1FFFC038 ; FLASH Busy flag FLASH->SR
ROM:1FFFC032 LDR R0, [SP,#8+var_8]
ROM:1FFFC034 CMP R0, #0
ROM:1FFFC036 BNE loc_1FFFC024 ; 获取计数变量n
ROM:1FFFC038 ; 7: if ( !result )
ROM:1FFFC038
ROM:1FFFC038 loc_1FFFC038 ; CODE XREF: FLASH_ErasePage-70j
ROM:1FFFC038 LDR R0, [SP,#8+var_8] ; flash不忙了
ROM:1FFFC03A CBNZ R0, loc_1FFFC042
ROM:1FFFC03C ; 8: result = sys_reset();
ROM:1FFFC03C ADD SP, SP, #8
ROM:1FFFC03E B.W sys_reset ; flash操作超时了,重启mcu
ROM:1FFFC042 ; ---------------------------------------------------------------------------
ROM:1FFFC042
ROM:1FFFC042 loc_1FFFC042 ; CODE XREF: FLASH_ErasePage-66j
ROM:1FFFC042 ADD SP, SP, #8
ROM:1FFFC044 BX LR
ROM:1FFFC044 ; END OF FUNCTION CHUNK FOR FLASH_ErasePage
ROM:1FFFC046
ROM:1FFFC046 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC046
ROM:1FFFC046
ROM:1FFFC046 sub_1FFFC046 ; CODE XREF: check_canbus2+2D6p
ROM:1FFFC046 ; sub_1FFFC0FC+32p ...
ROM:1FFFC046 PUSH {R4,LR}
ROM:1FFFC048 BL sub_1FFFC0EC
ROM:1FFFC04C LDR R0, [R4,#0xC]
ROM:1FFFC04E ORR.W R0, R0, #0x20
ROM:1FFFC052 BL sub_1FFFC0E0
ROM:1FFFC056 LDR R0, [R4,#0xC]
ROM:1FFFC058 BIC.W R0, R0, #0x20
ROM:1FFFC05C STR R0, [R4,#0xC]
ROM:1FFFC05E POP {R4,PC}
ROM:1FFFC05E ; End of function sub_1FFFC046
ROM:1FFFC05E
ROM:1FFFC060
ROM:1FFFC060 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC060
ROM:1FFFC060
ROM:1FFFC060 FLASH_ProgramWord ; CODE XREF: check_canbus2+276p
ROM:1FFFC060 ; sub_1FFFDCFE+2Cp ...
ROM:1FFFC060 PUSH {R4-R6,LR}
ROM:1FFFC062 MOV R5, R0
ROM:1FFFC064 MOV R6, R1
ROM:1FFFC066 BL FLASH_WaitForLastOperation
ROM:1FFFC06A ; ---------------------------------------------------------------------------
ROM:1FFFC06A LDR R4, =0x4002200C
ROM:1FFFC06C LDR R0, [R4,#4] ; get CR
ROM:1FFFC06E ORR.W R0, R0, #1
ROM:1FFFC072 STR R0, [R4,#4] ; /* if the previous operation is completed, proceed to program the new first
ROM:1FFFC072 ; half word */
ROM:1FFFC072 ; FLASH->CR |= CR_PG_Set;
ROM:1FFFC074 STRH R6, [R5] ; *(__IO uint16_t*)Address = (uint16_t)Data;
ROM:1FFFC076 BL FLASH_WaitForLastOperation ; Wait for last operation to be completed
ROM:1FFFC07A ; ---------------------------------------------------------------------------
ROM:1FFFC07A LDR R0, [R4]
ROM:1FFFC07C LSLS R0, R0, #0x1D
ROM:1FFFC07E BMI loc_1FFFC088
ROM:1FFFC080 LSRS R0, R6, #0x10
ROM:1FFFC082 STRH R0, [R5,#2]
ROM:1FFFC084 BL FLASH_WaitForLastOperation
ROM:1FFFC088 ; ---------------------------------------------------------------------------
ROM:1FFFC088
ROM:1FFFC088 loc_1FFFC088 ; CODE XREF: FLASH_ProgramWord+1Ej
ROM:1FFFC088 LDR R0, [R4]
ROM:1FFFC08A LSLS R0, R0, #0x1D
ROM:1FFFC08C BPL loc_1FFFC096
ROM:1FFFC08E LDR R0, [R4]
ROM:1FFFC090 ORR.W R0, R0, #4
ROM:1FFFC094 STR R0, [R4]
ROM:1FFFC096
ROM:1FFFC096 loc_1FFFC096 ; CODE XREF: FLASH_ProgramWord+2Cj
ROM:1FFFC096 LDR R0, [R4,#4]
ROM:1FFFC098 LSRS R0, R0, #1
ROM:1FFFC09A LSLS R0, R0, #1
ROM:1FFFC09C STR R0, [R4,#4]
ROM:1FFFC09E POP {R4-R6,PC}
ROM:1FFFC09E ; End of function FLASH_ProgramWord
ROM:1FFFC09E
ROM:1FFFC0A0
ROM:1FFFC0A0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC0A0
ROM:1FFFC0A0
ROM:1FFFC0A0 FLASH_ErasePage ; CODE XREF: check_canbus2+366p
ROM:1FFFC0A0 ; sub_1FFFC8E2+26p ...
ROM:1FFFC0A0
ROM:1FFFC0A0 var_8 = -8
ROM:1FFFC0A0
ROM:1FFFC0A0 ; FUNCTION CHUNK AT ROM:1FFFC01C SIZE 0000002A BYTES
ROM:1FFFC0A0
ROM:1FFFC0A0 PUSH {R3-R5,LR}
ROM:1FFFC0A2 ; 4: v40022004 = 0xCDEF89AB;
ROM:1FFFC0A2 MOV R4, R0 ; 传进来的页地址参数
ROM:1FFFC0A4 LDR R5, =0x40022004
ROM:1FFFC0A6 LDR R0, =0x45670123 ; FLASH_KEY1 ((uint32_t)0x45670123)
ROM:1FFFC0A6 ; FLASH_KEY2 ((uint32_t)0xCDEF89AB)
ROM:1FFFC0A8 STR R0, [R5]
ROM:1FFFC0AA LDR R0, =0xCDEF89AB
ROM:1FFFC0AC STR R0, [R5] ; flash解锁操作
ROM:1FFFC0AE BL FLASH_WaitForLastOperation
ROM:1FFFC0AE ; End of function FLASH_ErasePage
ROM:1FFFC0AE
ROM:1FFFC0B2 ; ---------------------------------------------------------------------------
ROM:1FFFC0B2 MOVS R0, #2
ROM:1FFFC0B4 STR R0, [R5,#0xC] ; CR=2
ROM:1FFFC0B6 STR R4, [R5,#0x10] ; FLASH->AR = Page_Address;
ROM:1FFFC0B8 MOVS R0, #0x42
ROM:1FFFC0BA STR R0, [R5,#0xC] ; FLASH->CR|= CR_STRT_Set;
ROM:1FFFC0BC BL FLASH_WaitForLastOperation
ROM:1FFFC0C0 ; ---------------------------------------------------------------------------
ROM:1FFFC0C0 MOVS R0, #0
ROM:1FFFC0C2 STR R0, [R5,#0xC] ; Disable the PER Bit
ROM:1FFFC0C4 POP {R0,R4,R5,PC}
ROM:1FFFC0C6
ROM:1FFFC0C6 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC0C6
ROM:1FFFC0C6
ROM:1FFFC0C6 sub_1FFFC0C6 ; CODE XREF: check_canbus2+342p
ROM:1FFFC0C6 ; sub_1FFFC2EE+92p ...
ROM:1FFFC0C6 PUSH {R4,LR}
ROM:1FFFC0C8 BL sub_1FFFC0EC
ROM:1FFFC0CC LDR R0, [R4,#0xC]
ROM:1FFFC0CE ORR.W R0, R0, #4
ROM:1FFFC0D2 BL sub_1FFFC0E0
ROM:1FFFC0D6 LDR R0, [R4,#0xC]
ROM:1FFFC0D8 BIC.W R0, R0, #4
ROM:1FFFC0DC STR R0, [R4,#0xC]
ROM:1FFFC0DE POP {R4,PC}
ROM:1FFFC0DE ; End of function sub_1FFFC0C6
ROM:1FFFC0DE
ROM:1FFFC0E0
ROM:1FFFC0E0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC0E0
ROM:1FFFC0E0
ROM:1FFFC0E0 sub_1FFFC0E0 ; CODE XREF: sub_1FFFC046+Cp
ROM:1FFFC0E0 ; sub_1FFFC0C6+Cp
ROM:1FFFC0E0 STR R0, [R4,#0xC]
ROM:1FFFC0E2 LDR R0, [R4,#0xC]
ROM:1FFFC0E4 ORR.W R0, R0, #0x40
ROM:1FFFC0E8 STR R0, [R4,#0xC]
ROM:1FFFC0EA B FLASH_WaitForLastOperation
ROM:1FFFC0EA ; End of function sub_1FFFC0E0
ROM:1FFFC0EA
ROM:1FFFC0EC
ROM:1FFFC0EC ; =============== S U B R O U T I N E =======================================
ROM:1FFFC0EC
ROM:1FFFC0EC
ROM:1FFFC0EC sub_1FFFC0EC ; CODE XREF: sub_1FFFC046+2p
ROM:1FFFC0EC ; sub_1FFFC0C6+2p
ROM:1FFFC0EC LDR R4, =0x40022004
ROM:1FFFC0EE LDR R0, =0x45670123
ROM:1FFFC0F0 STR R0, [R4]
ROM:1FFFC0F2 LDR R1, =0xCDEF89AB
ROM:1FFFC0F4 STR R1, [R4]
ROM:1FFFC0F6 STR R0, [R4,#4]
ROM:1FFFC0F8 STR R1, [R4,#4]
ROM:1FFFC0FA B FLASH_WaitForLastOperation
ROM:1FFFC0FA ; End of function sub_1FFFC0EC
ROM:1FFFC0FA
ROM:1FFFC0FC
ROM:1FFFC0FC ; =============== S U B R O U T I N E =======================================
ROM:1FFFC0FC
ROM:1FFFC0FC
ROM:1FFFC0FC sub_1FFFC0FC ; CODE XREF: check_canbus2+3D0p
ROM:1FFFC0FC ; sub_1FFFC91C+34p ...
ROM:1FFFC0FC
ROM:1FFFC0FC var_28 = -0x28
ROM:1FFFC0FC var_26 = -0x26
ROM:1FFFC0FC var_24 = -0x24
ROM:1FFFC0FC var_22 = -0x22
ROM:1FFFC0FC
ROM:1FFFC0FC PUSH.W {R4-R9,LR}
ROM:1FFFC100 SUB SP, SP, #0xC
ROM:1FFFC102 LDR R4, =0x1FFFF800
ROM:1FFFC104 LDRH R1, [R4]
ROM:1FFFC106 STRH.W R1, [SP,#0x28+var_22]
ROM:1FFFC10A LDRH R1, [R4,#2]
ROM:1FFFC10C STRH.W R1, [SP,#0x28+var_24]
ROM:1FFFC110 LDRH R1, [R4,#4]
ROM:1FFFC112 STRH.W R1, [SP,#0x28+var_26]
ROM:1FFFC116 LDRH R1, [R4,#6]
ROM:1FFFC118 STRH.W R1, [SP,#0x28+var_28]
ROM:1FFFC11C MVNS R0, R0
ROM:1FFFC11E AND.W R5, R0, #0xFF
ROM:1FFFC122 UBFX.W R9, R0, #8, #8
ROM:1FFFC126 LSRS R1, R0, #0x10
ROM:1FFFC128 UXTB R7, R1
ROM:1FFFC12A MOV.W R8, R0,LSR#24
ROM:1FFFC12E BL sub_1FFFC046
ROM:1FFFC132 BL loc_1FFFC254
ROM:1FFFC136 LDR R0, [R6,#0xC]
ROM:1FFFC138 ORR.W R0, R0, #0x10
ROM:1FFFC13C STR R0, [R6,#0xC]
ROM:1FFFC13E LDRH.W R0, [SP,#0x28+var_22]
ROM:1FFFC142 UXTB R0, R0
ROM:1FFFC144 STRH R0, [R4]
ROM:1FFFC146 BL FLASH_WaitForLastOperation
ROM:1FFFC146 ; End of function sub_1FFFC0FC
ROM:1FFFC146
ROM:1FFFC14A ; ---------------------------------------------------------------------------
ROM:1FFFC14A LDRH.W R0, [SP,#4]
ROM:1FFFC14E UXTB R0, R0
ROM:1FFFC150 STRH R0, [R4,#2]
ROM:1FFFC152 BL FLASH_WaitForLastOperation
ROM:1FFFC156 ; ---------------------------------------------------------------------------
ROM:1FFFC156 LDRH.W R0, [SP,#2]
ROM:1FFFC15A UXTB R0, R0
ROM:1FFFC15C STRH R0, [R4,#4]
ROM:1FFFC15E BL FLASH_WaitForLastOperation
ROM:1FFFC162 ; ---------------------------------------------------------------------------
ROM:1FFFC162 LDRH.W R0, [SP]
ROM:1FFFC166 UXTB R0, R0
ROM:1FFFC168 STRH R0, [R4,#6]
ROM:1FFFC16A BL FLASH_WaitForLastOperation
ROM:1FFFC16E ; ---------------------------------------------------------------------------
ROM:1FFFC16E CMP R5, #0xFF
ROM:1FFFC170 ITT NE
ROM:1FFFC172 STRNEH R5, [R4,#8]
ROM:1FFFC174 BLNE FLASH_WaitForLastOperation
ROM:1FFFC178 CMP.W R9, #0xFF
ROM:1FFFC17C ITT NE
ROM:1FFFC17E STRNEH.W R9, [R4,#0xA]
ROM:1FFFC182 BLNE FLASH_WaitForLastOperation
ROM:1FFFC186 CMP R7, #0xFF
ROM:1FFFC188 ITT NE
ROM:1FFFC18A STRNEH R7, [R4,#0xC]
ROM:1FFFC18C BLNE FLASH_WaitForLastOperation
ROM:1FFFC190 MOV R0, R8
ROM:1FFFC192 CMP R0, #0xFF
ROM:1FFFC194 ITT NE
ROM:1FFFC196 STRNEH.W R8, [R4,#0xE]
ROM:1FFFC19A BLNE FLASH_WaitForLastOperation
ROM:1FFFC19E LDR R0, [R6,#0xC]
ROM:1FFFC1A0 BIC.W R0, R0, #0x10
ROM:1FFFC1A4 STR R0, [R6,#0xC]
ROM:1FFFC1A6 POP.W {R0-R2,R4-R9,PC}
ROM:1FFFC1AA
ROM:1FFFC1AA ; =============== S U B R O U T I N E =======================================
ROM:1FFFC1AA
ROM:1FFFC1AA
ROM:1FFFC1AA sub_1FFFC1AA ; CODE XREF: check_canbus2+3F8p
ROM:1FFFC1AA ; check_canbus2+424p ...
ROM:1FFFC1AA PUSH {R0-R6,LR}
ROM:1FFFC1AC MOV R4, R0
ROM:1FFFC1AE BL FLASH_WaitForLastOperation
ROM:1FFFC1AE ; End of function sub_1FFFC1AA
ROM:1FFFC1AE
ROM:1FFFC1B2 ; ---------------------------------------------------------------------------
ROM:1FFFC1B2 LDR R5, =0x1FFFF800
ROM:1FFFC1B4 LDRH R0, [R5,#2]
ROM:1FFFC1B6 STRH.W R0, [SP,#0xC]
ROM:1FFFC1BA LDRH R0, [R5,#4]
ROM:1FFFC1BC STRH.W R0, [SP,#0xA]
ROM:1FFFC1C0 LDRH R0, [R5,#6]
ROM:1FFFC1C2 STRH.W R0, [SP,#8]
ROM:1FFFC1C6 LDRH R0, [R5,#8]
ROM:1FFFC1C8 STRH.W R0, [SP,#6]
ROM:1FFFC1CC LDRH R0, [R5,#0xA]
ROM:1FFFC1CE STRH.W R0, [SP,#4]
ROM:1FFFC1D2 LDRH R0, [R5,#0xC]
ROM:1FFFC1D4 STRH.W R0, [SP,#2]
ROM:1FFFC1D8 LDRH R0, [R5,#0xE]
ROM:1FFFC1DA STRH.W R0, [SP]
ROM:1FFFC1DE BL sub_1FFFC046
ROM:1FFFC1E2 BL loc_1FFFC254
ROM:1FFFC1E6 BL FLASH_WaitForLastOperation
ROM:1FFFC1EA ; ---------------------------------------------------------------------------
ROM:1FFFC1EA LDR R0, [R6,#0xC]
ROM:1FFFC1EC ORR.W R0, R0, #0x10
ROM:1FFFC1F0 STR R0, [R6,#0xC]
ROM:1FFFC1F2 CBZ R4, loc_1FFFC23C
ROM:1FFFC1F4 LDRH.W R0, [SP,#0xC]
ROM:1FFFC1F8 UXTB R0, R0
ROM:1FFFC1FA STRH R0, [R5,#2]
ROM:1FFFC1FC BL FLASH_WaitForLastOperation
ROM:1FFFC200 ; ---------------------------------------------------------------------------
ROM:1FFFC200 LDRH.W R0, [SP,#0xA]
ROM:1FFFC204 UXTB R0, R0
ROM:1FFFC206 STRH R0, [R5,#4]
ROM:1FFFC208 BL FLASH_WaitForLastOperation
ROM:1FFFC20C ; ---------------------------------------------------------------------------
ROM:1FFFC20C LDRH.W R0, [SP,#8]
ROM:1FFFC210 UXTB R0, R0
ROM:1FFFC212 STRH R0, [R5,#6]
ROM:1FFFC214 BL FLASH_WaitForLastOperation
ROM:1FFFC218 ; ---------------------------------------------------------------------------
ROM:1FFFC218 LDRH.W R0, [SP,#6]
ROM:1FFFC21C BL sub_1FFFC24E
ROM:1FFFC220 LDRH.W R0, [SP,#4]
ROM:1FFFC224 BL sub_1FFFC24E
ROM:1FFFC228 LDRH.W R0, [SP,#2]
ROM:1FFFC22C BL sub_1FFFC24E
ROM:1FFFC230 LDRH.W R0, [SP]
ROM:1FFFC234 BL sub_1FFFC24E
ROM:1FFFC238 MOVS R0, #0
ROM:1FFFC23A B loc_1FFFC23E
ROM:1FFFC23C ; ---------------------------------------------------------------------------
ROM:1FFFC23C
ROM:1FFFC23C loc_1FFFC23C ; CODE XREF: ROM:1FFFC1F2j
ROM:1FFFC23C MOVS R0, #0xA5
ROM:1FFFC23E
ROM:1FFFC23E loc_1FFFC23E ; CODE XREF: ROM:1FFFC23Aj
ROM:1FFFC23E STRH R0, [R5]
ROM:1FFFC240 BL FLASH_WaitForLastOperation
ROM:1FFFC244 ; ---------------------------------------------------------------------------
ROM:1FFFC244 LDR R0, [R6,#0xC]
ROM:1FFFC246 BIC.W R0, R0, #0x10
ROM:1FFFC24A STR R0, [R6,#0xC]
ROM:1FFFC24C POP {R0-R6,PC}
ROM:1FFFC24E
ROM:1FFFC24E ; =============== S U B R O U T I N E =======================================
ROM:1FFFC24E
ROM:1FFFC24E
ROM:1FFFC24E sub_1FFFC24E ; CODE XREF: ROM:1FFFC21Cp
ROM:1FFFC24E ; ROM:1FFFC224p ...
ROM:1FFFC24E UXTB R0, R0
ROM:1FFFC250 STRH R0, [R5,#8]
ROM:1FFFC252 B FLASH_WaitForLastOperation
ROM:1FFFC252 ; End of function sub_1FFFC24E
ROM:1FFFC252
ROM:1FFFC254 ; ---------------------------------------------------------------------------
ROM:1FFFC254
ROM:1FFFC254 loc_1FFFC254 ; CODE XREF: sub_1FFFC0FC+36p
ROM:1FFFC254 ; ROM:1FFFC1E2p
ROM:1FFFC254 LDR R6, =0x40022004
ROM:1FFFC256 LDR R0, =0x45670123
ROM:1FFFC258 STR R0, [R6]
ROM:1FFFC25A LDR R1, =0xCDEF89AB
ROM:1FFFC25C STR R1, [R6]
ROM:1FFFC25E STR R0, [R6,#4]
ROM:1FFFC260 STR R1, [R6,#4]
ROM:1FFFC262 BX LR
ROM:1FFFC264
ROM:1FFFC264 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC264
ROM:1FFFC264 ; 检查flash的读保护位
ROM:1FFFC264 ;
ROM:1FFFC264
ROM:1FFFC264 FLASH_GetReadOutProtectionStatus ; CODE XREF: sub_1FFFB64A+6j
ROM:1FFFC264 ; sub_1FFFB940+2p ...
ROM:1FFFC264 LDR R0, =0x4002201C
ROM:1FFFC266 LDR R0, [R0]
ROM:1FFFC268 LSLS R0, R0, #0x18
ROM:1FFFC26A LSRS R0, R0, #0x19
ROM:1FFFC26C AND.W R0, R0, #1
ROM:1FFFC270 BX LR
ROM:1FFFC270 ; End of function FLASH_GetReadOutProtectionStatus
ROM:1FFFC270
ROM:1FFFC270 ; ---------------------------------------------------------------------------
ROM:1FFFC272 ALIGN 4
ROM:1FFFC274 dword_1FFFC274 DCD 0x40022004 ; DATA XREF: FLASH_UnlockBank1r
ROM:1FFFC274 ; FLASH_ErasePage+4r ...
ROM:1FFFC278 dword_1FFFC278 DCD 0x40022008 ; DATA XREF: sub_1FFFC010r
ROM:1FFFC27C dword_1FFFC27C DCD 0x45670123 ; DATA XREF: sub_1FFFC010:loc_1FFFC012r
ROM:1FFFC27C ; FLASH_ErasePage+6r ...
ROM:1FFFC280 dword_1FFFC280 DCD 0xCDEF89AB ; DATA XREF: sub_1FFFC010+6r
ROM:1FFFC280 ; FLASH_ErasePage+Ar ...
ROM:1FFFC284 dword_1FFFC284 DCD 0x4002200C ; DATA XREF: FLASH_ErasePage-76r
ROM:1FFFC284 ; FLASH_ProgramWord+Ar
ROM:1FFFC288 dword_1FFFC288 DCD 0x1FFFF800 ; DATA XREF: sub_1FFFC0FC+6r
ROM:1FFFC288 ; ROM:1FFFC1B2r
ROM:1FFFC28C dword_1FFFC28C DCD 0x4002201C ; DATA XREF: FLASH_GetReadOutProtectionStatusr
ROM:1FFFC290
ROM:1FFFC290 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC290
ROM:1FFFC290 ; 程序中指针调用过来的
ROM:1FFFC290
ROM:1FFFC290 usb_monitor_en
ROM:1FFFC290 PUSH {R7,LR}
ROM:1FFFC292 LDR.W R0, =0x20000C0C
ROM:1FFFC296 MOVS R1, #0
ROM:1FFFC298 STRB R1, [R0,#0xA]
ROM:1FFFC29A BL return_0_0
ROM:1FFFC29E BL usb_chuli
ROM:1FFFC2A2 BL usb_en_inter
ROM:1FFFC2A6 LDR.W R0, =0x20000C64
ROM:1FFFC2AA MOVS R1, #0
ROM:1FFFC2AC STR R1, [R0]
ROM:1FFFC2AE POP {R0,PC}
ROM:1FFFC2AE ; End of function usb_monitor_en
ROM:1FFFC2AE
ROM:1FFFC2B0
ROM:1FFFC2B0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC2B0
ROM:1FFFC2B0
ROM:1FFFC2B0 sub_1FFFC2B0
ROM:1FFFC2B0 LDR.W R0, =0x20000C0C
ROM:1FFFC2B4 MOVS R1, #0
ROM:1FFFC2B6 STRB R1, [R0,#0xA]
ROM:1FFFC2B8 LDR.W R0, =0x20000C28
ROM:1FFFC2BC LDR R0, [R0]
ROM:1FFFC2BE LDR.W R1, =0x200001AC
ROM:1FFFC2C2 LDRB R1, [R1,#7]
ROM:1FFFC2C4 STRB R1, [R0,#9]
ROM:1FFFC2C6 LDR.W R0, =0x20000C64
ROM:1FFFC2CA MOVS R1, #1
ROM:1FFFC2CC STR R1, [R0]
ROM:1FFFC2CE BX LR
ROM:1FFFC2CE ; End of function sub_1FFFC2B0
ROM:1FFFC2CE
ROM:1FFFC2D0
ROM:1FFFC2D0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC2D0
ROM:1FFFC2D0 ; 函数指针,定义为全局data区
ROM:1FFFC2D0
ROM:1FFFC2D0 sub_1FFFC2D0
ROM:1FFFC2D0 LDR.W R0, =0x20000C0C
ROM:1FFFC2D4 LDRB R0, [R0,#0xA]
ROM:1FFFC2D6 CBZ R0, locret_1FFFC2E0
ROM:1FFFC2D8 LDR.W R0, =0x20000C64
ROM:1FFFC2DC MOVS R1, #5
ROM:1FFFC2DE STR R1, [R0]
ROM:1FFFC2E0
ROM:1FFFC2E0 locret_1FFFC2E0 ; CODE XREF: sub_1FFFC2D0+6j
ROM:1FFFC2E0 BX LR
ROM:1FFFC2E0 ; End of function sub_1FFFC2D0
ROM:1FFFC2E0
ROM:1FFFC2E2
ROM:1FFFC2E2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC2E2
ROM:1FFFC2E2
ROM:1FFFC2E2 sub_1FFFC2E2
ROM:1FFFC2E2 LDR.W R0, =0x20000C64
ROM:1FFFC2E6 MOVS R1, #4
ROM:1FFFC2E8 STR R1, [R0]
ROM:1FFFC2EA BX LR
ROM:1FFFC2EA ; End of function sub_1FFFC2E2
ROM:1FFFC2EA
ROM:1FFFC2EC ; ---------------------------------------------------------------------------
ROM:1FFFC2EC BX LR
ROM:1FFFC2EE
ROM:1FFFC2EE ; =============== S U B R O U T I N E =======================================
ROM:1FFFC2EE
ROM:1FFFC2EE
ROM:1FFFC2EE sub_1FFFC2EE
ROM:1FFFC2EE
ROM:1FFFC2EE var_10 = -0x10
ROM:1FFFC2EE
ROM:1FFFC2EE PUSH {R3-R5,LR}
ROM:1FFFC2F0 LDR.W R4, =0x20000138
ROM:1FFFC2F4 LDR R0, [R4,#0x14]
ROM:1FFFC2F6 LDR.W R1, =0x20000C0C
ROM:1FFFC2FA LDRB R1, [R1,#1]
ROM:1FFFC2FC CMP R1, #3
ROM:1FFFC2FE BNE.W loc_1FFFC406
ROM:1FFFC302 LDRB R1, [R4,#0x10]
ROM:1FFFC304 CMP R1, #4
ROM:1FFFC306 BNE loc_1FFFC3FC
ROM:1FFFC308 CMP R0, #0
ROM:1FFFC30A BNE loc_1FFFC39E
ROM:1FFFC30C LDR R0, [R4,#0x18]
ROM:1FFFC30E LDR.W R5, =0x20000250
ROM:1FFFC312 LDRB R1, [R5]
ROM:1FFFC314 CBNZ R1, loc_1FFFC330
ROM:1FFFC316 CMP R0, #1
ROM:1FFFC318 BEQ loc_1FFFC3F2
ROM:1FFFC31A
ROM:1FFFC31A loc_1FFFC31A ; CODE XREF: sub_1FFFC2EE+48j
ROM:1FFFC31A ; sub_1FFFC2EE+9Ej
ROM:1FFFC31A MOVS R0, #0xA
ROM:1FFFC31C STRB R0, [R4,#0x10]
ROM:1FFFC31E MOVS R0, #0xF
ROM:1FFFC320 STRB R0, [R4]
ROM:1FFFC322 MOVS R0, #0xA
ROM:1FFFC324 STRB R0, [R4,#4]
ROM:1FFFC326 MOVS R0, #0
ROM:1FFFC328 STRB R0, [R4,#1]
ROM:1FFFC32A STRH R0, [R4,#2]
ROM:1FFFC32C STR R0, [R4,#0x18]
ROM:1FFFC32E POP {R0,R4,R5,PC}
ROM:1FFFC330 ; ---------------------------------------------------------------------------
ROM:1FFFC330
ROM:1FFFC330 loc_1FFFC330 ; CODE XREF: sub_1FFFC2EE+26j
ROM:1FFFC330 CMP R1, #0x21
ROM:1FFFC332 BNE loc_1FFFC352
ROM:1FFFC334 CMP R0, #5
ROM:1FFFC336 BNE loc_1FFFC31A
ROM:1FFFC338 BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC338 ;
ROM:1FFFC33C CMP R0, #1
ROM:1FFFC33E BEQ loc_1FFFC3AA
ROM:1FFFC340 BL sub_1FFFC438
ROM:1FFFC344 STRB.W R0, [SP,#0x10+var_10]
ROM:1FFFC348 LDRB.W R0, [SP,#0x10+var_10]
ROM:1FFFC34C CMP R0, #1
ROM:1FFFC34E BNE loc_1FFFC3F2
ROM:1FFFC350 B loc_1FFFC3D6
ROM:1FFFC352 ; ---------------------------------------------------------------------------
ROM:1FFFC352
ROM:1FFFC352 loc_1FFFC352 ; CODE XREF: sub_1FFFC2EE+44j
ROM:1FFFC352 CMP R1, #0x41
ROM:1FFFC354 BNE loc_1FFFC386
ROM:1FFFC356 BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC356 ;
ROM:1FFFC35A CMP R0, #1
ROM:1FFFC35C BEQ loc_1FFFC3AA
ROM:1FFFC35E LDR R0, [R4,#0x18]
ROM:1FFFC360 CMP R0, #5
ROM:1FFFC362 BNE loc_1FFFC37C
ROM:1FFFC364 BL sub_1FFFC438
ROM:1FFFC368 STRB.W R0, [SP,#0x10+var_10]
ROM:1FFFC36C LDRB.W R0, [SP,#0x10+var_10]
ROM:1FFFC370 CMP R0, #2
ROM:1FFFC372 BNE loc_1FFFC3D6
ROM:1FFFC374 LDR R0, [R4,#0x20]
ROM:1FFFC376 BL sub_1FFFCC20
ROM:1FFFC37A B loc_1FFFC3F2
ROM:1FFFC37C ; ---------------------------------------------------------------------------
ROM:1FFFC37C
ROM:1FFFC37C loc_1FFFC37C ; CODE XREF: sub_1FFFC2EE+74j
ROM:1FFFC37C CMP R0, #1
ROM:1FFFC37E BNE loc_1FFFC3F2
ROM:1FFFC380 BL sub_1FFFC0C6
ROM:1FFFC384 B loc_1FFFC3F2
ROM:1FFFC386 ; ---------------------------------------------------------------------------
ROM:1FFFC386
ROM:1FFFC386 loc_1FFFC386 ; CODE XREF: sub_1FFFC2EE+66j
ROM:1FFFC386 CMP R1, #0x92
ROM:1FFFC388 IT EQ
ROM:1FFFC38A CMPEQ R0, #1
ROM:1FFFC38C BNE loc_1FFFC31A
ROM:1FFFC38E MOVS R0, #0
ROM:1FFFC390 BL sub_1FFFC1AA
ROM:1FFFC394 BL clear_all_mem
ROM:1FFFC398 BL sys_reset
ROM:1FFFC39C B loc_1FFFC3F2
ROM:1FFFC39E ; ---------------------------------------------------------------------------
ROM:1FFFC39E
ROM:1FFFC39E loc_1FFFC39E ; CODE XREF: sub_1FFFC2EE+1Cj
ROM:1FFFC39E CMP R0, #2
ROM:1FFFC3A0 BCC loc_1FFFC3F2
ROM:1FFFC3A2 BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC3A2 ;
ROM:1FFFC3A6 CMP R0, #1
ROM:1FFFC3A8 BNE loc_1FFFC3B2
ROM:1FFFC3AA
ROM:1FFFC3AA loc_1FFFC3AA ; CODE XREF: sub_1FFFC2EE+50j
ROM:1FFFC3AA ; sub_1FFFC2EE+6Ej
ROM:1FFFC3AA MOVS R0, #0xA
ROM:1FFFC3AC STRB R0, [R4,#0x10]
ROM:1FFFC3AE MOVS R0, #0xB
ROM:1FFFC3B0 B loc_1FFFC3DC
ROM:1FFFC3B2 ; ---------------------------------------------------------------------------
ROM:1FFFC3B2
ROM:1FFFC3B2 loc_1FFFC3B2 ; CODE XREF: sub_1FFFC2EE+BAj
ROM:1FFFC3B2 LDR R0, [R4,#0x14]
ROM:1FFFC3B4 SUBS R0, R0, #2
ROM:1FFFC3B6 LDR R1, [R4,#0x20]
ROM:1FFFC3B8 ADD.W R5, R1, R0,LSL#11
ROM:1FFFC3BC MOV R0, R5 ; addr
ROM:1FFFC3BE BL get_mem_block
ROM:1FFFC3C2 STRB.W R0, [SP,#0x10+var_10]
ROM:1FFFC3C6 LDRB.W R0, [SP,#0x10+var_10]
ROM:1FFFC3CA CMP R0, #1
ROM:1FFFC3CC ITT NE
ROM:1FFFC3CE LDRNEB.W R0, [SP,#0x10+var_10]
ROM:1FFFC3D2 CMPNE R0, #5
ROM:1FFFC3D4 BNE loc_1FFFC3EA
ROM:1FFFC3D6
ROM:1FFFC3D6 loc_1FFFC3D6 ; CODE XREF: sub_1FFFC2EE+62j
ROM:1FFFC3D6 ; sub_1FFFC2EE+84j
ROM:1FFFC3D6 MOVS R0, #0xA
ROM:1FFFC3D8 STRB R0, [R4,#0x10]
ROM:1FFFC3DA MOVS R0, #1
ROM:1FFFC3DC
ROM:1FFFC3DC loc_1FFFC3DC ; CODE XREF: sub_1FFFC2EE+C2j
ROM:1FFFC3DC STRB R0, [R4]
ROM:1FFFC3DE MOVS R0, #0xA
ROM:1FFFC3E0 STRB R0, [R4,#4]
ROM:1FFFC3E2 MOVS R0, #0
ROM:1FFFC3E4 STRB R0, [R4,#1]
ROM:1FFFC3E6 STRH R0, [R4,#2]
ROM:1FFFC3E8 B loc_1FFFC426
ROM:1FFFC3EA ; ---------------------------------------------------------------------------
ROM:1FFFC3EA
ROM:1FFFC3EA loc_1FFFC3EA ; CODE XREF: sub_1FFFC2EE+E6j
ROM:1FFFC3EA LDR R1, [R4,#0x18]
ROM:1FFFC3EC MOV R0, R5
ROM:1FFFC3EE BL sub_1FFFCC38
ROM:1FFFC3F2
ROM:1FFFC3F2 loc_1FFFC3F2 ; CODE XREF: sub_1FFFC2EE+2Aj
ROM:1FFFC3F2 ; sub_1FFFC2EE+60j ...
ROM:1FFFC3F2 MOVS R0, #0
ROM:1FFFC3F4 STR R0, [R4,#0x18]
ROM:1FFFC3F6 STR R0, [R4,#0x14]
ROM:1FFFC3F8 MOVS R0, #3
ROM:1FFFC3FA B loc_1FFFC7EC
ROM:1FFFC3FC ; ---------------------------------------------------------------------------
ROM:1FFFC3FC
ROM:1FFFC3FC loc_1FFFC3FC ; CODE XREF: sub_1FFFC2EE+18j
ROM:1FFFC3FC CMP R1, #7
ROM:1FFFC3FE BNE locret_1FFFC436
ROM:1FFFC400 POP.W {R0,R4,R5,LR}
ROM:1FFFC404 B sub_1FFFC7A4
ROM:1FFFC406 ; ---------------------------------------------------------------------------
ROM:1FFFC406
ROM:1FFFC406 loc_1FFFC406 ; CODE XREF: sub_1FFFC2EE+10j
ROM:1FFFC406 CMP R1, #0x52
ROM:1FFFC408 BNE locret_1FFFC436
ROM:1FFFC40A CBZ R0, loc_1FFFC434
ROM:1FFFC40C CMP R0, #0x21
ROM:1FFFC40E BEQ loc_1FFFC41A
ROM:1FFFC410 CMP R0, #0x43
ROM:1FFFC412 BEQ loc_1FFFC420
ROM:1FFFC414 CMP R0, #0x63
ROM:1FFFC416 BEQ loc_1FFFC42C
ROM:1FFFC418 B loc_1FFFC432
ROM:1FFFC41A ; ---------------------------------------------------------------------------
ROM:1FFFC41A
ROM:1FFFC41A loc_1FFFC41A ; CODE XREF: sub_1FFFC2EE+120j
ROM:1FFFC41A POP.W {R0,R4,R5,LR}
ROM:1FFFC41E B sub_1FFFC8A6
ROM:1FFFC420 ; ---------------------------------------------------------------------------
ROM:1FFFC420
ROM:1FFFC420 loc_1FFFC420 ; CODE XREF: sub_1FFFC2EE+124j
ROM:1FFFC420 BL sub_1FFFC8E2
ROM:1FFFC424 MOVS R0, #0
ROM:1FFFC426
ROM:1FFFC426 loc_1FFFC426 ; CODE XREF: sub_1FFFC2EE+FAj
ROM:1FFFC426 STR R0, [R4,#0x18]
ROM:1FFFC428 STR R0, [R4,#0x14]
ROM:1FFFC42A POP {R0,R4,R5,PC}
ROM:1FFFC42C ; ---------------------------------------------------------------------------
ROM:1FFFC42C
ROM:1FFFC42C loc_1FFFC42C ; CODE XREF: sub_1FFFC2EE+128j
ROM:1FFFC42C POP.W {R0,R4,R5,LR}
ROM:1FFFC430 B sub_1FFFC91C
ROM:1FFFC432 ; ---------------------------------------------------------------------------
ROM:1FFFC432
ROM:1FFFC432 loc_1FFFC432 ; CODE XREF: sub_1FFFC2EE+12Aj
ROM:1FFFC432 MOVS R0, #0x20
ROM:1FFFC434
ROM:1FFFC434 loc_1FFFC434 ; CODE XREF: sub_1FFFC2EE+11Cj
ROM:1FFFC434 STRB R0, [R4,#8]
ROM:1FFFC436
ROM:1FFFC436 locret_1FFFC436 ; CODE XREF: sub_1FFFC2EE+110j
ROM:1FFFC436 ; sub_1FFFC2EE+11Aj
ROM:1FFFC436 POP {R0,R4,R5,PC}
ROM:1FFFC436 ; End of function sub_1FFFC2EE
ROM:1FFFC436
ROM:1FFFC438
ROM:1FFFC438 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC438
ROM:1FFFC438
ROM:1FFFC438 sub_1FFFC438 ; CODE XREF: sub_1FFFC2EE+52p
ROM:1FFFC438 ; sub_1FFFC2EE+76p
ROM:1FFFC438 LDRB R0, [R5,#1]
ROM:1FFFC43A LDRB R1, [R5,#2]
ROM:1FFFC43C ADD.W R0, R0, R1,LSL#8
ROM:1FFFC440 LDRB R1, [R5,#3]
ROM:1FFFC442 ADD.W R0, R0, R1,LSL#16
ROM:1FFFC446 LDRB R1, [R5,#4]
ROM:1FFFC448 ADD.W R0, R0, R1,LSL#24
ROM:1FFFC44C STR R0, [R4,#0x20]
ROM:1FFFC44E B.W get_mem_block
ROM:1FFFC44E ; End of function sub_1FFFC438
ROM:1FFFC44E
ROM:1FFFC452 ; ---------------------------------------------------------------------------
ROM:1FFFC452 PUSH {R4,LR}
ROM:1FFFC454 LDR.W R1, =0x20000C28
ROM:1FFFC458 LDR R1, [R1]
ROM:1FFFC45A LDRB R2, [R1]
ROM:1FFFC45C LDR.W R3, =0x20000138
ROM:1FFFC460 AND.W R4, R2, #0x7F
ROM:1FFFC464 CMP R4, #0x21
ROM:1FFFC466 BNE loc_1FFFC4AA
ROM:1FFFC468 LDRB R2, [R3,#0x10]
ROM:1FFFC46A CMP R0, #2
ROM:1FFFC46C BNE loc_1FFFC480
ROM:1FFFC46E CMP R2, #2
ROM:1FFFC470 IT NE
ROM:1FFFC472 CMPNE R2, #9
ROM:1FFFC474 BNE loc_1FFFC4CA
ROM:1FFFC476 ADR.W R2, (sub_1FFFC600+1)
ROM:1FFFC47A
ROM:1FFFC47A loc_1FFFC47A ; CODE XREF: ROM:1FFFC494j
ROM:1FFFC47A ; ROM:1FFFC49Ej ...
ROM:1FFFC47A MOVS R0, R2
ROM:1FFFC47C BNE loc_1FFFC4CE
ROM:1FFFC47E B loc_1FFFC4CA
ROM:1FFFC480 ; ---------------------------------------------------------------------------
ROM:1FFFC480
ROM:1FFFC480 loc_1FFFC480 ; CODE XREF: ROM:1FFFC46Cj
ROM:1FFFC480 CMP R0, #1
ROM:1FFFC482 BNE loc_1FFFC496
ROM:1FFFC484 CMP R2, #2
ROM:1FFFC486 IT NE
ROM:1FFFC488 CMPNE R2, #5
ROM:1FFFC48A BNE loc_1FFFC4CA
ROM:1FFFC48C MOVS R0, #3
ROM:1FFFC48E STRB R0, [R3,#0x10]
ROM:1FFFC490 ADR.W R2, (sub_1FFFC6E0+1)
ROM:1FFFC494 B loc_1FFFC47A
ROM:1FFFC496 ; ---------------------------------------------------------------------------
ROM:1FFFC496
ROM:1FFFC496 loc_1FFFC496 ; CODE XREF: ROM:1FFFC482j
ROM:1FFFC496 CMP R0, #5
ROM:1FFFC498 IT EQ
ROM:1FFFC49A ADREQ.W R2, (sub_1FFFC70C+1)
ROM:1FFFC49E BEQ loc_1FFFC47A
ROM:1FFFC4A0 CMP R0, #3
ROM:1FFFC4A2 BNE loc_1FFFC4CA
ROM:1FFFC4A4 ADR.W R2, (sub_1FFFC724+1)
ROM:1FFFC4A8 B loc_1FFFC47A
ROM:1FFFC4AA ; ---------------------------------------------------------------------------
ROM:1FFFC4AA
ROM:1FFFC4AA loc_1FFFC4AA ; CODE XREF: ROM:1FFFC466j
ROM:1FFFC4AA AND.W R2, R2, #0x7F
ROM:1FFFC4AE CMP R2, #0x41
ROM:1FFFC4B0 BNE loc_1FFFC4CA
ROM:1FFFC4B2 CMP R0, #0x52
ROM:1FFFC4B4 IT EQ
ROM:1FFFC4B6 ADREQ.W R2, (sub_1FFFC7F8+1)
ROM:1FFFC4BA BEQ loc_1FFFC47A
ROM:1FFFC4BC CMP R0, #0x53
ROM:1FFFC4BE IT EQ
ROM:1FFFC4C0 ADREQ.W R2, (sub_1FFFC874+1)
ROM:1FFFC4C4 BEQ loc_1FFFC47A
ROM:1FFFC4C6 MOVS R0, #0x20
ROM:1FFFC4C8 STRB R0, [R3,#8]
ROM:1FFFC4CA
ROM:1FFFC4CA loc_1FFFC4CA ; CODE XREF: ROM:1FFFC474j
ROM:1FFFC4CA ; ROM:1FFFC47Ej ...
ROM:1FFFC4CA MOVS R0, #2
ROM:1FFFC4CC POP {R4,PC}
ROM:1FFFC4CE ; ---------------------------------------------------------------------------
ROM:1FFFC4CE
ROM:1FFFC4CE loc_1FFFC4CE ; CODE XREF: ROM:1FFFC47Cj
ROM:1FFFC4CE STR R2, [R1,#0x18]
ROM:1FFFC4D0 MOVS R0, #0
ROM:1FFFC4D2 STRH R0, [R1,#0x12]
ROM:1FFFC4D4 BLX R2 ; sub_1FFFC600
ROM:1FFFC4D6 MOVS R0, #0
ROM:1FFFC4D8 POP {R4,PC}
ROM:1FFFC4DA ; ---------------------------------------------------------------------------
ROM:1FFFC4DA PUSH {R7,LR}
ROM:1FFFC4DC LDR.W R1, =0x20000C28
ROM:1FFFC4E0 LDR R1, [R1]
ROM:1FFFC4E2 LDRB R2, [R1]
ROM:1FFFC4E4 LDR.W R1, =0x20000138
ROM:1FFFC4E8 AND.W R3, R2, #0x7F
ROM:1FFFC4EC CMP R3, #0x21
ROM:1FFFC4EE BNE loc_1FFFC57A
ROM:1FFFC4F0 LDRB R2, [R1,#0x10]
ROM:1FFFC4F2 CMP R0, #1
ROM:1FFFC4F4 BNE loc_1FFFC50E
ROM:1FFFC4F6 CMP R2, #5
ROM:1FFFC4F8 IT NE
ROM:1FFFC4FA CMPNE R2, #2
ROM:1FFFC4FC BNE loc_1FFFC59E
ROM:1FFFC4FE STR R0, [R1,#0x1C]
ROM:1FFFC500 MOVS R0, #6
ROM:1FFFC502 STRB R0, [R1,#0x10]
ROM:1FFFC504 MOVS R0, #0
ROM:1FFFC506 STRB R0, [R1,#1]
ROM:1FFFC508 STRH R0, [R1,#2]
ROM:1FFFC50A MOVS R0, #6
ROM:1FFFC50C B loc_1FFFC51C
ROM:1FFFC50E ; ---------------------------------------------------------------------------
ROM:1FFFC50E
ROM:1FFFC50E loc_1FFFC50E ; CODE XREF: ROM:1FFFC4F4j
ROM:1FFFC50E CMP R0, #2
ROM:1FFFC510 BNE loc_1FFFC520
ROM:1FFFC512 STRB R0, [R1,#0x10]
ROM:1FFFC514 MOVS R0, #0
ROM:1FFFC516 STRB R0, [R1,#1]
ROM:1FFFC518 STRH R0, [R1,#2]
ROM:1FFFC51A MOVS R0, #2
ROM:1FFFC51C
ROM:1FFFC51C loc_1FFFC51C ; CODE XREF: ROM:1FFFC50Cj
ROM:1FFFC51C STRB R0, [R1,#4]
ROM:1FFFC51E B loc_1FFFC576
ROM:1FFFC520 ; ---------------------------------------------------------------------------
ROM:1FFFC520
ROM:1FFFC520 loc_1FFFC520 ; CODE XREF: ROM:1FFFC510j
ROM:1FFFC520 CMP R0, #4
ROM:1FFFC522 BNE loc_1FFFC54C
ROM:1FFFC524 CMP R2, #0xA
ROM:1FFFC526 BNE loc_1FFFC534
ROM:1FFFC528 MOVS R0, #2
ROM:1FFFC52A STRB R0, [R1,#0x10]
ROM:1FFFC52C MOVS R0, #0
ROM:1FFFC52E STR R0, [R1]
ROM:1FFFC530 MOVS R0, #2
ROM:1FFFC532 B loc_1FFFC544
ROM:1FFFC534 ; ---------------------------------------------------------------------------
ROM:1FFFC534
ROM:1FFFC534 loc_1FFFC534 ; CODE XREF: ROM:1FFFC526j
ROM:1FFFC534 MOVS R0, #0xA
ROM:1FFFC536 STRB R0, [R1,#0x10]
ROM:1FFFC538 MOVS R0, #0xE
ROM:1FFFC53A STRB R0, [R1]
ROM:1FFFC53C MOVS R0, #0
ROM:1FFFC53E STRB R0, [R1,#1]
ROM:1FFFC540 STRH R0, [R1,#2]
ROM:1FFFC542 MOVS R0, #0xA
ROM:1FFFC544
ROM:1FFFC544 loc_1FFFC544 ; CODE XREF: ROM:1FFFC532j
ROM:1FFFC544 STRB R0, [R1,#4]
ROM:1FFFC546 MOVS R0, #0
ROM:1FFFC548 STRB R0, [R1,#5]
ROM:1FFFC54A B loc_1FFFC576
ROM:1FFFC54C ; ---------------------------------------------------------------------------
ROM:1FFFC54C
ROM:1FFFC54C loc_1FFFC54C ; CODE XREF: ROM:1FFFC522j
ROM:1FFFC54C CMP R0, #6
ROM:1FFFC54E BNE loc_1FFFC59E
ROM:1FFFC550 CMP R2, #2
ROM:1FFFC552 IT NE
ROM:1FFFC554 CMPNE R2, #3
ROM:1FFFC556 BEQ loc_1FFFC562
ROM:1FFFC558 CMP R2, #5
ROM:1FFFC55A ITT NE
ROM:1FFFC55C CMPNE R2, #6
ROM:1FFFC55E CMPNE R2, #9
ROM:1FFFC560 BNE loc_1FFFC576
ROM:1FFFC562
ROM:1FFFC562 loc_1FFFC562 ; CODE XREF: ROM:1FFFC556j
ROM:1FFFC562 MOVS R0, #2
ROM:1FFFC564 STRB R0, [R1,#0x10]
ROM:1FFFC566 MOVS R0, #0
ROM:1FFFC568 STR R0, [R1]
ROM:1FFFC56A MOVS R0, #2
ROM:1FFFC56C STRB R0, [R1,#4]
ROM:1FFFC56E MOVS R0, #0
ROM:1FFFC570 STRB R0, [R1,#5]
ROM:1FFFC572 STR R0, [R1,#0x14]
ROM:1FFFC574 STR R0, [R1,#0x18]
ROM:1FFFC576
ROM:1FFFC576 loc_1FFFC576 ; CODE XREF: ROM:1FFFC51Ej
ROM:1FFFC576 ; ROM:1FFFC54Aj ...
ROM:1FFFC576 MOVS R0, #0
ROM:1FFFC578 POP {R1,PC}
ROM:1FFFC57A ; ---------------------------------------------------------------------------
ROM:1FFFC57A
ROM:1FFFC57A loc_1FFFC57A ; CODE XREF: ROM:1FFFC4EEj
ROM:1FFFC57A AND.W R2, R2, #0x7F
ROM:1FFFC57E CMP R2, #0x41
ROM:1FFFC580 IT EQ
ROM:1FFFC582 CMPEQ R0, #0x53
ROM:1FFFC584 BNE loc_1FFFC59E
ROM:1FFFC586 LDR.W R0, =0x20000C0C
ROM:1FFFC58A LDRB R0, [R0,#3]
ROM:1FFFC58C CMP R0, #0x73
ROM:1FFFC58E BEQ loc_1FFFC59A
ROM:1FFFC590 CMP R0, #0x82
ROM:1FFFC592 BEQ loc_1FFFC5A2
ROM:1FFFC594 CMP R0, #0x92
ROM:1FFFC596 BEQ loc_1FFFC5A8
ROM:1FFFC598 B loc_1FFFC5AE
ROM:1FFFC59A ; ---------------------------------------------------------------------------
ROM:1FFFC59A
ROM:1FFFC59A loc_1FFFC59A ; CODE XREF: ROM:1FFFC58Ej
ROM:1FFFC59A BL sub_1FFFC964
ROM:1FFFC59E
ROM:1FFFC59E loc_1FFFC59E ; CODE XREF: ROM:1FFFC4FCj
ROM:1FFFC59E ; ROM:1FFFC54Ej ...
ROM:1FFFC59E MOVS R0, #2
ROM:1FFFC5A0 POP {R1,PC}
ROM:1FFFC5A2 ; ---------------------------------------------------------------------------
ROM:1FFFC5A2
ROM:1FFFC5A2 loc_1FFFC5A2 ; CODE XREF: ROM:1FFFC592j
ROM:1FFFC5A2 BL sub_1FFFC978
ROM:1FFFC5A6 B loc_1FFFC59E
ROM:1FFFC5A8 ; ---------------------------------------------------------------------------
ROM:1FFFC5A8
ROM:1FFFC5A8 loc_1FFFC5A8 ; CODE XREF: ROM:1FFFC596j
ROM:1FFFC5A8 BL sub_1FFFC996
ROM:1FFFC5AC B loc_1FFFC59E
ROM:1FFFC5AE ; ---------------------------------------------------------------------------
ROM:1FFFC5AE
ROM:1FFFC5AE loc_1FFFC5AE ; CODE XREF: ROM:1FFFC598j
ROM:1FFFC5AE MOVS R0, #0x20
ROM:1FFFC5B0 STRB R0, [R1,#8]
ROM:1FFFC5B2 B loc_1FFFC59E
ROM:1FFFC5B4 ; ---------------------------------------------------------------------------
ROM:1FFFC5B4 LDR.W R1, =0x20000234
ROM:1FFFC5B8 B.W loc_1FFFCFD8
ROM:1FFFC5BC ; ---------------------------------------------------------------------------
ROM:1FFFC5BC LDR.W R1, =0x2000015C
ROM:1FFFC5C0 B.W loc_1FFFCFD8
ROM:1FFFC5C4 ; ---------------------------------------------------------------------------
ROM:1FFFC5C4 LDR.W R1, =0x20000C28
ROM:1FFFC5C8 LDR R1, [R1]
ROM:1FFFC5CA LDRB R1, [R1,#3]
ROM:1FFFC5CC LDR.W R2, =0x200000D4
ROM:1FFFC5D0 CMP R1, #4
ROM:1FFFC5D2 BNE loc_1FFFC5E6
ROM:1FFFC5D4 CBZ R0, loc_1FFFC5DC
ROM:1FFFC5D6 LDRB R3, [R2]
ROM:1FFFC5D8 ADDS R3, R3, #1
ROM:1FFFC5DA STRB R3, [R2]
ROM:1FFFC5DC
ROM:1FFFC5DC loc_1FFFC5DC ; CODE XREF: ROM:1FFFC5D4j
ROM:1FFFC5DC ; ROM:1FFFC5E8j
ROM:1FFFC5DC ADD.W R1, R2, R1,LSL#3
ROM:1FFFC5E0 ADDS R1, R1, #4
ROM:1FFFC5E2 B.W loc_1FFFCFD8
ROM:1FFFC5E6 ; ---------------------------------------------------------------------------
ROM:1FFFC5E6
ROM:1FFFC5E6 loc_1FFFC5E6 ; CODE XREF: ROM:1FFFC5D2j
ROM:1FFFC5E6 CMP R1, #6
ROM:1FFFC5E8 BLT loc_1FFFC5DC
ROM:1FFFC5EA MOVS R0, #0
ROM:1FFFC5EC BX LR
ROM:1FFFC5EE ; ---------------------------------------------------------------------------
ROM:1FFFC5EE CMP R1, #4
ROM:1FFFC5F0 IT CC
ROM:1FFFC5F2 CMPCC R0, #3
ROM:1FFFC5F4 BCC loc_1FFFC5FA
ROM:1FFFC5F6 MOVS R0, #2
ROM:1FFFC5F8 BX LR
ROM:1FFFC5FA ; ---------------------------------------------------------------------------
ROM:1FFFC5FA
ROM:1FFFC5FA loc_1FFFC5FA ; CODE XREF: ROM:1FFFC5F4j
ROM:1FFFC5FA MOVS R0, #0
ROM:1FFFC5FC BX LR
ROM:1FFFC5FC ; ---------------------------------------------------------------------------
ROM:1FFFC5FE ALIGN 0x10
ROM:1FFFC600
ROM:1FFFC600 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC600
ROM:1FFFC600
ROM:1FFFC600 sub_1FFFC600 ; CODE XREF: ROM:1FFFC4D4p
ROM:1FFFC600 ; DATA XREF: ROM:1FFFC476o
ROM:1FFFC600
ROM:1FFFC600 var_20 = -0x20
ROM:1FFFC600
ROM:1FFFC600 PUSH.W {R4-R8,LR}
ROM:1FFFC604 SUB SP, SP, #8
ROM:1FFFC606 MOV R4, R0
ROM:1FFFC608 LDR.W R0, =0x20000C0C
ROM:1FFFC60C LDRB R1, [R0,#2]
ROM:1FFFC60E LDRB R2, [R0,#3]
ROM:1FFFC610 ADD.W R2, R2, R1,LSL#8
ROM:1FFFC614 LDR.W R5, =0x20000138
ROM:1FFFC618 STR R2, [R5,#0x14]
ROM:1FFFC61A LDRB R1, [R0,#7]
ROM:1FFFC61C LDRB R0, [R0,#6]
ROM:1FFFC61E ADD.W R0, R0, R1,LSL#8
ROM:1FFFC622 STR R0, [R5,#0x18]
ROM:1FFFC624 LDR.W R6, =0x20000C28
ROM:1FFFC628 LDR R1, [R6]
ROM:1FFFC62A LDRH R7, [R1,#0x12]
ROM:1FFFC62C UXTH R3, R2
ROM:1FFFC62E CBNZ R3, loc_1FFFC662
ROM:1FFFC630 UXTH R0, R0
ROM:1FFFC632 CMP R0, #4
ROM:1FFFC634 ITE CS
ROM:1FFFC636 MOVCS R0, #2
ROM:1FFFC638 MOVCC R0, #9
ROM:1FFFC63A STRB R0, [R5,#0x10]
ROM:1FFFC63C LDRB R0, [R5,#0x10]
ROM:1FFFC63E STRB R0, [R5,#4]
ROM:1FFFC640 MOVS R0, #0
ROM:1FFFC642 STRB R0, [R5,#1]
ROM:1FFFC644 STRH R0, [R5,#2]
ROM:1FFFC646 LDR.W R0, =0x20000250
ROM:1FFFC64A MOVS R2, #0
ROM:1FFFC64C STRB R2, [R0]
ROM:1FFFC64E MOVS R2, #0x21
ROM:1FFFC650 STRB R2, [R0,#1]
ROM:1FFFC652 MOVS R2, #0x41
ROM:1FFFC654 STRB R2, [R0,#2]
ROM:1FFFC656 MOVS R2, #0x92
ROM:1FFFC658 STRB R2, [R0,#3]
ROM:1FFFC65A CMP R4, #0
ROM:1FFFC65C BNE locret_1FFFC6DC
ROM:1FFFC65E MOVS R0, #4
ROM:1FFFC660 B loc_1FFFC6AE
ROM:1FFFC662 ; ---------------------------------------------------------------------------
ROM:1FFFC662
ROM:1FFFC662 loc_1FFFC662 ; CODE XREF: sub_1FFFC600+2Ej
ROM:1FFFC662 UXTH R2, R2
ROM:1FFFC664 CMP R2, #2
ROM:1FFFC666 BCC loc_1FFFC6D0
ROM:1FFFC668 BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC668 ;
ROM:1FFFC66C CBNZ R0, loc_1FFFC6B8
ROM:1FFFC66E MOVS R0, #9
ROM:1FFFC670 STRB R0, [R5,#0x10]
ROM:1FFFC672 STRB R0, [R5,#4]
ROM:1FFFC674 MOVS R0, #0
ROM:1FFFC676 STRB R0, [R5,#1]
ROM:1FFFC678 STRH R0, [R5,#2]
ROM:1FFFC67A LDR R0, [R5,#0x14]
ROM:1FFFC67C SUBS R0, R0, #2
ROM:1FFFC67E LDR R1, [R5,#0x20]
ROM:1FFFC680 ADD.W R8, R1, R0,LSL#11
ROM:1FFFC684 MOV R0, R8
ROM:1FFFC686 BL get_mem_block
ROM:1FFFC68A STRB.W R0, [SP,#0x20+var_20]
ROM:1FFFC68E LDRB.W R0, [SP,#0x20+var_20]
ROM:1FFFC692 CMP R0, #1
ROM:1FFFC694 ITTT EQ
ROM:1FFFC696 MOVEQ R0, #0xA
ROM:1FFFC698 STREQB R0, [R5,#0x10]
ROM:1FFFC69A MOVEQ R0, #1
ROM:1FFFC69C BEQ loc_1FFFC6BE
ROM:1FFFC69E LDR R1, [R5,#0x18]
ROM:1FFFC6A0 MOV R0, R8
ROM:1FFFC6A2 BL sub_1FFFCC7A
ROM:1FFFC6A6 CBNZ R4, loc_1FFFC6B4
ROM:1FFFC6A8 LDR R0, [R5,#0x18]
ROM:1FFFC6AA SUBS R0, R0, R7
ROM:1FFFC6AC LDR R1, [R6]
ROM:1FFFC6AE
ROM:1FFFC6AE loc_1FFFC6AE ; CODE XREF: sub_1FFFC600+60j
ROM:1FFFC6AE STRH R0, [R1,#0x10]
ROM:1FFFC6B0 MOVS R0, #0
ROM:1FFFC6B2 B locret_1FFFC6DC
ROM:1FFFC6B4 ; ---------------------------------------------------------------------------
ROM:1FFFC6B4
ROM:1FFFC6B4 loc_1FFFC6B4 ; CODE XREF: sub_1FFFC600+A6j
ROM:1FFFC6B4 ADDS R0, R7, R0
ROM:1FFFC6B6 B locret_1FFFC6DC
ROM:1FFFC6B8 ; ---------------------------------------------------------------------------
ROM:1FFFC6B8
ROM:1FFFC6B8 loc_1FFFC6B8 ; CODE XREF: sub_1FFFC600+6Cj
ROM:1FFFC6B8 MOVS R0, #0xA
ROM:1FFFC6BA STRB R0, [R5,#0x10]
ROM:1FFFC6BC MOVS R0, #0xB
ROM:1FFFC6BE
ROM:1FFFC6BE loc_1FFFC6BE ; CODE XREF: sub_1FFFC600+9Cj
ROM:1FFFC6BE STRB R0, [R5]
ROM:1FFFC6C0 MOVS R0, #0xA
ROM:1FFFC6C2 STRB R0, [R5,#4]
ROM:1FFFC6C4 MOVS R0, #0
ROM:1FFFC6C6 STRB R0, [R5,#1]
ROM:1FFFC6C8 STRH R0, [R5,#2]
ROM:1FFFC6CA STR R0, [R5,#0x18]
ROM:1FFFC6CC STR R0, [R5,#0x14]
ROM:1FFFC6CE B locret_1FFFC6DC
ROM:1FFFC6D0 ; ---------------------------------------------------------------------------
ROM:1FFFC6D0
ROM:1FFFC6D0 loc_1FFFC6D0 ; CODE XREF: sub_1FFFC600+66j
ROM:1FFFC6D0 MOVS R0, #0xF
ROM:1FFFC6D2 STRB R0, [R5,#0x10]
ROM:1FFFC6D4 STRB R0, [R5,#4]
ROM:1FFFC6D6 MOVS R0, #0
ROM:1FFFC6D8 STRB R0, [R5,#1]
ROM:1FFFC6DA STRH R0, [R5,#2]
ROM:1FFFC6DC
ROM:1FFFC6DC locret_1FFFC6DC ; CODE XREF: sub_1FFFC600+5Cj
ROM:1FFFC6DC ; sub_1FFFC600+B2j ...
ROM:1FFFC6DC POP.W {R1,R2,R4-R8,PC}
ROM:1FFFC6DC ; End of function sub_1FFFC600
ROM:1FFFC6DC
ROM:1FFFC6E0
ROM:1FFFC6E0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC6E0
ROM:1FFFC6E0
ROM:1FFFC6E0 sub_1FFFC6E0 ; DATA XREF: ROM:1FFFC490o
ROM:1FFFC6E0 PUSH {R4,LR}
ROM:1FFFC6E2 LDR.W R1, =0x20000138
ROM:1FFFC6E6 LDR.W R2, =0x20000C0C
ROM:1FFFC6EA LDRB R3, [R2,#2]
ROM:1FFFC6EC LDRB R4, [R2,#3]
ROM:1FFFC6EE ADD.W R3, R4, R3,LSL#8
ROM:1FFFC6F2 STR R3, [R1,#0x14]
ROM:1FFFC6F4 LDRB R3, [R2,#7]
ROM:1FFFC6F6 LDRB R4, [R2,#6]
ROM:1FFFC6F8 ADD.W R3, R4, R3,LSL#8
ROM:1FFFC6FC STR R3, [R1,#0x18]
ROM:1FFFC6FE LDRH R2, [R2,#0x12]
ROM:1FFFC700 MOVS R4, #3
ROM:1FFFC702 STRB R4, [R1,#0x10]
ROM:1FFFC704 STRB R4, [R1,#4]
ROM:1FFFC706 CBNZ R0, loc_1FFFC70A
ROM:1FFFC708 B loc_1FFFC89A
ROM:1FFFC70A ; ---------------------------------------------------------------------------
ROM:1FFFC70A
ROM:1FFFC70A loc_1FFFC70A ; CODE XREF: sub_1FFFC6E0+26j
ROM:1FFFC70A B loc_1FFFC894
ROM:1FFFC70A ; End of function sub_1FFFC6E0
ROM:1FFFC70A
ROM:1FFFC70C
ROM:1FFFC70C ; =============== S U B R O U T I N E =======================================
ROM:1FFFC70C
ROM:1FFFC70C
ROM:1FFFC70C sub_1FFFC70C ; DATA XREF: ROM:1FFFC49Ao
ROM:1FFFC70C CBNZ R0, loc_1FFFC71C
ROM:1FFFC70E LDR.W R0, =0x20000C28
ROM:1FFFC712 LDR R0, [R0]
ROM:1FFFC714 MOVS R1, #1
ROM:1FFFC716 STRH R1, [R0,#0x10]
ROM:1FFFC718 MOVS R0, #0
ROM:1FFFC71A BX LR
ROM:1FFFC71C ; ---------------------------------------------------------------------------
ROM:1FFFC71C
ROM:1FFFC71C loc_1FFFC71C ; CODE XREF: sub_1FFFC70Cj
ROM:1FFFC71C LDR.W R0, =0x20000148
ROM:1FFFC720 BX LR
ROM:1FFFC720 ; End of function sub_1FFFC70C
ROM:1FFFC720
ROM:1FFFC720 ; ---------------------------------------------------------------------------
ROM:1FFFC722 ALIGN 4
ROM:1FFFC724
ROM:1FFFC724 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC724
ROM:1FFFC724
ROM:1FFFC724 sub_1FFFC724 ; DATA XREF: ROM:1FFFC4A4o
ROM:1FFFC724 PUSH {R3-R5,LR}
ROM:1FFFC726 MOV R4, R0
ROM:1FFFC728 LDR.W R5, =0x20000138
ROM:1FFFC72C LDRB R0, [R5,#0x10]
ROM:1FFFC72E CMP R0, #3
ROM:1FFFC730 BEQ loc_1FFFC738
ROM:1FFFC732 CMP R0, #6
ROM:1FFFC734 BEQ loc_1FFFC766
ROM:1FFFC736 B loc_1FFFC790
ROM:1FFFC738 ; ---------------------------------------------------------------------------
ROM:1FFFC738
ROM:1FFFC738 loc_1FFFC738 ; CODE XREF: sub_1FFFC724+Cj
ROM:1FFFC738 LDR R0, [R5,#0x18]
ROM:1FFFC73A CBZ R0, loc_1FFFC762
ROM:1FFFC73C MOVS R0, #4
ROM:1FFFC73E STRB R0, [R5,#0x10]
ROM:1FFFC740 STRB R0, [R5,#4]
ROM:1FFFC742 LDR R0, [R5,#0x20]
ROM:1FFFC744 LDR R1, [R5,#0x14]
ROM:1FFFC746 CMP R1, #0
ROM:1FFFC748 ITTT EQ
ROM:1FFFC74A LDREQ.W R1, =0x20000250
ROM:1FFFC74E LDREQB R1, [R1]
ROM:1FFFC750 CMPEQ R1, #0x41
ROM:1FFFC752 ITTEE EQ
ROM:1FFFC754 MOVEQ R2, R5
ROM:1FFFC756 MOVEQ R1, #0
ROM:1FFFC758 MOVNE R2, R5
ROM:1FFFC75A MOVNE R1, #1
ROM:1FFFC75C BL sub_1FFFCC84
ROM:1FFFC760 B loc_1FFFC790
ROM:1FFFC762 ; ---------------------------------------------------------------------------
ROM:1FFFC762
ROM:1FFFC762 loc_1FFFC762 ; CODE XREF: sub_1FFFC724+16j
ROM:1FFFC762 MOVS R0, #5
ROM:1FFFC764 B loc_1FFFC786
ROM:1FFFC766 ; ---------------------------------------------------------------------------
ROM:1FFFC766
ROM:1FFFC766 loc_1FFFC766 ; CODE XREF: sub_1FFFC724+10j
ROM:1FFFC766 LDR R0, [R5,#0x1C]
ROM:1FFFC768 CMP R0, #1
ROM:1FFFC76A BNE loc_1FFFC77A
ROM:1FFFC76C MOVS R0, #7
ROM:1FFFC76E STRB R0, [R5,#0x10]
ROM:1FFFC770 STRB R0, [R5,#4]
ROM:1FFFC772 MOVS R0, #1
ROM:1FFFC774 STRB R0, [R5,#1]
ROM:1FFFC776 MOVS R0, #0
ROM:1FFFC778 B loc_1FFFC78E
ROM:1FFFC77A ; ---------------------------------------------------------------------------
ROM:1FFFC77A
ROM:1FFFC77A loc_1FFFC77A ; CODE XREF: sub_1FFFC724+46j
ROM:1FFFC77A CBNZ R0, loc_1FFFC790
ROM:1FFFC77C LDR R0, [R5,#0x24]
ROM:1FFFC77E LDRB R0, [R0,#0x14]
ROM:1FFFC780 LSLS R0, R0, #0x1D
ROM:1FFFC782 BPL loc_1FFFC790
ROM:1FFFC784 MOVS R0, #2
ROM:1FFFC786
ROM:1FFFC786 loc_1FFFC786 ; CODE XREF: sub_1FFFC724+40j
ROM:1FFFC786 STRB R0, [R5,#0x10]
ROM:1FFFC788 STRB R0, [R5,#4]
ROM:1FFFC78A MOVS R0, #0
ROM:1FFFC78C STRB R0, [R5,#1]
ROM:1FFFC78E
ROM:1FFFC78E loc_1FFFC78E ; CODE XREF: sub_1FFFC724+54j
ROM:1FFFC78E STRH R0, [R5,#2]
ROM:1FFFC790
ROM:1FFFC790 loc_1FFFC790 ; CODE XREF: sub_1FFFC724+12j
ROM:1FFFC790 ; sub_1FFFC724+3Cj ...
ROM:1FFFC790 CBNZ R4, loc_1FFFC7A0
ROM:1FFFC792 LDR.W R0, =0x20000C28
ROM:1FFFC796 LDR R0, [R0]
ROM:1FFFC798 MOVS R1, #6
ROM:1FFFC79A STRH R1, [R0,#0x10]
ROM:1FFFC79C MOVS R0, #0
ROM:1FFFC79E POP {R1,R4,R5,PC}
ROM:1FFFC7A0 ; ---------------------------------------------------------------------------
ROM:1FFFC7A0
ROM:1FFFC7A0 loc_1FFFC7A0 ; CODE XREF: sub_1FFFC724:loc_1FFFC790j
ROM:1FFFC7A0 MOV R0, R5
ROM:1FFFC7A2 POP {R1,R4,R5,PC}
ROM:1FFFC7A2 ; End of function sub_1FFFC724
ROM:1FFFC7A2
ROM:1FFFC7A4
ROM:1FFFC7A4 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC7A4
ROM:1FFFC7A4
ROM:1FFFC7A4 sub_1FFFC7A4 ; CODE XREF: sub_1FFFC2EE+116p
ROM:1FFFC7A4 PUSH {R3-R5,LR}
ROM:1FFFC7A6 LDR.W R4, =0x20000138
ROM:1FFFC7AA MOVS R0, #0
ROM:1FFFC7AC STR R0, [R4,#0x1C]
ROM:1FFFC7AE BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC7AE ;
ROM:1FFFC7B2 CMP R0, #1
ROM:1FFFC7B4 BEQ loc_1FFFC7BE
ROM:1FFFC7B6 LDR R0, [R4,#0x24]
ROM:1FFFC7B8 LDRB R0, [R0,#0x14]
ROM:1FFFC7BA LSLS R0, R0, #0x1D
ROM:1FFFC7BC BPL loc_1FFFC7C2
ROM:1FFFC7BE
ROM:1FFFC7BE loc_1FFFC7BE ; CODE XREF: sub_1FFFC7A4+10j
ROM:1FFFC7BE MOVS R0, #6
ROM:1FFFC7C0 B loc_1FFFC7EC
ROM:1FFFC7C2 ; ---------------------------------------------------------------------------
ROM:1FFFC7C2
ROM:1FFFC7C2 loc_1FFFC7C2 ; CODE XREF: sub_1FFFC7A4+18j
ROM:1FFFC7C2 MOVS R0, #8
ROM:1FFFC7C4 STRB R0, [R4,#0x10]
ROM:1FFFC7C6 STRB R0, [R4,#4]
ROM:1FFFC7C8 MOVS R0, #0
ROM:1FFFC7CA STRB R0, [R4,#1]
ROM:1FFFC7CC STRH R0, [R4,#2]
ROM:1FFFC7CE LDR.W R5, =0x20000210
ROM:1FFFC7D2 BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC7D2 ;
ROM:1FFFC7D6 CMP R0, #1
ROM:1FFFC7D8 ITE EQ
ROM:1FFFC7DA MOVEQ.W R0, #0x8000000
ROM:1FFFC7DE LDRNE R0, [R4,#0x20]
ROM:1FFFC7E0 STR R0, [R5]
ROM:1FFFC7E2 LDR.W R0, =0x20000198
ROM:1FFFC7E6 MOVS R1, #0
ROM:1FFFC7E8 STR R1, [R0]
ROM:1FFFC7EA POP {R0,R4,R5,PC}
ROM:1FFFC7EC ; ---------------------------------------------------------------------------
ROM:1FFFC7EC
ROM:1FFFC7EC loc_1FFFC7EC ; CODE XREF: sub_1FFFC2EE+10Cj
ROM:1FFFC7EC ; sub_1FFFC7A4+1Cj
ROM:1FFFC7EC STRB R0, [R4,#0x10]
ROM:1FFFC7EE STRB R0, [R4,#4]
ROM:1FFFC7F0 MOVS R0, #0
ROM:1FFFC7F2 STRB R0, [R4,#1]
ROM:1FFFC7F4 STRH R0, [R4,#2]
ROM:1FFFC7F6 POP {R0,R4,R5,PC}
ROM:1FFFC7F6 ; End of function sub_1FFFC7A4
ROM:1FFFC7F6
ROM:1FFFC7F8
ROM:1FFFC7F8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC7F8
ROM:1FFFC7F8
ROM:1FFFC7F8 sub_1FFFC7F8 ; DATA XREF: ROM:1FFFC4B6o
ROM:1FFFC7F8 PUSH {R4,LR}
ROM:1FFFC7FA LDR R1, =0x20000C0C
ROM:1FFFC7FC LDRB R1, [R1,#3]
ROM:1FFFC7FE LDR R4, =0x20000138
ROM:1FFFC800 CBNZ R0, loc_1FFFC850
ROM:1FFFC802 LDR R0, =0x20000C28
ROM:1FFFC804 LDR R0, [R0]
ROM:1FFFC806 CBZ R1, loc_1FFFC816
ROM:1FFFC808 CMP R1, #1
ROM:1FFFC80A BEQ loc_1FFFC81E
ROM:1FFFC80C CMP R1, #2
ROM:1FFFC80E BEQ loc_1FFFC818
ROM:1FFFC810 CMP R1, #5
ROM:1FFFC812 BEQ loc_1FFFC822
ROM:1FFFC814 B loc_1FFFC81A
ROM:1FFFC816 ; ---------------------------------------------------------------------------
ROM:1FFFC816
ROM:1FFFC816 loc_1FFFC816 ; CODE XREF: sub_1FFFC7F8+Ej
ROM:1FFFC816 MOVS R1, #0xB
ROM:1FFFC818
ROM:1FFFC818 loc_1FFFC818 ; CODE XREF: sub_1FFFC7F8+16j
ROM:1FFFC818 ; sub_1FFFC7F8+28j
ROM:1FFFC818 STRH R1, [R0,#0x10]
ROM:1FFFC81A
ROM:1FFFC81A loc_1FFFC81A ; CODE XREF: sub_1FFFC7F8+1Cj
ROM:1FFFC81A ; sub_1FFFC7F8+3Ej ...
ROM:1FFFC81A MOVS R0, #0
ROM:1FFFC81C POP {R4,PC}
ROM:1FFFC81E ; ---------------------------------------------------------------------------
ROM:1FFFC81E
ROM:1FFFC81E loc_1FFFC81E ; CODE XREF: sub_1FFFC7F8+12j
ROM:1FFFC81E MOVS R1, #3
ROM:1FFFC820 B loc_1FFFC818
ROM:1FFFC822 ; ---------------------------------------------------------------------------
ROM:1FFFC822
ROM:1FFFC822 loc_1FFFC822 ; CODE XREF: sub_1FFFC7F8+1Aj
ROM:1FFFC822 MOVS R1, #9
ROM:1FFFC824 STRH R1, [R0,#0x10]
ROM:1FFFC826 BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC826 ;
ROM:1FFFC82A CMP R0, #1
ROM:1FFFC82C BNE loc_1FFFC838
ROM:1FFFC82E STRB R0, [R4,#9]
ROM:1FFFC830 MOVS R0, #0
ROM:1FFFC832 STRH R0, [R4,#0xA]
ROM:1FFFC834 STRH R0, [R4,#0xC]
ROM:1FFFC836 B loc_1FFFC81A
ROM:1FFFC838 ; ---------------------------------------------------------------------------
ROM:1FFFC838
ROM:1FFFC838 loc_1FFFC838 ; CODE XREF: sub_1FFFC7F8+34j
ROM:1FFFC838 MOVS R0, #0
ROM:1FFFC83A STRB R0, [R4,#9]
ROM:1FFFC83C LDR R0, =0x40022020
ROM:1FFFC83E LDR R0, [R0]
ROM:1FFFC840 STRB R0, [R4,#0xA]
ROM:1FFFC842 LSRS R1, R0, #8
ROM:1FFFC844 STRB R1, [R4,#0xB]
ROM:1FFFC846 LSRS R1, R0, #0x10
ROM:1FFFC848 STRB R1, [R4,#0xC]
ROM:1FFFC84A LSRS R0, R0, #0x18
ROM:1FFFC84C STRB R0, [R4,#0xD]
ROM:1FFFC84E B loc_1FFFC81A
ROM:1FFFC850 ; ---------------------------------------------------------------------------
ROM:1FFFC850
ROM:1FFFC850 loc_1FFFC850 ; CODE XREF: sub_1FFFC7F8+8j
ROM:1FFFC850 CBZ R1, loc_1FFFC860
ROM:1FFFC852 CMP R1, #1
ROM:1FFFC854 BEQ loc_1FFFC864
ROM:1FFFC856 CMP R1, #2
ROM:1FFFC858 BEQ loc_1FFFC868
ROM:1FFFC85A CMP R1, #5
ROM:1FFFC85C BEQ loc_1FFFC86C
ROM:1FFFC85E B loc_1FFFC81A
ROM:1FFFC860 ; ---------------------------------------------------------------------------
ROM:1FFFC860
ROM:1FFFC860 loc_1FFFC860 ; CODE XREF: sub_1FFFC7F8:loc_1FFFC850j
ROM:1FFFC860 LDR R0, =0x20000220
ROM:1FFFC862 POP {R4,PC}
ROM:1FFFC864 ; ---------------------------------------------------------------------------
ROM:1FFFC864
ROM:1FFFC864 loc_1FFFC864 ; CODE XREF: sub_1FFFC7F8+5Cj
ROM:1FFFC864 LDR R0, =0x20000244
ROM:1FFFC866 POP {R4,PC}
ROM:1FFFC868 ; ---------------------------------------------------------------------------
ROM:1FFFC868
ROM:1FFFC868 loc_1FFFC868 ; CODE XREF: sub_1FFFC7F8+60j
ROM:1FFFC868 LDR R0, =0x2000024C
ROM:1FFFC86A POP {R4,PC}
ROM:1FFFC86C ; ---------------------------------------------------------------------------
ROM:1FFFC86C
ROM:1FFFC86C loc_1FFFC86C ; CODE XREF: sub_1FFFC7F8+64j
ROM:1FFFC86C ADD.W R0, R4, #8
ROM:1FFFC870 POP {R4,PC}
ROM:1FFFC870 ; End of function sub_1FFFC7F8
ROM:1FFFC870
ROM:1FFFC870 ; ---------------------------------------------------------------------------
ROM:1FFFC872 ALIGN 4
ROM:1FFFC874
ROM:1FFFC874 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC874
ROM:1FFFC874
ROM:1FFFC874 sub_1FFFC874 ; DATA XREF: ROM:1FFFC4C0o
ROM:1FFFC874 PUSH {R4,LR}
ROM:1FFFC876 LDR R1, =0x20000138
ROM:1FFFC878 LDR R2, =0x20000C0C
ROM:1FFFC87A LDRB R3, [R2,#3]
ROM:1FFFC87C STR R3, [R1,#0x14]
ROM:1FFFC87E LDRB R3, [R2,#7]
ROM:1FFFC880 LDRB R4, [R2,#6]
ROM:1FFFC882 ADD.W R3, R4, R3,LSL#8
ROM:1FFFC886 STR R3, [R1,#0x18]
ROM:1FFFC888 LDRH R2, [R2,#0x12]
ROM:1FFFC88A MOVS R4, #1
ROM:1FFFC88C STRB R4, [R1,#8]
ROM:1FFFC88E CBNZ R0, loc_1FFFC892
ROM:1FFFC890 B loc_1FFFC89A
ROM:1FFFC892 ; ---------------------------------------------------------------------------
ROM:1FFFC892
ROM:1FFFC892 loc_1FFFC892 ; CODE XREF: sub_1FFFC874+1Aj
ROM:1FFFC892 NOP
ROM:1FFFC894
ROM:1FFFC894 loc_1FFFC894 ; CODE XREF: sub_1FFFC6E0:loc_1FFFC70Aj
ROM:1FFFC894 LDR R0, =0x20000250
ROM:1FFFC896 ADDS R0, R2, R0
ROM:1FFFC898 POP {R4,PC}
ROM:1FFFC89A ; ---------------------------------------------------------------------------
ROM:1FFFC89A
ROM:1FFFC89A loc_1FFFC89A ; CODE XREF: sub_1FFFC6E0+28j
ROM:1FFFC89A ; sub_1FFFC874+1Cj
ROM:1FFFC89A SUBS R0, R3, R2
ROM:1FFFC89C LDR R1, =0x20000C28
ROM:1FFFC89E LDR R1, [R1]
ROM:1FFFC8A0 STRH R0, [R1,#0x10]
ROM:1FFFC8A2 MOVS R0, #0
ROM:1FFFC8A4 POP {R4,PC}
ROM:1FFFC8A4 ; End of function sub_1FFFC874
ROM:1FFFC8A4
ROM:1FFFC8A6
ROM:1FFFC8A6 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC8A6
ROM:1FFFC8A6
ROM:1FFFC8A6 sub_1FFFC8A6 ; CODE XREF: sub_1FFFC2EE+130p
ROM:1FFFC8A6 PUSH {R4,LR}
ROM:1FFFC8A8 LDR R0, =0x20000250
ROM:1FFFC8AA LDRB R1, [R0]
ROM:1FFFC8AC LDRB R2, [R0,#1]
ROM:1FFFC8AE ADD.W R1, R1, R2,LSL#8
ROM:1FFFC8B2 LDRB R2, [R0,#2]
ROM:1FFFC8B4 ADD.W R1, R1, R2,LSL#16
ROM:1FFFC8B8 LDRB R0, [R0,#3]
ROM:1FFFC8BA ADD.W R0, R1, R0,LSL#24
ROM:1FFFC8BE LDR R4, =0x20000138
ROM:1FFFC8C0 STR R0, [R4,#0x20]
ROM:1FFFC8C2 BL get_mem_block
ROM:1FFFC8C6 CMP R0, #2
ROM:1FFFC8C8 IT NE
ROM:1FFFC8CA CMPNE R0, #3
ROM:1FFFC8CC BEQ loc_1FFFC8D4
ROM:1FFFC8CE MOVS R0, #0x10
ROM:1FFFC8D0 STRB R0, [R4,#8]
ROM:1FFFC8D2 POP {R4,PC}
ROM:1FFFC8D4 ; ---------------------------------------------------------------------------
ROM:1FFFC8D4
ROM:1FFFC8D4 loc_1FFFC8D4 ; CODE XREF: sub_1FFFC8A6+26j
ROM:1FFFC8D4 LDR R0, [R4,#0x20]
ROM:1FFFC8D6 LDR R1, =0x20000210
ROM:1FFFC8D8 STR R0, [R1]
ROM:1FFFC8DA LDR R0, =0x20000198
ROM:1FFFC8DC MOVS R1, #0
ROM:1FFFC8DE STR R1, [R0]
ROM:1FFFC8E0 POP {R4,PC}
ROM:1FFFC8E0 ; End of function sub_1FFFC8A6
ROM:1FFFC8E0
ROM:1FFFC8E2
ROM:1FFFC8E2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC8E2
ROM:1FFFC8E2
ROM:1FFFC8E2 sub_1FFFC8E2 ; CODE XREF: sub_1FFFC2EE:loc_1FFFC420p
ROM:1FFFC8E2 PUSH {R3-R7,LR}
ROM:1FFFC8E4 LDR R5, =0x20000250
ROM:1FFFC8E6 LDRB R6, [R5]
ROM:1FFFC8E8 LDR R4, =0x20000138
ROM:1FFFC8EA BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC8EA ;
ROM:1FFFC8EE CBNZ R0, loc_1FFFC916
ROM:1FFFC8F0 CMP R6, #0xFF
ROM:1FFFC8F2 BNE loc_1FFFC8FA
ROM:1FFFC8F4 BL sub_1FFFC0C6
ROM:1FFFC8F8 B loc_1FFFC912
ROM:1FFFC8FA ; ---------------------------------------------------------------------------
ROM:1FFFC8FA
ROM:1FFFC8FA loc_1FFFC8FA ; CODE XREF: sub_1FFFC8E2+10j
ROM:1FFFC8FA ADDS R6, R6, #1
ROM:1FFFC8FC MOVS R7, #1
ROM:1FFFC8FE B loc_1FFFC90E
ROM:1FFFC900 ; ---------------------------------------------------------------------------
ROM:1FFFC900
ROM:1FFFC900 loc_1FFFC900 ; CODE XREF: sub_1FFFC8E2+2Ej
ROM:1FFFC900 LDRB R0, [R7,R5]
ROM:1FFFC902 LSLS R0, R0, #0xB
ROM:1FFFC904 ADD.W R0, R0, #0x8000000
ROM:1FFFC908 BL FLASH_ErasePage
ROM:1FFFC90C ADDS R7, R7, #1
ROM:1FFFC90E
ROM:1FFFC90E loc_1FFFC90E ; CODE XREF: sub_1FFFC8E2+1Cj
ROM:1FFFC90E CMP R6, R7
ROM:1FFFC910 BCS loc_1FFFC900
ROM:1FFFC912
ROM:1FFFC912 loc_1FFFC912 ; CODE XREF: sub_1FFFC8E2+16j
ROM:1FFFC912 MOVS R0, #0
ROM:1FFFC914 B loc_1FFFC918
ROM:1FFFC916 ; ---------------------------------------------------------------------------
ROM:1FFFC916
ROM:1FFFC916 loc_1FFFC916 ; CODE XREF: sub_1FFFC8E2+Cj
ROM:1FFFC916 MOVS R0, #0x10
ROM:1FFFC918
ROM:1FFFC918 loc_1FFFC918 ; CODE XREF: sub_1FFFC8E2+32j
ROM:1FFFC918 STRB R0, [R4,#8]
ROM:1FFFC91A POP {R0,R4-R7,PC}
ROM:1FFFC91A ; End of function sub_1FFFC8E2
ROM:1FFFC91A
ROM:1FFFC91C
ROM:1FFFC91C ; =============== S U B R O U T I N E =======================================
ROM:1FFFC91C
ROM:1FFFC91C
ROM:1FFFC91C sub_1FFFC91C ; CODE XREF: sub_1FFFC2EE+142p
ROM:1FFFC91C
ROM:1FFFC91C var_10 = -0x10
ROM:1FFFC91C
ROM:1FFFC91C PUSH {R3-R5,LR}
ROM:1FFFC91E MOVS R0, #0
ROM:1FFFC920 STR R0, [SP,#0x10+var_10]
ROM:1FFFC922 LDR R4, =0x20000250
ROM:1FFFC924 LDRB R5, [R4]
ROM:1FFFC926 BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC926 ;
ROM:1FFFC92A CBNZ R0, loc_1FFFC95C
ROM:1FFFC92C CMP R5, #0x20
ROM:1FFFC92E BCS loc_1FFFC95C
ROM:1FFFC930 STR R0, [SP,#0x10+var_10]
ROM:1FFFC932 ADDS R0, R5, #1
ROM:1FFFC934
ROM:1FFFC934 loc_1FFFC934 ; CODE XREF: sub_1FFFC91C+26j
ROM:1FFFC934 LDR R1, [SP,#0x10+var_10]
ROM:1FFFC936 MOVS R2, #1
ROM:1FFFC938 LDRSB R3, [R0,R4]
ROM:1FFFC93A LSLS R2, R3
ROM:1FFFC93C ORRS R1, R2
ROM:1FFFC93E STR R1, [SP,#0x10+var_10]
ROM:1FFFC940 SUBS R0, R0, #1
ROM:1FFFC942 BNE loc_1FFFC934
ROM:1FFFC944 BL FLASH_UnlockBank1
ROM:1FFFC948 LDR R0, =0x4002200C
ROM:1FFFC94A MOVS R1, #0x35
ROM:1FFFC94C STR R1, [R0]
ROM:1FFFC94E LDR R0, [SP,#0x10+var_10]
ROM:1FFFC950 BL sub_1FFFC0FC
ROM:1FFFC954 POP.W {R0,R4,R5,LR}
ROM:1FFFC958 B.W sys_reset
ROM:1FFFC95C ; ---------------------------------------------------------------------------
ROM:1FFFC95C
ROM:1FFFC95C loc_1FFFC95C ; CODE XREF: sub_1FFFC91C+Ej
ROM:1FFFC95C ; sub_1FFFC91C+12j
ROM:1FFFC95C LDR R0, =0x20000138
ROM:1FFFC95E MOVS R1, #0x10
ROM:1FFFC960 STRB R1, [R0,#8]
ROM:1FFFC962 POP {R0,R4,R5,PC}
ROM:1FFFC962 ; End of function sub_1FFFC91C
ROM:1FFFC962
ROM:1FFFC964
ROM:1FFFC964 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC964
ROM:1FFFC964
ROM:1FFFC964 sub_1FFFC964 ; CODE XREF: ROM:loc_1FFFC59Ap
ROM:1FFFC964 PUSH {R7,LR}
ROM:1FFFC966 BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC966 ;
ROM:1FFFC96A CMP R0, #1
ROM:1FFFC96C BEQ loc_1FFFC976
ROM:1FFFC96E MOVS R0, #0
ROM:1FFFC970 BL sub_1FFFC1AA
ROM:1FFFC974 B loc_1FFFC9A2
ROM:1FFFC976 ; ---------------------------------------------------------------------------
ROM:1FFFC976
ROM:1FFFC976 loc_1FFFC976 ; CODE XREF: sub_1FFFC964+8j
ROM:1FFFC976 B loc_1FFFC98E
ROM:1FFFC976 ; End of function sub_1FFFC964
ROM:1FFFC976
ROM:1FFFC978
ROM:1FFFC978 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC978
ROM:1FFFC978
ROM:1FFFC978 sub_1FFFC978 ; CODE XREF: ROM:loc_1FFFC5A2p
ROM:1FFFC978 PUSH {R7,LR}
ROM:1FFFC97A BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFC97A ;
ROM:1FFFC97E CMP R0, #1
ROM:1FFFC980 BEQ loc_1FFFC98E
ROM:1FFFC982 MOVS R0, #1
ROM:1FFFC984 BL sub_1FFFC1AA
ROM:1FFFC988 BL sub_1FFFCC08
ROM:1FFFC98C B loc_1FFFC9A2
ROM:1FFFC98E ; ---------------------------------------------------------------------------
ROM:1FFFC98E
ROM:1FFFC98E loc_1FFFC98E ; CODE XREF: sub_1FFFC964:loc_1FFFC976j
ROM:1FFFC98E ; sub_1FFFC978+8j
ROM:1FFFC98E LDR R0, =0x20000138
ROM:1FFFC990 MOVS R1, #0x10
ROM:1FFFC992 STRB R1, [R0,#8]
ROM:1FFFC994 POP {R0,PC}
ROM:1FFFC994 ; End of function sub_1FFFC978
ROM:1FFFC994
ROM:1FFFC996
ROM:1FFFC996 ; =============== S U B R O U T I N E =======================================
ROM:1FFFC996
ROM:1FFFC996
ROM:1FFFC996 sub_1FFFC996 ; CODE XREF: ROM:loc_1FFFC5A8p
ROM:1FFFC996 PUSH {R7,LR}
ROM:1FFFC998 MOVS R0, #0
ROM:1FFFC99A BL sub_1FFFC1AA
ROM:1FFFC99E BL clear_all_mem
ROM:1FFFC9A2
ROM:1FFFC9A2 loc_1FFFC9A2 ; CODE XREF: sub_1FFFC964+10j
ROM:1FFFC9A2 ; sub_1FFFC978+14j
ROM:1FFFC9A2 POP.W {R0,LR}
ROM:1FFFC9A6 B.W sys_reset
ROM:1FFFC9A6 ; End of function sub_1FFFC996
ROM:1FFFC9A6
ROM:1FFFC9AA
ROM:1FFFC9AA ; =============== S U B R O U T I N E =======================================
ROM:1FFFC9AA
ROM:1FFFC9AA
ROM:1FFFC9AA sub_1FFFC9AA ; CODE XREF: start_work:boot_user_appp
ROM:1FFFC9AA PUSH.W {R3-R11,LR}
ROM:1FFFC9AE MOVW R8, #0xAAA
ROM:1FFFC9B2 LDR R5, =0x20000198 ; 1FFFEB6C
ROM:1FFFC9B4
ROM:1FFFC9B4 loc_1FFFC9B4 ; CODE XREF: sub_1FFFC9AA+Ej
ROM:1FFFC9B4 LDR R0, [R5]
ROM:1FFFC9B6 CMP R0, R8
ROM:1FFFC9B8 BNE loc_1FFFC9B4 ; 死等一个变量变化,肯定启用了中断程序修改此变量
ROM:1FFFC9BA LDR R6, =0x2000022C ; 0x1FFFEC00
ROM:1FFFC9BC LDR.W R9, =0x4FFFFF ; 0x1FFFEC04
ROM:1FFFC9C0 STR.W R9, [R6,#4]
ROM:1FFFC9C4 LDR R4, =0x20000BC8
ROM:1FFFC9C6 B loc_1FFFC9CE
ROM:1FFFC9C8 ; ---------------------------------------------------------------------------
ROM:1FFFC9C8
ROM:1FFFC9C8 loc_1FFFC9C8 ; CODE XREF: sub_1FFFC9AA+2Cj
ROM:1FFFC9C8 LDR R0, [R6,#4]
ROM:1FFFC9CA SUBS R0, R0, #1
ROM:1FFFC9CC STR R0, [R6,#4]
ROM:1FFFC9CE
ROM:1FFFC9CE loc_1FFFC9CE ; CODE XREF: sub_1FFFC9AA+1Cj
ROM:1FFFC9CE LDR R0, [R4]
ROM:1FFFC9D0 CBNZ R0, loc_1FFFC9D8
ROM:1FFFC9D2 LDR R0, [R6,#4]
ROM:1FFFC9D4 CMP R0, #2
ROM:1FFFC9D6 BCS loc_1FFFC9C8
ROM:1FFFC9D8
ROM:1FFFC9D8 loc_1FFFC9D8 ; CODE XREF: sub_1FFFC9AA+26j
ROM:1FFFC9D8 LDR R7, =0x20000C4C
ROM:1FFFC9DA LDR R0, [R6,#4]
ROM:1FFFC9DC CMP R0, #2
ROM:1FFFC9DE BCS loc_1FFFC9EE
ROM:1FFFC9E0
ROM:1FFFC9E0 loc_1FFFC9E0 ; CODE XREF: sub_1FFFC9AA+AEj
ROM:1FFFC9E0 ; sub_1FFFC9AA+B6j
ROM:1FFFC9E0 LDR R0, [R7]
ROM:1FFFC9E2 ADDS R0, R0, #1
ROM:1FFFC9E4 STR R0, [R7]
ROM:1FFFC9E6 B loc_1FFFC9EE
ROM:1FFFC9E8 ; ---------------------------------------------------------------------------
ROM:1FFFC9E8
ROM:1FFFC9E8 loc_1FFFC9E8 ; CODE XREF: sub_1FFFC9AA+B4j
ROM:1FFFC9E8 MOVS R1, #0
ROM:1FFFC9EA STR R1, [R7]
ROM:1FFFC9EC STR R0, [R6]
ROM:1FFFC9EE
ROM:1FFFC9EE loc_1FFFC9EE ; CODE XREF: sub_1FFFC9AA+34j
ROM:1FFFC9EE ; sub_1FFFC9AA+3Cj
ROM:1FFFC9EE LDR R0, [R6]
ROM:1FFFC9F0 LDR.W R10, =0x40003000
ROM:1FFFC9F4 MOVW R11, #0xAAAA
ROM:1FFFC9F8 LDR R1, [R6,#4]
ROM:1FFFC9FA CMP R1, #2
ROM:1FFFC9FC IT CC
ROM:1FFFC9FE CMPCC R0, #2
ROM:1FFFCA00 BCS loc_1FFFCA62
ROM:1FFFCA02 STR.W R11, [R10]
ROM:1FFFCA06 BL clk_cfg
ROM:1FFFCA0A BL sub_1FFFCC08
ROM:1FFFCA0E MOVS R0, #0
ROM:1FFFCA10 STR R0, [R5]
ROM:1FFFCA12 BL enale_usb_trans
ROM:1FFFCA16
ROM:1FFFCA16 loc_1FFFCA16 ; CODE XREF: sub_1FFFC9AA+70j
ROM:1FFFCA16 LDR R0, [R5]
ROM:1FFFCA18 CMP R0, R8
ROM:1FFFCA1A BNE loc_1FFFCA16
ROM:1FFFCA1C LDR R0, [R6]
ROM:1FFFCA1E ADDS R0, R0, #1
ROM:1FFFCA20 LDR R1, [R7]
ROM:1FFFCA22 CBZ R1, loc_1FFFCA2C
ROM:1FFFCA24 CMP R1, #2
ROM:1FFFCA26 BEQ loc_1FFFCA38
ROM:1FFFCA28 BCC loc_1FFFCA32
ROM:1FFFCA2A B loc_1FFFCA3E
ROM:1FFFCA2C ; ---------------------------------------------------------------------------
ROM:1FFFCA2C
ROM:1FFFCA2C loc_1FFFCA2C ; CODE XREF: sub_1FFFC9AA+78j
ROM:1FFFCA2C MUL.W R1, R9, R0
ROM:1FFFCA30 B loc_1FFFCA48
ROM:1FFFCA32 ; ---------------------------------------------------------------------------
ROM:1FFFCA32
ROM:1FFFCA32 loc_1FFFCA32 ; CODE XREF: sub_1FFFC9AA+7Ej
ROM:1FFFCA32 LDR R1, =0x5FFFFF
ROM:1FFFCA34 MULS R1, R0
ROM:1FFFCA36 B loc_1FFFCA48
ROM:1FFFCA38 ; ---------------------------------------------------------------------------
ROM:1FFFCA38
ROM:1FFFCA38 loc_1FFFCA38 ; CODE XREF: sub_1FFFC9AA+7Cj
ROM:1FFFCA38 RSB.W R1, R0, R0,LSL#25
ROM:1FFFCA3C B loc_1FFFCA48
ROM:1FFFCA3E ; ---------------------------------------------------------------------------
ROM:1FFFCA3E
ROM:1FFFCA3E loc_1FFFCA3E ; CODE XREF: sub_1FFFC9AA+80j
ROM:1FFFCA3E RSB.W R1, R0, R0,LSL#24
ROM:1FFFCA42 B loc_1FFFCA48
ROM:1FFFCA44 ; ---------------------------------------------------------------------------
ROM:1FFFCA44
ROM:1FFFCA44 loc_1FFFCA44 ; CODE XREF: sub_1FFFC9AA+A8j
ROM:1FFFCA44 LDR R1, [R6,#4]
ROM:1FFFCA46 SUBS R1, R1, #1
ROM:1FFFCA48
ROM:1FFFCA48 loc_1FFFCA48 ; CODE XREF: sub_1FFFC9AA+86j
ROM:1FFFCA48 ; sub_1FFFC9AA+8Cj ...
ROM:1FFFCA48 STR R1, [R6,#4]
ROM:1FFFCA4A LDR R1, [R4]
ROM:1FFFCA4C CBNZ R1, loc_1FFFCA54
ROM:1FFFCA4E LDR R1, [R6,#4]
ROM:1FFFCA50 CMP R1, #2
ROM:1FFFCA52 BCS loc_1FFFCA44
ROM:1FFFCA54
ROM:1FFFCA54 loc_1FFFCA54 ; CODE XREF: sub_1FFFC9AA+A2j
ROM:1FFFCA54 LDR R1, [R6,#4]
ROM:1FFFCA56 CMP R1, #2
ROM:1FFFCA58 BCS loc_1FFFC9E0
ROM:1FFFCA5A LDR R1, [R7]
ROM:1FFFCA5C CMP R1, #2
ROM:1FFFCA5E BEQ loc_1FFFC9E8
ROM:1FFFCA60 B loc_1FFFC9E0
ROM:1FFFCA62 ; ---------------------------------------------------------------------------
ROM:1FFFCA62
ROM:1FFFCA62 loc_1FFFCA62 ; CODE XREF: sub_1FFFC9AA+56j
ROM:1FFFCA62 CMP R0, #2
ROM:1FFFCA64 IT CS
ROM:1FFFCA66 BLCS sys_reset
ROM:1FFFCA6A LDR R0, [R7]
ROM:1FFFCA6C SUBS R0, R0, #1
ROM:1FFFCA6E STR R0, [R7]
ROM:1FFFCA70 B loc_1FFFCA76
ROM:1FFFCA72 ; ---------------------------------------------------------------------------
ROM:1FFFCA72
ROM:1FFFCA72 loc_1FFFCA72 ; CODE XREF: sub_1FFFC9AA+D0j
ROM:1FFFCA72 STR.W R11, [R10]
ROM:1FFFCA76
ROM:1FFFCA76 loc_1FFFCA76 ; CODE XREF: sub_1FFFC9AA+C6j
ROM:1FFFCA76 LDR R0, [R5]
ROM:1FFFCA78 CMP R0, R8
ROM:1FFFCA7A BEQ loc_1FFFCA72
ROM:1FFFCA7C POP.W {R0,R4-R11,PC}
ROM:1FFFCA7C ; End of function sub_1FFFC9AA
ROM:1FFFCA7C
ROM:1FFFCA80
ROM:1FFFCA80 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCA80
ROM:1FFFCA80
ROM:1FFFCA80 enale_usb_trans ; CODE XREF: sub_1FFFC9AA+68p
ROM:1FFFCA80 ; g_sys_init+ACp
ROM:1FFFCA80 PUSH {R7,LR}
ROM:1FFFCA82 LDR R0, =0x20000138 ; 变量地址0x1FFFEB0C
ROM:1FFFCA84 MOVS R1, #0xA
ROM:1FFFCA86 STRB R1, [R0,#0x10] ; 变量0x1FFFEB1C=0x0A
ROM:1FFFCA88 STRB R1, [R0] ; 变量0x1FFFEB0C=0x0A
ROM:1FFFCA8A STRB R1, [R0,#4] ; 变量0x1FFFEB10=0x0A
ROM:1FFFCA8C MOVS R1, #0
ROM:1FFFCA8E STRB R1, [R0,#8] ; 变量0x1FFFEB14=0x00
ROM:1FFFCA90 BL clk_cfg_0
ROM:1FFFCA94 BL trigger_usb_start
ROM:1FFFCA98 POP.W {R0,LR}
ROM:1FFFCA9C B.W return_0
ROM:1FFFCA9C ; End of function enale_usb_trans
ROM:1FFFCA9C
ROM:1FFFCAA0
ROM:1FFFCAA0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCAA0
ROM:1FFFCAA0
ROM:1FFFCAA0 sub_1FFFCAA0 ; CODE XREF: start_work+28p
ROM:1FFFCAA0 ; g_sys_init+122p ...
ROM:1FFFCAA0
ROM:1FFFCAA0 var_8 = -8
ROM:1FFFCAA0
ROM:1FFFCAA0 PUSH {R7,LR}
ROM:1FFFCAA2 MOVS R0, #0
ROM:1FFFCAA4 STR R0, [SP,#8+var_8]
ROM:1FFFCAA6 MOVS R0, #0x10
ROM:1FFFCAA8 BL sub_1FFFD648
ROM:1FFFCAAC BL sub_1FFFD672
ROM:1FFFCAB0 BL sub_1FFFD5DE
ROM:1FFFCAB4 BL sub_1FFFD6AC
ROM:1FFFCAB8 LDR R0, =0x40021014
ROM:1FFFCABA LDR R1, [R0]
ROM:1FFFCABC BIC.W R1, R1, #0x1000
ROM:1FFFCAC0 STR R1, [R0]
ROM:1FFFCAC2 LDR R0, =0xE000E180
ROM:1FFFCAC4 MOV.W R1, #0xFFFFFFFF
ROM:1FFFCAC8 STR R1, [R0]
ROM:1FFFCACA STR R1, [R0,#4]
ROM:1FFFCACC MOVS R2, #0xF
ROM:1FFFCACE STR R2, [R0,#8] ; 禁止中断
ROM:1FFFCAD0 LDR R0, =0xE000E280
ROM:1FFFCAD2 STR R1, [R0]
ROM:1FFFCAD4 STR R1, [R0,#4]
ROM:1FFFCAD6 STR R2, [R0,#8]
ROM:1FFFCAD8 MOVS R0, #0
ROM:1FFFCADA STR R0, [SP,#8+var_8] ; 重装中断向量表吗?
ROM:1FFFCADC LDR R1, =0xE000E400
ROM:1FFFCADE MOVS R2, #0
ROM:1FFFCAE0 B loc_1FFFCAEE
ROM:1FFFCAE2 ; ---------------------------------------------------------------------------
ROM:1FFFCAE2
ROM:1FFFCAE2 loc_1FFFCAE2 ; CODE XREF: sub_1FFFCAA0+52j
ROM:1FFFCAE2 LDR R0, [SP,#8+var_8]
ROM:1FFFCAE4 STR.W R2, [R1,R0,LSL#2]
ROM:1FFFCAE8 LDR R0, [SP,#8+var_8]
ROM:1FFFCAEA ADDS R0, R0, #1
ROM:1FFFCAEC STR R0, [SP,#8+var_8]
ROM:1FFFCAEE
ROM:1FFFCAEE loc_1FFFCAEE ; CODE XREF: sub_1FFFCAA0+40j
ROM:1FFFCAEE LDR R0, [SP,#8+var_8]
ROM:1FFFCAF0 CMP R0, #0x11
ROM:1FFFCAF2 BCC loc_1FFFCAE2
ROM:1FFFCAF4 POP {R0,PC}
ROM:1FFFCAF4 ; End of function sub_1FFFCAA0
ROM:1FFFCAF4
ROM:1FFFCAF4 ; ---------------------------------------------------------------------------
ROM:1FFFCAF6 ALIGN 4
ROM:1FFFCAF8 dword_1FFFCAF8 DCD 0x20000C0C ; DATA XREF: usb_monitor_en+2r
ROM:1FFFCAF8 ; sub_1FFFC2B0r ...
ROM:1FFFCAFC dword_1FFFCAFC DCD 0x20000C64 ; DATA XREF: usb_monitor_en+16r
ROM:1FFFCAFC ; sub_1FFFC2B0+16r ...
ROM:1FFFCB00 dword_1FFFCB00 DCD 0x20000C28 ; DATA XREF: sub_1FFFC2B0+8r
ROM:1FFFCB00 ; ROM:1FFFC454r ...
ROM:1FFFCB04 dword_1FFFCB04 DCD 0x200001AC ; DATA XREF: sub_1FFFC2B0+Er
ROM:1FFFCB08 dword_1FFFCB08 DCD 0x20000138 ; DATA XREF: sub_1FFFC2EE+2r
ROM:1FFFCB08 ; ROM:1FFFC45Cr ...
ROM:1FFFCB0C dword_1FFFCB0C DCD 0x20000250 ; DATA XREF: sub_1FFFC2EE+20r
ROM:1FFFCB0C ; sub_1FFFC600+46r ...
ROM:1FFFCB10 dword_1FFFCB10 DCD 0x20000234 ; DATA XREF: ROM:1FFFC5B4r
ROM:1FFFCB14 dword_1FFFCB14 DCD 0x2000015C ; DATA XREF: ROM:1FFFC5BCr
ROM:1FFFCB18 dword_1FFFCB18 DCD 0x200000D4 ; DATA XREF: ROM:1FFFC5CCr
ROM:1FFFCB1C dword_1FFFCB1C DCD 0x20000148 ; DATA XREF: sub_1FFFC70C:loc_1FFFC71Cr
ROM:1FFFCB20 dword_1FFFCB20 DCD 0x20000210 ; DATA XREF: sub_1FFFC7A4+2Ar
ROM:1FFFCB20 ; sub_1FFFC8A6+30r
ROM:1FFFCB24 dword_1FFFCB24 DCD 0x20000198 ; DATA XREF: sub_1FFFC7A4+3Er
ROM:1FFFCB24 ; sub_1FFFC8A6+34r ...
ROM:1FFFCB28 dword_1FFFCB28 DCD 0x40022020 ; DATA XREF: sub_1FFFC7F8+44r
ROM:1FFFCB2C dword_1FFFCB2C DCD 0x20000220 ; DATA XREF: sub_1FFFC7F8:loc_1FFFC860r
ROM:1FFFCB30 dword_1FFFCB30 DCD 0x20000244 ; DATA XREF: sub_1FFFC7F8:loc_1FFFC864r
ROM:1FFFCB34 dword_1FFFCB34 DCD 0x2000024C ; DATA XREF: sub_1FFFC7F8:loc_1FFFC868r
ROM:1FFFCB38 dword_1FFFCB38 DCD 0x4002200C ; DATA XREF: sub_1FFFC91C+2Cr
ROM:1FFFCB3C dword_1FFFCB3C DCD 0x2000022C ; DATA XREF: sub_1FFFC9AA+10r
ROM:1FFFCB40 dword_1FFFCB40 DCD 0x4FFFFF ; DATA XREF: sub_1FFFC9AA+12r
ROM:1FFFCB44 dword_1FFFCB44 DCD 0x20000BC8 ; DATA XREF: sub_1FFFC9AA+1Ar
ROM:1FFFCB48 dword_1FFFCB48 DCD 0x20000C4C ; DATA XREF: sub_1FFFC9AA:loc_1FFFC9D8r
ROM:1FFFCB4C dword_1FFFCB4C DCD 0x40003000 ; DATA XREF: sub_1FFFC9AA+46r
ROM:1FFFCB50 dword_1FFFCB50 DCD 0x5FFFFF ; DATA XREF: sub_1FFFC9AA:loc_1FFFCA32r
ROM:1FFFCB54 dword_1FFFCB54 DCD 0x40021014 ; DATA XREF: sub_1FFFCAA0+18r
ROM:1FFFCB58 dword_1FFFCB58 DCD 0xE000E180 ; DATA XREF: sub_1FFFCAA0+22r
ROM:1FFFCB5C dword_1FFFCB5C DCD 0xE000E280 ; DATA XREF: sub_1FFFCAA0+30r
ROM:1FFFCB60 dword_1FFFCB60 DCD 0xE000E400 ; DATA XREF: sub_1FFFCAA0+3Cr
ROM:1FFFCB64
ROM:1FFFCB64 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCB64
ROM:1FFFCB64
ROM:1FFFCB64 return_0_0 ; CODE XREF: usb_monitor_en+Ap
ROM:1FFFCB64 MOVS R0, #0
ROM:1FFFCB66 BX LR
ROM:1FFFCB66 ; End of function return_0_0
ROM:1FFFCB66
ROM:1FFFCB68
ROM:1FFFCB68 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCB68
ROM:1FFFCB68
ROM:1FFFCB68 usb_chuli ; CODE XREF: usb_monitor_en+Ep
ROM:1FFFCB68
ROM:1FFFCB68 var_10 = -0x10
ROM:1FFFCB68
ROM:1FFFCB68 PUSH {LR}
ROM:1FFFCB6A SUB SP, SP, #0xC
ROM:1FFFCB6C MOV.W R0, #0x50000000 ; usb otg fs
ROM:1FFFCB70 BL USB_OTG_SelectCore
ROM:1FFFCB74 BL sub_1FFFD636
ROM:1FFFCB78 BL sub_1FFFD5B0
ROM:1FFFCB7C BL sub_1FFFD6E2
ROM:1FFFCB80 BL sub_1FFFDB52
ROM:1FFFCB84 MOVS R0, #0x80
ROM:1FFFCB86 STRB.W R0, [SP,#0x10+var_10+2]
ROM:1FFFCB8A MOVS R0, #0x40
ROM:1FFFCB8C STRH.W R0, [SP,#0x10+var_10+4]
ROM:1FFFCB90 MOVS R0, #0
ROM:1FFFCB92 STRB.W R0, [SP,#0x10+var_10+3]
ROM:1FFFCB96 ADD R0, SP, #0x10+var_10
ROM:1FFFCB98 BL sub_1FFFDBB4
ROM:1FFFCB9C MOVS R0, #0
ROM:1FFFCB9E STRB.W R0, [SP,#0x10+var_10+2]
ROM:1FFFCBA2 ADD R0, SP, #0x10+var_10
ROM:1FFFCBA4 BL sub_1FFFDBB4
ROM:1FFFCBA8 BL sub_1FFFDCDC
ROM:1FFFCBAC BL sub_1FFFD628
ROM:1FFFCBB0 POP {R0-R2,PC}
ROM:1FFFCBB0 ; End of function usb_chuli
ROM:1FFFCBB0
ROM:1FFFCBB2
ROM:1FFFCBB2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCBB2
ROM:1FFFCBB2
ROM:1FFFCBB2 sub_1FFFCBB2 ; CODE XREF: sub_1FFFCE28+66p
ROM:1FFFCBB2 ; sub_1FFFCEB0+34p ...
ROM:1FFFCBB2 PUSH {R7,LR}
ROM:1FFFCBB4 AND.W R0, R0, #0x7F
ROM:1FFFCBB8 BL sub_1FFFDC7A
ROM:1FFFCBBC B loc_1FFFCBC8
ROM:1FFFCBBC ; End of function sub_1FFFCBB2
ROM:1FFFCBBC
ROM:1FFFCBBE
ROM:1FFFCBBE ; =============== S U B R O U T I N E =======================================
ROM:1FFFCBBE
ROM:1FFFCBBE
ROM:1FFFCBBE sub_1FFFCBBE ; CODE XREF: sub_1FFFCE28:loc_1FFFCE9Ep
ROM:1FFFCBBE ; sub_1FFFCEB0:loc_1FFFCEEAp ...
ROM:1FFFCBBE PUSH {R7,LR}
ROM:1FFFCBC0 AND.W R0, R0, #0x7F
ROM:1FFFCBC4 BL sub_1FFFDCA2
ROM:1FFFCBC8
ROM:1FFFCBC8 loc_1FFFCBC8 ; CODE XREF: sub_1FFFCBB2+Aj
ROM:1FFFCBC8 POP.W {R1,LR}
ROM:1FFFCBCC B.W sub_1FFFDA86
ROM:1FFFCBCC ; End of function sub_1FFFCBBE
ROM:1FFFCBCC
ROM:1FFFCBD0
ROM:1FFFCBD0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCBD0
ROM:1FFFCBD0
ROM:1FFFCBD0 sub_1FFFCBD0 ; CODE XREF: sub_1FFFCC0Cj
ROM:1FFFCBD0 ; sub_1FFFCF5A+46p ...
ROM:1FFFCBD0 PUSH {R3-R5,LR}
ROM:1FFFCBD2 MOV R4, R0
ROM:1FFFCBD4 MOV R5, R1
ROM:1FFFCBD6 AND.W R0, R4, #0x7F
ROM:1FFFCBDA BL sub_1FFFDC7A
ROM:1FFFCBDE CMP R4, #0x80
ROM:1FFFCBE0 ITTT EQ
ROM:1FFFCBE2 CMPEQ R5, #0x10
ROM:1FFFCBE4 MOVEQ R1, #1
ROM:1FFFCBE6 STREQB R1, [R0,#1]
ROM:1FFFCBE8 MOV R1, R5
ROM:1FFFCBEA POP.W {R2,R4,R5,LR}
ROM:1FFFCBEE B.W sub_1FFFDAB8
ROM:1FFFCBEE ; End of function sub_1FFFCBD0
ROM:1FFFCBEE
ROM:1FFFCBF2
ROM:1FFFCBF2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCBF2
ROM:1FFFCBF2
ROM:1FFFCBF2 sub_1FFFCBF2 ; CODE XREF: sub_1FFFCEB0:loc_1FFFCF46p
ROM:1FFFCBF2 ; sub_1FFFCF5A+52p ...
ROM:1FFFCBF2 PUSH {R4,LR}
ROM:1FFFCBF4 MOV R4, R1
ROM:1FFFCBF6 AND.W R0, R0, #0x7F
ROM:1FFFCBFA BL sub_1FFFDCA2
ROM:1FFFCBFE MOV R1, R4
ROM:1FFFCC00 POP.W {R4,LR}
ROM:1FFFCC04 B.W sub_1FFFDAB8
ROM:1FFFCC04 ; End of function sub_1FFFCBF2
ROM:1FFFCC04
ROM:1FFFCC08
ROM:1FFFCC08 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCC08
ROM:1FFFCC08 ; Attributes: thunk
ROM:1FFFCC08
ROM:1FFFCC08 sub_1FFFCC08 ; CODE XREF: sub_1FFFC978+10p
ROM:1FFFCC08 ; sub_1FFFC9AA+60p
ROM:1FFFCC08 B.W sub_1FFFDCCA
ROM:1FFFCC08 ; End of function sub_1FFFCC08
ROM:1FFFCC08
ROM:1FFFCC0C
ROM:1FFFCC0C ; =============== S U B R O U T I N E =======================================
ROM:1FFFCC0C
ROM:1FFFCC0C ; Attributes: thunk
ROM:1FFFCC0C
ROM:1FFFCC0C sub_1FFFCC0C ; CODE XREF: sub_1FFFCEB0+68p
ROM:1FFFCC0C B sub_1FFFCBD0
ROM:1FFFCC0C ; End of function sub_1FFFCC0C
ROM:1FFFCC0C
ROM:1FFFCC0E
ROM:1FFFCC0E ; =============== S U B R O U T I N E =======================================
ROM:1FFFCC0E
ROM:1FFFCC0E
ROM:1FFFCC0E nullsub_2 ; CODE XREF: sub_1FFFCFF2+50p
ROM:1FFFCC0E ; sub_1FFFD06E+6Ep
ROM:1FFFCC0E BX LR
ROM:1FFFCC0E ; End of function nullsub_2
ROM:1FFFCC0E
ROM:1FFFCC10
ROM:1FFFCC10 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCC10
ROM:1FFFCC10
ROM:1FFFCC10 nullsub_1 ; CODE XREF: sub_1FFFCEB0+86p
ROM:1FFFCC10 ; sub_1FFFD438+Ap
ROM:1FFFCC10 BX LR
ROM:1FFFCC10 ; End of function nullsub_1
ROM:1FFFCC10
ROM:1FFFCC12
ROM:1FFFCC12 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCC12
ROM:1FFFCC12
ROM:1FFFCC12 sub_1FFFCC12 ; CODE XREF: sub_1FFFD356+2Cp
ROM:1FFFCC12 ; sub_1FFFD356+38p
ROM:1FFFCC12 LSLS R1, R0, #0x18
ROM:1FFFCC14 LSRS R1, R1, #0x10
ROM:1FFFCC16 ORR.W R0, R1, R0,LSR#8
ROM:1FFFCC1A BX LR
ROM:1FFFCC1A ; End of function sub_1FFFCC12
ROM:1FFFCC1A
ROM:1FFFCC1C
ROM:1FFFCC1C ; =============== S U B R O U T I N E =======================================
ROM:1FFFCC1C
ROM:1FFFCC1C
ROM:1FFFCC1C return_0 ; CODE XREF: enale_usb_trans+1Cp
ROM:1FFFCC1C MOVS R0, #0
ROM:1FFFCC1E BX LR
ROM:1FFFCC1E ; End of function return_0
ROM:1FFFCC1E
ROM:1FFFCC20
ROM:1FFFCC20 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCC20
ROM:1FFFCC20
ROM:1FFFCC20 sub_1FFFCC20 ; CODE XREF: sub_1FFFC2EE+88p
ROM:1FFFCC20 AND.W R1, R0, #0xFC000000
ROM:1FFFCC24 CMP.W R1, #0x8000000
ROM:1FFFCC28 BNE loc_1FFFCC34
ROM:1FFFCC2A LDR R1, =0x20000C50
ROM:1FFFCC2C LDR R2, =(FLASH_ErasePage_0+1)
ROM:1FFFCC2E STR R2, [R1]
ROM:1FFFCC30 B.W FLASH_ErasePage_0
ROM:1FFFCC34 ; ---------------------------------------------------------------------------
ROM:1FFFCC34
ROM:1FFFCC34 loc_1FFFCC34 ; CODE XREF: sub_1FFFCC20+8j
ROM:1FFFCC34 MOVS R0, #1
ROM:1FFFCC36 BX LR
ROM:1FFFCC36 ; End of function sub_1FFFCC20
ROM:1FFFCC36
ROM:1FFFCC38
ROM:1FFFCC38 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCC38
ROM:1FFFCC38
ROM:1FFFCC38 sub_1FFFCC38 ; CODE XREF: sub_1FFFC2EE+100p
ROM:1FFFCC38
ROM:1FFFCC38 var_10 = -0x10
ROM:1FFFCC38
ROM:1FFFCC38 PUSH {R3-R5,LR}
ROM:1FFFCC3A MOV R4, R0
ROM:1FFFCC3C MOV R5, R1
ROM:1FFFCC3E BL get_mem_block
ROM:1FFFCC42 STRB.W R0, [SP,#0x10+var_10]
ROM:1FFFCC46 LDRB.W R0, [SP,#0x10+var_10]
ROM:1FFFCC4A CMP R0, #2
ROM:1FFFCC4C BEQ loc_1FFFCC58
ROM:1FFFCC4E BCC loc_1FFFCC76
ROM:1FFFCC50 CMP R0, #4
ROM:1FFFCC52 BEQ loc_1FFFCC70
ROM:1FFFCC54 BCC loc_1FFFCC6A
ROM:1FFFCC56 B loc_1FFFCC76
ROM:1FFFCC58 ; ---------------------------------------------------------------------------
ROM:1FFFCC58
ROM:1FFFCC58 loc_1FFFCC58 ; CODE XREF: sub_1FFFCC38+14j
ROM:1FFFCC58 LDR R0, =(sub_1FFFDCFE+1)
ROM:1FFFCC5A
ROM:1FFFCC5A loc_1FFFCC5A ; CODE XREF: sub_1FFFCC38+36j
ROM:1FFFCC5A ; sub_1FFFCC38+3Cj
ROM:1FFFCC5A LDR R2, =0x20000C54
ROM:1FFFCC5C STR R0, [R2]
ROM:1FFFCC5E MOV R1, R5
ROM:1FFFCC60 MOV R0, R4
ROM:1FFFCC62 LDR R2, [R2]
ROM:1FFFCC64 POP.W {R3-R5,LR}
ROM:1FFFCC68 BX R2
ROM:1FFFCC6A ; ---------------------------------------------------------------------------
ROM:1FFFCC6A
ROM:1FFFCC6A loc_1FFFCC6A ; CODE XREF: sub_1FFFCC38+1Cj
ROM:1FFFCC6A ADR.W R0, (sub_1FFFCCA8+1)
ROM:1FFFCC6E B loc_1FFFCC5A
ROM:1FFFCC70 ; ---------------------------------------------------------------------------
ROM:1FFFCC70
ROM:1FFFCC70 loc_1FFFCC70 ; CODE XREF: sub_1FFFCC38+1Aj
ROM:1FFFCC70 ADR.W R0, (sub_1FFFCCE0+1)
ROM:1FFFCC74 B loc_1FFFCC5A
ROM:1FFFCC76 ; ---------------------------------------------------------------------------
ROM:1FFFCC76
ROM:1FFFCC76 loc_1FFFCC76 ; CODE XREF: sub_1FFFCC38+16j
ROM:1FFFCC76 ; sub_1FFFCC38+1Ej
ROM:1FFFCC76 MOVS R0, #1
ROM:1FFFCC78 POP {R1,R4,R5,PC}
ROM:1FFFCC78 ; End of function sub_1FFFCC38
ROM:1FFFCC78
ROM:1FFFCC7A
ROM:1FFFCC7A ; =============== S U B R O U T I N E =======================================
ROM:1FFFCC7A
ROM:1FFFCC7A
ROM:1FFFCC7A sub_1FFFCC7A ; CODE XREF: sub_1FFFC600+A2p
ROM:1FFFCC7A
ROM:1FFFCC7A ; FUNCTION CHUNK AT ROM:1FFFDD40 SIZE 00000002 BYTES
ROM:1FFFCC7A
ROM:1FFFCC7A LDR R2, =0x20000C58
ROM:1FFFCC7C LDR R3, =(locret_1FFFDD40+1)
ROM:1FFFCC7E STR R3, [R2]
ROM:1FFFCC80 B.W locret_1FFFDD40
ROM:1FFFCC80 ; End of function sub_1FFFCC7A
ROM:1FFFCC80
ROM:1FFFCC84
ROM:1FFFCC84 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCC84
ROM:1FFFCC84
ROM:1FFFCC84 sub_1FFFCC84 ; CODE XREF: sub_1FFFC724+38p
ROM:1FFFCC84 LSRS R0, R0, #0x1A
ROM:1FFFCC86 AND.W R0, R0, #3
ROM:1FFFCC8A AND.W R1, R1, #1
ROM:1FFFCC8E ADR.W R3, loc_1FFFCD64
ROM:1FFFCC92 ADD.W R0, R3, R0,LSL#2
ROM:1FFFCC96 LDRH.W R0, [R0,R1,LSL#1]
ROM:1FFFCC9A STRB R0, [R2,#1]
ROM:1FFFCC9C LSRS R0, R0, #8
ROM:1FFFCC9E STRB R0, [R2,#2]
ROM:1FFFCCA0 MOVS R0, #0
ROM:1FFFCCA2 STRB R0, [R2,#3]
ROM:1FFFCCA4 BX LR
ROM:1FFFCCA4 ; End of function sub_1FFFCC84
ROM:1FFFCCA4
ROM:1FFFCCA4 ; ---------------------------------------------------------------------------
ROM:1FFFCCA6 ALIGN 4
ROM:1FFFCCA8
ROM:1FFFCCA8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCCA8
ROM:1FFFCCA8
ROM:1FFFCCA8 sub_1FFFCCA8 ; DATA XREF: sub_1FFFCC38:loc_1FFFCC6Ao
ROM:1FFFCCA8 PUSH {R4-R6,LR}
ROM:1FFFCCAA MOV R4, R0
ROM:1FFFCCAC MOV R5, R1
ROM:1FFFCCAE LDR R6, =0x20000250
ROM:1FFFCCB0 ANDS.W R0, R5, #3
ROM:1FFFCCB4 BEQ loc_1FFFCCCC
ROM:1FFFCCB6 MOVW R0, #0xFFFC
ROM:1FFFCCBA ANDS R0, R5
ROM:1FFFCCBC ADDS R0, R0, #4
ROM:1FFFCCBE CMP R5, R0
ROM:1FFFCCC0 BCS loc_1FFFCCCC
ROM:1FFFCCC2 MOVS R2, #0xFF
ROM:1FFFCCC4 SUBS R1, R0, R5
ROM:1FFFCCC6 ADDS R0, R5, R6
ROM:1FFFCCC8 BL sub_1FFFDD44
ROM:1FFFCCCC
ROM:1FFFCCCC loc_1FFFCCCC ; CODE XREF: sub_1FFFCCA8+Cj
ROM:1FFFCCCC ; sub_1FFFCCA8+18j
ROM:1FFFCCCC MOVS R0, #0
ROM:1FFFCCCE B loc_1FFFCCD8
ROM:1FFFCCD0 ; ---------------------------------------------------------------------------
ROM:1FFFCCD0
ROM:1FFFCCD0 loc_1FFFCCD0 ; CODE XREF: sub_1FFFCCA8+32j
ROM:1FFFCCD0 LDR R1, [R0,R6]
ROM:1FFFCCD2 STR.W R1, [R4],#4
ROM:1FFFCCD6 ADDS R0, R0, #4
ROM:1FFFCCD8
ROM:1FFFCCD8 loc_1FFFCCD8 ; CODE XREF: sub_1FFFCCA8+26j
ROM:1FFFCCD8 CMP R0, R5
ROM:1FFFCCDA BCC loc_1FFFCCD0
ROM:1FFFCCDC MOVS R0, #0
ROM:1FFFCCDE POP {R4-R6,PC}
ROM:1FFFCCDE ; End of function sub_1FFFCCA8
ROM:1FFFCCDE
ROM:1FFFCCE0
ROM:1FFFCCE0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCCE0
ROM:1FFFCCE0
ROM:1FFFCCE0 sub_1FFFCCE0 ; DATA XREF: sub_1FFFCC38:loc_1FFFCC70o
ROM:1FFFCCE0 PUSH.W {R4-R8,LR}
ROM:1FFFCCE4 MOV R5, R1
ROM:1FFFCCE6 LDR R4, =0x1FFFF800
ROM:1FFFCCE8 CMP R0, R4
ROM:1FFFCCEA BNE loc_1FFFCD3A
ROM:1FFFCCEC LSLS R0, R5, #0x1F
ROM:1FFFCCEE ITT MI
ROM:1FFFCCF0 ANDMI.W R0, R5, #0xFE
ROM:1FFFCCF4 ADDMI R5, R0, #2
ROM:1FFFCCF6 BL sub_1FFFC046
ROM:1FFFCCFA BL FLASH_UnlockBank1
ROM:1FFFCCFE BL sub_1FFFC010
ROM:1FFFCD02 LDR R6, =0x40022010
ROM:1FFFCD04 LDR R0, [R6]
ROM:1FFFCD06 ORR.W R0, R0, #0x10
ROM:1FFFCD0A STR R0, [R6]
ROM:1FFFCD0C BL FLASH_WaitForLastOperation
ROM:1FFFCD10 ; ---------------------------------------------------------------------------
ROM:1FFFCD10 MOVS R7, R5
ROM:1FFFCD12 LDR.W R8, =0x20000250
ROM:1FFFCD16 B loc_1FFFCD2C
ROM:1FFFCD18 ; ---------------------------------------------------------------------------
ROM:1FFFCD18
ROM:1FFFCD18 loc_1FFFCD18 ; CODE XREF: sub_1FFFCCE0:loc_1FFFCD2Cj
ROM:1FFFCD18 NEGS R0, R7
ROM:1FFFCD1A ADD.W R1, R5, R8
ROM:1FFFCD1E LDRH R0, [R0,R1]
ROM:1FFFCD20 UXTB R0, R0
ROM:1FFFCD22 SUBS R1, R4, R7
ROM:1FFFCD24 STRH R0, [R5,R1]
ROM:1FFFCD26 BL FLASH_WaitForLastOperation
ROM:1FFFCD2A ; ---------------------------------------------------------------------------
ROM:1FFFCD2A SUBS R7, R7, #2
ROM:1FFFCD2C
ROM:1FFFCD2C loc_1FFFCD2C ; CODE XREF: sub_1FFFCCE0+36j
ROM:1FFFCD2C BNE loc_1FFFCD18
ROM:1FFFCD2E LDR R0, [R6]
ROM:1FFFCD30 BIC.W R0, R0, #0x10
ROM:1FFFCD34 STR R0, [R6]
ROM:1FFFCD36 BL sys_reset
ROM:1FFFCD3A
ROM:1FFFCD3A loc_1FFFCD3A ; CODE XREF: sub_1FFFCCE0+Aj
ROM:1FFFCD3A MOVS R0, #1
ROM:1FFFCD3C POP.W {R4-R8,PC}
ROM:1FFFCD3C ; End of function sub_1FFFCCE0
ROM:1FFFCD3C
ROM:1FFFCD3C ; ---------------------------------------------------------------------------
ROM:1FFFCD40 dword_1FFFCD40 DCD 0x20000C50 ; DATA XREF: sub_1FFFCC20+Ar
ROM:1FFFCD44 off_1FFFCD44 DCD FLASH_ErasePage_0+1 ; DATA XREF: sub_1FFFCC20+Cr
ROM:1FFFCD48 off_1FFFCD48 DCD sub_1FFFDCFE+1 ; DATA XREF: sub_1FFFCC38:loc_1FFFCC58r
ROM:1FFFCD4C dword_1FFFCD4C DCD 0x20000C54 ; DATA XREF: sub_1FFFCC38:loc_1FFFCC5Ar
ROM:1FFFCD50 dword_1FFFCD50 DCD 0x20000C58 ; DATA XREF: sub_1FFFCC7Ar
ROM:1FFFCD54 off_1FFFCD54 DCD locret_1FFFDD40+1 ; DATA XREF: sub_1FFFCC7A+2r
ROM:1FFFCD58 dword_1FFFCD58 DCD 0x20000250 ; DATA XREF: sub_1FFFCCA8+6r
ROM:1FFFCD58 ; sub_1FFFCCE0+32r
ROM:1FFFCD5C dword_1FFFCD5C DCD 0x1FFFF800 ; DATA XREF: sub_1FFFCCE0+6r
ROM:1FFFCD60 dword_1FFFCD60 DCD 0x40022010 ; DATA XREF: sub_1FFFCCE0+22r
ROM:1FFFCD64 ; ---------------------------------------------------------------------------
ROM:1FFFCD64
ROM:1FFFCD64 loc_1FFFCD64 ; DATA XREF: sub_1FFFCC84+Ao
ROM:1FFFCD64 LSRS R0, R7, #0xE
ROM:1FFFCD66 MOVS R4, R2
ROM:1FFFCD68 LSLS R0, R5, #0xF
ROM:1FFFCD6A MOVS R1, R3
ROM:1FFFCD6C MOVS R2, R6
ROM:1FFFCD6E LSLS R3, R1, #1
ROM:1FFFCD70 LSLS R0, R5, #0xF
ROM:1FFFCD72 MOVS R1, R3
ROM:1FFFCD74 LSLS R0, R5, #0xF
ROM:1FFFCD76 MOVS R5, R5
ROM:1FFFCD78 PUSH {R4,LR}
ROM:1FFFCD7A LDR.W R4, =0x20000C28
ROM:1FFFCD7E CBNZ R0, loc_1FFFCD82
ROM:1FFFCD80 B loc_1FFFCDDA
ROM:1FFFCD82 ; ---------------------------------------------------------------------------
ROM:1FFFCD82
ROM:1FFFCD82 loc_1FFFCD82 ; CODE XREF: ROM:1FFFCD7Ej
ROM:1FFFCD82 BL sub_1FFFCEA8
ROM:1FFFCD86 LDR R0, [R0]
ROM:1FFFCD88 BLX R0
ROM:1FFFCD8A LDR R0, [R4]
ROM:1FFFCD8C ADDS R0, #0xA
ROM:1FFFCD8E POP {R4,PC}
ROM:1FFFCD90
ROM:1FFFCD90 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCD90
ROM:1FFFCD90
ROM:1FFFCD90 sub_1FFFCD90 ; CODE XREF: sub_1FFFD10E+16p
ROM:1FFFCD90 PUSH {R7,LR}
ROM:1FFFCD92 LDR.W R0, =0x20000C28
ROM:1FFFCD96 LDR R0, [R0]
ROM:1FFFCD98 LDRB R1, [R0,#3]
ROM:1FFFCD9A LDR.W R2, =0x20000248
ROM:1FFFCD9E LDRB R2, [R2,#1]
ROM:1FFFCDA0 CMP R2, R1
ROM:1FFFCDA2 BCC loc_1FFFCDBE
ROM:1FFFCDA4 LDRB R2, [R0,#2]
ROM:1FFFCDA6 CMP R2, #0
ROM:1FFFCDA8 ITT EQ
ROM:1FFFCDAA LDREQH R2, [R0,#4]
ROM:1FFFCDAC CMPEQ R2, #0
ROM:1FFFCDAE BNE loc_1FFFCDBE
ROM:1FFFCDB0 STRB R1, [R0,#0xA]
ROM:1FFFCDB2 BL sub_1FFFCEA8
ROM:1FFFCDB6 LDR R0, [R0,#4]
ROM:1FFFCDB8 BLX R0
ROM:1FFFCDBA MOVS R0, #0
ROM:1FFFCDBC POP {R1,PC}
ROM:1FFFCDBE ; ---------------------------------------------------------------------------
ROM:1FFFCDBE
ROM:1FFFCDBE loc_1FFFCDBE ; CODE XREF: sub_1FFFCD90+12j
ROM:1FFFCDBE ; sub_1FFFCD90+1Ej
ROM:1FFFCDBE MOVS R0, #2
ROM:1FFFCDC0 POP {R1,PC}
ROM:1FFFCDC0 ; End of function sub_1FFFCD90
ROM:1FFFCDC0
ROM:1FFFCDC2
ROM:1FFFCDC2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCDC2
ROM:1FFFCDC2
ROM:1FFFCDC2 sub_1FFFCDC2 ; DATA XREF: sub_1FFFD1D8+FAo
ROM:1FFFCDC2 ; ROM:off_1FFFD498o
ROM:1FFFCDC2 PUSH {R4,LR}
ROM:1FFFCDC4 LDR.W R4, =0x20000C28
ROM:1FFFCDC8 CBNZ R0, loc_1FFFCDCC
ROM:1FFFCDCA B loc_1FFFCDDA
ROM:1FFFCDCC ; ---------------------------------------------------------------------------
ROM:1FFFCDCC
ROM:1FFFCDCC loc_1FFFCDCC ; CODE XREF: sub_1FFFCDC2+6j
ROM:1FFFCDCC BL sub_1FFFCEA8
ROM:1FFFCDD0 LDR R0, [R0,#8]
ROM:1FFFCDD2 BLX R0
ROM:1FFFCDD4 LDR R0, [R4]
ROM:1FFFCDD6 ADDS R0, #0xC
ROM:1FFFCDD8 POP {R4,PC}
ROM:1FFFCDDA ; ---------------------------------------------------------------------------
ROM:1FFFCDDA
ROM:1FFFCDDA loc_1FFFCDDA ; CODE XREF: ROM:1FFFCD80j
ROM:1FFFCDDA ; sub_1FFFCDC2+8j
ROM:1FFFCDDA LDR R0, [R4]
ROM:1FFFCDDC MOVS R1, #1
ROM:1FFFCDDE STRH R1, [R0,#0x10]
ROM:1FFFCDE0 MOVS R0, #0
ROM:1FFFCDE2 POP {R4,PC}
ROM:1FFFCDE2 ; End of function sub_1FFFCDC2
ROM:1FFFCDE2
ROM:1FFFCDE4
ROM:1FFFCDE4 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCDE4
ROM:1FFFCDE4
ROM:1FFFCDE4 sub_1FFFCDE4 ; CODE XREF: sub_1FFFD10E+8Cp
ROM:1FFFCDE4 PUSH {R4,LR}
ROM:1FFFCDE6 BL sub_1FFFD3B2
ROM:1FFFCDEA LDRB R1, [R0,#3]
ROM:1FFFCDEC LDRB R0, [R0,#5]
ROM:1FFFCDEE LDR.W R2, =0x20000C2C
ROM:1FFFCDF2 LDR R2, [R2]
ROM:1FFFCDF4 LDR R2, [R2,#0x18]
ROM:1FFFCDF6 BLX R2
ROM:1FFFCDF8 LDR R1, [R4]
ROM:1FFFCDFA LDRB R2, [R1,#0xA]
ROM:1FFFCDFC CBZ R2, loc_1FFFCE24
ROM:1FFFCDFE CMP R0, #0
ROM:1FFFCE00 ITT EQ
ROM:1FFFCE02 LDREQB R0, [R1,#4]
ROM:1FFFCE04 CMPEQ R0, #0
ROM:1FFFCE06 BNE loc_1FFFCE24
ROM:1FFFCE08 LDRB R0, [R1,#2]
ROM:1FFFCE0A CBNZ R0, loc_1FFFCE24
ROM:1FFFCE0C BL sub_1FFFCEA8
ROM:1FFFCE10 LDR R0, [R0,#0xC]
ROM:1FFFCE12 BLX R0
ROM:1FFFCE14 LDR R0, [R4]
ROM:1FFFCE16 LDRB R1, [R0,#5]
ROM:1FFFCE18 STRB R1, [R0,#0xB]
ROM:1FFFCE1A LDR R0, [R4]
ROM:1FFFCE1C LDRB R1, [R0,#3]
ROM:1FFFCE1E STRB R1, [R0,#0xC]
ROM:1FFFCE20 MOVS R0, #0
ROM:1FFFCE22 POP {R4,PC}
ROM:1FFFCE24 ; ---------------------------------------------------------------------------
ROM:1FFFCE24
ROM:1FFFCE24 loc_1FFFCE24 ; CODE XREF: sub_1FFFCDE4+18j
ROM:1FFFCE24 ; sub_1FFFCDE4+22j ...
ROM:1FFFCE24 MOVS R0, #2
ROM:1FFFCE26 POP {R4,PC}
ROM:1FFFCE26 ; End of function sub_1FFFCDE4
ROM:1FFFCE26
ROM:1FFFCE28
ROM:1FFFCE28 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCE28
ROM:1FFFCE28
ROM:1FFFCE28 sub_1FFFCE28 ; DATA XREF: sub_1FFFD1D8:loc_1FFFD28Eo
ROM:1FFFCE28 ; ROM:off_1FFFD490o
ROM:1FFFCE28 PUSH {R4,LR}
ROM:1FFFCE2A LDR.W R1, =0x20000C28
ROM:1FFFCE2E LDR R1, [R1]
ROM:1FFFCE30 CBNZ R0, loc_1FFFCE3A
ROM:1FFFCE32 MOVS R0, #2
ROM:1FFFCE34 STRH R0, [R1,#0x10]
ROM:1FFFCE36
ROM:1FFFCE36 loc_1FFFCE36 ; CODE XREF: sub_1FFFCE28+5Aj
ROM:1FFFCE36 MOVS R0, #0
ROM:1FFFCE38 POP {R4,PC}
ROM:1FFFCE3A ; ---------------------------------------------------------------------------
ROM:1FFFCE3A
ROM:1FFFCE3A loc_1FFFCE3A ; CODE XREF: sub_1FFFCE28+8j
ROM:1FFFCE3A LDR.W R4, =0x20000C60
ROM:1FFFCE3E MOVS R0, #0
ROM:1FFFCE40 STRH R0, [R4]
ROM:1FFFCE42 LDRB R0, [R1]
ROM:1FFFCE44 MOVS R2, #0x7F
ROM:1FFFCE46 TST R0, R2
ROM:1FFFCE48 BNE loc_1FFFCE74
ROM:1FFFCE4A LDRB R0, [R1,#9]
ROM:1FFFCE4C LSLS R1, R0, #0x1A
ROM:1FFFCE4E BPL loc_1FFFCE58
ROM:1FFFCE50 MOVS R1, #2
ROM:1FFFCE56 STRB R1, [R4]
ROM:1FFFCE58
ROM:1FFFCE58 loc_1FFFCE58 ; CODE XREF: sub_1FFFCE28+26j
ROM:1FFFCE58 LSLS R0, R0, #0x19
ROM:1FFFCE5A LDRB R0, [R4]
ROM:1FFFCE5C ITE PL
ROM:1FFFCE5E ORRPL.W R0, R0, #1
ROM:1FFFCE62 ANDMI.W R0, R0, #0xFE
ROM:1FFFCE66
ROM:1FFFCE66 loc_1FFFCE66 ; CODE XREF: sub_1FFFCE28+74j
ROM:1FFFCE66 STRB R0, [R4]
ROM:1FFFCE68
ROM:1FFFCE68 loc_1FFFCE68 ; CODE XREF: sub_1FFFCE28:loc_1FFFCE94j
ROM:1FFFCE68 BL sub_1FFFCEA8
ROM:1FFFCE6C LDR R0, [R0,#0x10]
ROM:1FFFCE6E BLX R0
ROM:1FFFCE70
ROM:1FFFCE70 loc_1FFFCE70 ; CODE XREF: sub_1FFFCE28+52j
ROM:1FFFCE70 MOV R0, R4
ROM:1FFFCE72 POP {R4,PC}
ROM:1FFFCE74 ; ---------------------------------------------------------------------------
ROM:1FFFCE74
ROM:1FFFCE74 loc_1FFFCE74 ; CODE XREF: sub_1FFFCE28+20j
ROM:1FFFCE74 AND.W R2, R0, #0x7F
ROM:1FFFCE78 CMP R2, #1
ROM:1FFFCE7A BEQ loc_1FFFCE70
ROM:1FFFCE7C AND.W R0, R0, #0x7F
ROM:1FFFCE80 CMP R0, #2
ROM:1FFFCE82 BNE loc_1FFFCE36
ROM:1FFFCE84 LDRB R1, [R1,#5]
ROM:1FFFCE86 AND.W R0, R1, #0xF
ROM:1FFFCE8A LSLS R1, R1, #0x18
ROM:1FFFCE8C BPL loc_1FFFCE9E
ROM:1FFFCE8E BL sub_1FFFCBB2
ROM:1FFFCE92 CMP R0, #0x10
ROM:1FFFCE94
ROM:1FFFCE94 loc_1FFFCE94 ; CODE XREF: sub_1FFFCE28+7Ej
ROM:1FFFCE94 BNE loc_1FFFCE68
ROM:1FFFCE96 LDRB R0, [R4]
ROM:1FFFCE98 ORR.W R0, R0, #1
ROM:1FFFCE9C B loc_1FFFCE66
ROM:1FFFCE9E ; ---------------------------------------------------------------------------
ROM:1FFFCE9E
ROM:1FFFCE9E loc_1FFFCE9E ; CODE XREF: sub_1FFFCE28+64j
ROM:1FFFCE9E BL sub_1FFFCBBE
ROM:1FFFCEA2 CMP.W R0, #0x1000
ROM:1FFFCEA6 B loc_1FFFCE94
ROM:1FFFCEA6 ; End of function sub_1FFFCE28
ROM:1FFFCEA6
ROM:1FFFCEA8
ROM:1FFFCEA8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCEA8
ROM:1FFFCEA8
ROM:1FFFCEA8 sub_1FFFCEA8 ; CODE XREF: ROM:loc_1FFFCD82p
ROM:1FFFCEA8 ; sub_1FFFCD90+22p ...
ROM:1FFFCEA8 LDR.W R0, =0x20000C30
ROM:1FFFCEAC LDR R0, [R0]
ROM:1FFFCEAE BX LR
ROM:1FFFCEAE ; End of function sub_1FFFCEA8
ROM:1FFFCEAE
ROM:1FFFCEB0
ROM:1FFFCEB0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCEB0
ROM:1FFFCEB0
ROM:1FFFCEB0 sub_1FFFCEB0 ; CODE XREF: sub_1FFFD10E:loc_1FFFD1ACp
ROM:1FFFCEB0 PUSH {R4-R6,LR}
ROM:1FFFCEB2 LDR.W R4, =0x20000C28
ROM:1FFFCEB6 LDR R0, [R4]
ROM:1FFFCEB8 LDRB R1, [R0]
ROM:1FFFCEBA ANDS.W R1, R1, #0x7F
ROM:1FFFCEBE ITTT EQ
ROM:1FFFCEC0 LDREQB R1, [R0,#9]
ROM:1FFFCEC2 ANDEQ.W R1, R1, #0xDF
ROM:1FFFCEC6 STREQB R1, [R0,#9]
ROM:1FFFCEC8 BEQ loc_1FFFCF52
ROM:1FFFCECA CMP R1, #2
ROM:1FFFCECC ITTTT EQ
ROM:1FFFCECE LDREQH R1, [R0,#2]
ROM:1FFFCED0 CMPEQ R1, #0
ROM:1FFFCED2 LDREQB R1, [R0,#4]
ROM:1FFFCED4 CMPEQ R1, #0
ROM:1FFFCED6 BNE loc_1FFFCF56
ROM:1FFFCED8 LDRB R6, [R0,#5]
ROM:1FFFCEDA BIC.W R5, R6, #0x80
ROM:1FFFCEDE LSLS R0, R6, #0x18
ROM:1FFFCEE0 MOV R0, R5
ROM:1FFFCEE2 BPL loc_1FFFCEEA
ROM:1FFFCEE4 BL sub_1FFFCBB2
ROM:1FFFCEE8 B loc_1FFFCEEE
ROM:1FFFCEEA ; ---------------------------------------------------------------------------
ROM:1FFFCEEA
ROM:1FFFCEEA loc_1FFFCEEA ; CODE XREF: sub_1FFFCEB0+32j
ROM:1FFFCEEA BL sub_1FFFCBBE
ROM:1FFFCEEE
ROM:1FFFCEEE loc_1FFFCEEE ; CODE XREF: sub_1FFFCEB0+38j
ROM:1FFFCEEE UXTH R0, R0
ROM:1FFFCEF0 LDR.W R1, =0x20000248
ROM:1FFFCEF4 LDRB R1, [R1]
ROM:1FFFCEF6 CMP R5, R1
ROM:1FFFCEF8 BCS loc_1FFFCF56
ROM:1FFFCEFA CMP R0, #0
ROM:1FFFCEFC ITTT NE
ROM:1FFFCEFE LDRNE R0, [R4]
ROM:1FFFCF00 LDRNEB R0, [R0,#0xA]
ROM:1FFFCF02 CMPNE R0, #0
ROM:1FFFCF04 BEQ loc_1FFFCF56
ROM:1FFFCF06 LSLS R0, R6, #0x18
ROM:1FFFCF08 MOV R0, R5
ROM:1FFFCF0A BPL loc_1FFFCF1E
ROM:1FFFCF0C BL sub_1FFFCBB2
ROM:1FFFCF10 CMP R0, #0x10
ROM:1FFFCF12 BNE loc_1FFFCF4A
ROM:1FFFCF14 MOVS R1, #0x30
ROM:1FFFCF16 MOV R0, R5
ROM:1FFFCF18 BL sub_1FFFCC0C
ROM:1FFFCF1C B loc_1FFFCF4A
ROM:1FFFCF1E ; ---------------------------------------------------------------------------
ROM:1FFFCF1E
ROM:1FFFCF1E loc_1FFFCF1E ; CODE XREF: sub_1FFFCEB0+5Aj
ROM:1FFFCF1E BL sub_1FFFCBBE
ROM:1FFFCF22 CMP.W R0, #0x1000
ROM:1FFFCF26 BNE loc_1FFFCF4A
ROM:1FFFCF28 MOVS R0, R5
ROM:1FFFCF2A BNE loc_1FFFCF42
ROM:1FFFCF2C LDR.W R0, =0x20000108
ROM:1FFFCF30 LDRB.W R1, [R0,#0x2C]
ROM:1FFFCF34 MOV R0, R5
ROM:1FFFCF36 BL nullsub_1
ROM:1FFFCF3A MOV.W R1, #0x3000
ROM:1FFFCF3E MOV R0, R5
ROM:1FFFCF40 B loc_1FFFCF46
ROM:1FFFCF42 ; ---------------------------------------------------------------------------
ROM:1FFFCF42
ROM:1FFFCF42 loc_1FFFCF42 ; CODE XREF: sub_1FFFCEB0+7Aj
ROM:1FFFCF42 MOV.W R1, #0x3000
ROM:1FFFCF46
ROM:1FFFCF46 loc_1FFFCF46 ; CODE XREF: sub_1FFFCEB0+90j
ROM:1FFFCF46 BL sub_1FFFCBF2
ROM:1FFFCF4A
ROM:1FFFCF4A loc_1FFFCF4A ; CODE XREF: sub_1FFFCEB0+62j
ROM:1FFFCF4A ; sub_1FFFCEB0+6Cj ...
ROM:1FFFCF4A BL sub_1FFFCEA8
ROM:1FFFCF4E LDR R0, [R0,#0x14]
ROM:1FFFCF50 BLX R0
ROM:1FFFCF52
ROM:1FFFCF52 loc_1FFFCF52 ; CODE XREF: sub_1FFFCEB0+18j
ROM:1FFFCF52 MOVS R0, #0
ROM:1FFFCF54 POP {R4-R6,PC}
ROM:1FFFCF56 ; ---------------------------------------------------------------------------
ROM:1FFFCF56
ROM:1FFFCF56 loc_1FFFCF56 ; CODE XREF: sub_1FFFCEB0+26j
ROM:1FFFCF56 ; sub_1FFFCEB0+48j ...
ROM:1FFFCF56 MOVS R0, #2
ROM:1FFFCF58 POP {R4-R6,PC}
ROM:1FFFCF58 ; End of function sub_1FFFCEB0
ROM:1FFFCF58
ROM:1FFFCF5A
ROM:1FFFCF5A ; =============== S U B R O U T I N E =======================================
ROM:1FFFCF5A
ROM:1FFFCF5A
ROM:1FFFCF5A sub_1FFFCF5A ; CODE XREF: sub_1FFFD10E+A8p
ROM:1FFFCF5A PUSH {R4-R6,LR}
ROM:1FFFCF5C LDR.W R6, =0x20000C28
ROM:1FFFCF60 LDR R0, [R6]
ROM:1FFFCF62 LDRB R5, [R0,#5]
ROM:1FFFCF64 BIC.W R4, R5, #0x80
ROM:1FFFCF68 LSLS R0, R5, #0x18
ROM:1FFFCF6A MOV R0, R4
ROM:1FFFCF6C BPL loc_1FFFCF74
ROM:1FFFCF6E BL sub_1FFFCBB2
ROM:1FFFCF72 B loc_1FFFCF78
ROM:1FFFCF74 ; ---------------------------------------------------------------------------
ROM:1FFFCF74
ROM:1FFFCF74 loc_1FFFCF74 ; CODE XREF: sub_1FFFCF5A+12j
ROM:1FFFCF74 BL sub_1FFFCBBE
ROM:1FFFCF78
ROM:1FFFCF78 loc_1FFFCF78 ; CODE XREF: sub_1FFFCF5A+18j
ROM:1FFFCF78 UXTH R0, R0
ROM:1FFFCF7A LDR.W R1, =0x20000248
ROM:1FFFCF7E LDRB R1, [R1]
ROM:1FFFCF80 CMP R4, R1
ROM:1FFFCF82 BCS loc_1FFFCF94
ROM:1FFFCF84 LDR R1, [R6]
ROM:1FFFCF86 LDRH R2, [R1,#2]
ROM:1FFFCF88 CBNZ R2, loc_1FFFCF94
ROM:1FFFCF8A CMP R0, #0
ROM:1FFFCF8C ITT NE
ROM:1FFFCF8E LDRNEB R0, [R1,#0xA]
ROM:1FFFCF90 CMPNE R0, #0
ROM:1FFFCF92 BNE loc_1FFFCF98
ROM:1FFFCF94
ROM:1FFFCF94 loc_1FFFCF94 ; CODE XREF: sub_1FFFCF5A+28j
ROM:1FFFCF94 ; sub_1FFFCF5A+2Ej
ROM:1FFFCF94 MOVS R0, #2
ROM:1FFFCF96 POP {R4-R6,PC}
ROM:1FFFCF98 ; ---------------------------------------------------------------------------
ROM:1FFFCF98
ROM:1FFFCF98 loc_1FFFCF98 ; CODE XREF: sub_1FFFCF5A+38j
ROM:1FFFCF98 LSLS R0, R5, #0x18
ROM:1FFFCF9A BPL loc_1FFFCFA6
ROM:1FFFCF9C MOVS R1, #0x10
ROM:1FFFCF9E MOV R0, R4
ROM:1FFFCFA0 BL sub_1FFFCBD0
ROM:1FFFCFA4 B loc_1FFFCFB0
ROM:1FFFCFA6 ; ---------------------------------------------------------------------------
ROM:1FFFCFA6
ROM:1FFFCFA6 loc_1FFFCFA6 ; CODE XREF: sub_1FFFCF5A+40j
ROM:1FFFCFA6 MOV.W R1, #0x1000
ROM:1FFFCFAA MOV R0, R4
ROM:1FFFCFAC BL sub_1FFFCBF2
ROM:1FFFCFB0
ROM:1FFFCFB0 loc_1FFFCFB0 ; CODE XREF: sub_1FFFCF5A+4Aj
ROM:1FFFCFB0 BL sub_1FFFCEA8
ROM:1FFFCFB4 LDR R0, [R0,#0x18]
ROM:1FFFCFB6 BLX R0
ROM:1FFFCFB8 MOVS R0, #0
ROM:1FFFCFBA POP {R4-R6,PC}
ROM:1FFFCFBA ; End of function sub_1FFFCF5A
ROM:1FFFCFBA
ROM:1FFFCFBC
ROM:1FFFCFBC ; =============== S U B R O U T I N E =======================================
ROM:1FFFCFBC
ROM:1FFFCFBC
ROM:1FFFCFBC sub_1FFFCFBC ; CODE XREF: sub_1FFFD10E+64p
ROM:1FFFCFBC PUSH {R7,LR}
ROM:1FFFCFBE LDR.W R0, =0x20000C28
ROM:1FFFCFC2 LDR R0, [R0]
ROM:1FFFCFC4 LDRB R1, [R0,#9]
ROM:1FFFCFC6 ORR.W R1, R1, #0x20
ROM:1FFFCFCA STRB R1, [R0,#9]
ROM:1FFFCFCC BL sub_1FFFCEA8
ROM:1FFFCFD0 LDR R0, [R0,#0x1C]
ROM:1FFFCFD2 BLX R0
ROM:1FFFCFD4 MOVS R0, #0
ROM:1FFFCFD6 POP {R1,PC}
ROM:1FFFCFD6 ; End of function sub_1FFFCFBC
ROM:1FFFCFD6
ROM:1FFFCFD8 ; ---------------------------------------------------------------------------
ROM:1FFFCFD8
ROM:1FFFCFD8 loc_1FFFCFD8 ; CODE XREF: ROM:1FFFC5B8j
ROM:1FFFCFD8 ; ROM:1FFFC5C0j ...
ROM:1FFFCFD8 LDR.W R2, =0x20000C28
ROM:1FFFCFDC LDR R2, [R2]
ROM:1FFFCFDE LDRH R3, [R2,#0x12]
ROM:1FFFCFE0 CBNZ R0, loc_1FFFCFEC
ROM:1FFFCFE2 LDRH R0, [R1,#4]
ROM:1FFFCFE4 SUBS R0, R0, R3
ROM:1FFFCFE6 STRH R0, [R2,#0x10]
ROM:1FFFCFE8 MOVS R0, #0
ROM:1FFFCFEA BX LR
ROM:1FFFCFEC ; ---------------------------------------------------------------------------
ROM:1FFFCFEC
ROM:1FFFCFEC loc_1FFFCFEC ; CODE XREF: ROM:1FFFCFE0j
ROM:1FFFCFEC LDR R0, [R1]
ROM:1FFFCFEE ADDS R0, R3, R0
ROM:1FFFCFF0 BX LR
ROM:1FFFCFF2
ROM:1FFFCFF2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFCFF2
ROM:1FFFCFF2
ROM:1FFFCFF2 sub_1FFFCFF2 ; CODE XREF: sub_1FFFD406+10p
ROM:1FFFCFF2 PUSH {R4-R6,LR}
ROM:1FFFCFF4 LDR.W R5, =0x20000C28
ROM:1FFFCFF8 LDR R0, [R5]
ROM:1FFFCFFA ADD.W R4, R0, #0x10
ROM:1FFFCFFE LDRH R6, [R4]
ROM:1FFFD000 LDR R1, [R4,#8]
ROM:1FFFD002 MOVS R0, R1
ROM:1FFFD004 BEQ loc_1FFFD02C
ROM:1FFFD006 MOVS R0, R6
ROM:1FFFD008 BEQ loc_1FFFD02C
ROM:1FFFD00A LDRH R0, [R4,#4]
ROM:1FFFD00C CMP R6, R0
ROM:1FFFD00E IT HI
ROM:1FFFD010 MOVHI R6, R0
ROM:1FFFD012 MOV R0, R6
ROM:1FFFD014 BLX R1
ROM:1FFFD016 LDRH R1, [R4]
ROM:1FFFD018 SUBS R1, R1, R6
ROM:1FFFD01A STRH R1, [R4]
ROM:1FFFD01C LDRH R1, [R4,#2]
ROM:1FFFD01E ADDS R1, R6, R1
ROM:1FFFD020 STRH R1, [R4,#2]
ROM:1FFFD022 MOV R2, R6
ROM:1FFFD024 MOV R1, R0
ROM:1FFFD026 MOVS R0, #0
ROM:1FFFD028 BL sub_1FFFDC04
ROM:1FFFD02C
ROM:1FFFD02C loc_1FFFD02C ; CODE XREF: sub_1FFFCFF2+12j
ROM:1FFFD02C ; sub_1FFFCFF2+16j
ROM:1FFFD02C LDR.W R6, =0x2000009A
ROM:1FFFD030 LDRH R0, [R4]
ROM:1FFFD032 CBZ R0, loc_1FFFD04A
ROM:1FFFD034 LDR.W R0, =0x20000098
ROM:1FFFD038 MOV.W R1, #0x3000
ROM:1FFFD03C STRH R1, [R0]
ROM:1FFFD03E MOVS R1, #0
ROM:1FFFD040 MOVS R0, #0
ROM:1FFFD042 BL nullsub_2
ROM:1FFFD046 MOVS R0, #0x30
ROM:1FFFD048 STRH R0, [R6]
ROM:1FFFD04A
ROM:1FFFD04A loc_1FFFD04A ; CODE XREF: sub_1FFFCFF2+40j
ROM:1FFFD04A LDR R0, [R5]
ROM:1FFFD04C LDRH R1, [R4]
ROM:1FFFD04E LDRH R2, [R4,#4]
ROM:1FFFD050 CMP R1, R2
ROM:1FFFD052 IT CS
ROM:1FFFD054 MOVCS R1, #3
ROM:1FFFD056 BCS loc_1FFFD05C
ROM:1FFFD058 CBZ R1, loc_1FFFD060
ROM:1FFFD05A MOVS R1, #5
ROM:1FFFD05C
ROM:1FFFD05C loc_1FFFD05C ; CODE XREF: sub_1FFFCFF2+64j
ROM:1FFFD05C STRB R1, [R0,#8]
ROM:1FFFD05E POP {R4-R6,PC}
ROM:1FFFD060 ; ---------------------------------------------------------------------------
ROM:1FFFD060
ROM:1FFFD060 loc_1FFFD060 ; CODE XREF: sub_1FFFCFF2+66j
ROM:1FFFD060 MOVS R1, #6
ROM:1FFFD062 STRB R1, [R0,#8]
ROM:1FFFD064 BL sub_1FFFD104
ROM:1FFFD068 MOVS R0, #0x30
ROM:1FFFD06A STRH R0, [R6]
ROM:1FFFD06C POP {R4-R6,PC}
ROM:1FFFD06C ; End of function sub_1FFFCFF2
ROM:1FFFD06C
ROM:1FFFD06E
ROM:1FFFD06E ; =============== S U B R O U T I N E =======================================
ROM:1FFFD06E
ROM:1FFFD06E
ROM:1FFFD06E sub_1FFFD06E ; CODE XREF: sub_1FFFD1D8+16Ep
ROM:1FFFD06E ; sub_1FFFD3B8+10p
ROM:1FFFD06E PUSH.W {R4-R8,LR}
ROM:1FFFD072 BL sub_1FFFD3B2
ROM:1FFFD076 ADD.W R6, R0, #0x10
ROM:1FFFD07A LDRH R1, [R6]
ROM:1FFFD07C LDR.W R5, =0x2000009A
ROM:1FFFD080 MOVS R2, R1
ROM:1FFFD082 ITT EQ
ROM:1FFFD084 LDREQB R0, [R0,#8]
ROM:1FFFD086 CMPEQ R0, #4
ROM:1FFFD088 BNE loc_1FFFD0B2
ROM:1FFFD08A LDR.W R6, =0x20000C68
ROM:1FFFD08E LDRB R0, [R6]
ROM:1FFFD090 CMP R0, #1
ROM:1FFFD092 BNE loc_1FFFD0A4
ROM:1FFFD094 BL sub_1FFFD104
ROM:1FFFD098 MOVS R0, #0x30
ROM:1FFFD09A STRH R0, [R5]
ROM:1FFFD09C MOVS R7, #4
ROM:1FFFD09E MOVS R0, #0
ROM:1FFFD0A0 STRB R0, [R6]
ROM:1FFFD0A2 B loc_1FFFD0FC
ROM:1FFFD0A4 ; ---------------------------------------------------------------------------
ROM:1FFFD0A4
ROM:1FFFD0A4 loc_1FFFD0A4 ; CODE XREF: sub_1FFFD06E+24j
ROM:1FFFD0A4 MOVS R7, #7
ROM:1FFFD0A6 MOVS R2, #0
ROM:1FFFD0A8 MOVS R1, #0
ROM:1FFFD0AA MOV R0, R1
ROM:1FFFD0AC BL sub_1FFFDC04
ROM:1FFFD0B0 B loc_1FFFD0FC
ROM:1FFFD0B2 ; ---------------------------------------------------------------------------
ROM:1FFFD0B2
ROM:1FFFD0B2 loc_1FFFD0B2 ; CODE XREF: sub_1FFFD06E+1Aj
ROM:1FFFD0B2 LDRH.W R8, [R6,#4]
ROM:1FFFD0B6 CMP R8, R1
ROM:1FFFD0B8 BCC loc_1FFFD0C6
ROM:1FFFD0BA MOVS R7, #4
ROM:1FFFD0BC CMP R1, R8
ROM:1FFFD0BE IT HI
ROM:1FFFD0C0 MOVHI R1, R8
ROM:1FFFD0C2 MOV R8, R1
ROM:1FFFD0C4 B loc_1FFFD0C8
ROM:1FFFD0C6 ; ---------------------------------------------------------------------------
ROM:1FFFD0C6
ROM:1FFFD0C6 loc_1FFFD0C6 ; CODE XREF: sub_1FFFD06E+4Aj
ROM:1FFFD0C6 MOVS R7, #2
ROM:1FFFD0C8
ROM:1FFFD0C8 loc_1FFFD0C8 ; CODE XREF: sub_1FFFD06E+56j
ROM:1FFFD0C8 MOV R0, R8
ROM:1FFFD0CA LDR R1, [R6,#8]
ROM:1FFFD0CC BLX R1
ROM:1FFFD0CE MOV R1, R0
ROM:1FFFD0D0 MOV R2, R8
ROM:1FFFD0D2 MOVS R0, #0
ROM:1FFFD0D4 BL loc_1FFFDC28
ROM:1FFFD0D8 MOV R1, R8
ROM:1FFFD0DA MOVS R0, #0
ROM:1FFFD0DC BL nullsub_2
ROM:1FFFD0E0 LDRH R0, [R6]
ROM:1FFFD0E2 SUB.W R0, R0, R8
ROM:1FFFD0E6 STRH R0, [R6]
ROM:1FFFD0E8 LDRH R0, [R6,#2]
ROM:1FFFD0EA ADD R0, R8
ROM:1FFFD0EC STRH R0, [R6,#2]
ROM:1FFFD0EE MOVS R0, #0x30
ROM:1FFFD0F0 STRH R0, [R5]
ROM:1FFFD0F2 LDR.W R0, =0x20000098
ROM:1FFFD0F6 MOV.W R1, #0x3000
ROM:1FFFD0FA STRH R1, [R0]
ROM:1FFFD0FC
ROM:1FFFD0FC loc_1FFFD0FC ; CODE XREF: sub_1FFFD06E+34j
ROM:1FFFD0FC ; sub_1FFFD06E+42j
ROM:1FFFD0FC LDR R0, [R4]
ROM:1FFFD0FE STRB R7, [R0,#8]
ROM:1FFFD100 POP.W {R4-R8,PC}
ROM:1FFFD100 ; End of function sub_1FFFD06E
ROM:1FFFD100
ROM:1FFFD104
ROM:1FFFD104 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD104
ROM:1FFFD104
ROM:1FFFD104 sub_1FFFD104 ; CODE XREF: sub_1FFFCFF2+72p
ROM:1FFFD104 ; sub_1FFFD06E+26p ...
ROM:1FFFD104 MOVS R2, #0
ROM:1FFFD106 MOVS R1, #0
ROM:1FFFD108 MOV R0, R1
ROM:1FFFD10A B.W loc_1FFFDC28
ROM:1FFFD10A ; End of function sub_1FFFD104
ROM:1FFFD10A
ROM:1FFFD10E
ROM:1FFFD10E ; =============== S U B R O U T I N E =======================================
ROM:1FFFD10E
ROM:1FFFD10E
ROM:1FFFD10E sub_1FFFD10E ; CODE XREF: sub_1FFFD356+50p
ROM:1FFFD10E PUSH {R3-R5,LR}
ROM:1FFFD110 LDR.W R4, =0x20000C28
ROM:1FFFD114 LDR R1, [R4]
ROM:1FFFD116 LDRB R5, [R1,#1]
ROM:1FFFD118 LDRB R0, [R1]
ROM:1FFFD11A MOVS R2, #0x7F
ROM:1FFFD11C TST R0, R2
ROM:1FFFD11E BNE loc_1FFFD18E
ROM:1FFFD120 CMP R5, #9
ROM:1FFFD122 BNE loc_1FFFD12A
ROM:1FFFD124 BL sub_1FFFCD90
ROM:1FFFD128 B loc_1FFFD1BA
ROM:1FFFD12A ; ---------------------------------------------------------------------------
ROM:1FFFD12A
ROM:1FFFD12A loc_1FFFD12A ; CODE XREF: sub_1FFFD10E+14j
ROM:1FFFD12A CMP R5, #5
ROM:1FFFD12C BNE loc_1FFFD15C
ROM:1FFFD12E LDRB R0, [R1,#3]
ROM:1FFFD130 CMP R0, #0x80
ROM:1FFFD132 BCS loc_1FFFD1D4
ROM:1FFFD134 LDRB R2, [R1,#2]
ROM:1FFFD136 CMP R2, #0
ROM:1FFFD138 ITTTT EQ
ROM:1FFFD13A LDREQH R2, [R1,#4]
ROM:1FFFD13C CMPEQ R2, #0
ROM:1FFFD13E LDREQB R1, [R1,#0xA]
ROM:1FFFD140 CMPEQ R1, #0
ROM:1FFFD142 BNE loc_1FFFD1D4
ROM:1FFFD144 BL sub_1FFFDC68
ROM:1FFFD148
ROM:1FFFD148 loc_1FFFD148 ; CODE XREF: sub_1FFFD10E+AEj
ROM:1FFFD148 ; sub_1FFFD10E+C4j
ROM:1FFFD148 MOVS R5, #6
ROM:1FFFD14A BL sub_1FFFD104
ROM:1FFFD14E LDR.W R0, =0x2000009A
ROM:1FFFD152 MOVS R1, #0x30
ROM:1FFFD154 STRH R1, [R0]
ROM:1FFFD156
ROM:1FFFD156 loc_1FFFD156 ; CODE XREF: sub_1FFFD10E+C0j
ROM:1FFFD156 ; sub_1FFFD10E+C8j
ROM:1FFFD156 LDR R0, [R4]
ROM:1FFFD158 STRB R5, [R0,#8]
ROM:1FFFD15A POP {R0,R4,R5,PC}
ROM:1FFFD15C ; ---------------------------------------------------------------------------
ROM:1FFFD15C
ROM:1FFFD15C loc_1FFFD15C ; CODE XREF: sub_1FFFD10E+1Ej
ROM:1FFFD15C CMP R5, #3
ROM:1FFFD15E BNE loc_1FFFD178
ROM:1FFFD160 LDRB R0, [R1,#3]
ROM:1FFFD162 CMP R0, #1
ROM:1FFFD164 ITT EQ
ROM:1FFFD166 LDREQH R0, [R1,#4]
ROM:1FFFD168 CMPEQ R0, #0
ROM:1FFFD16A BNE loc_1FFFD1BE
ROM:1FFFD16C LDRB R0, [R1,#9]
ROM:1FFFD16E LSLS R0, R0, #0x1A
ROM:1FFFD170 BPL loc_1FFFD1BE
ROM:1FFFD172 BL sub_1FFFCFBC
ROM:1FFFD176 B loc_1FFFD1BA
ROM:1FFFD178 ; ---------------------------------------------------------------------------
ROM:1FFFD178
ROM:1FFFD178 loc_1FFFD178 ; CODE XREF: sub_1FFFD10E+50j
ROM:1FFFD178 CMP R5, #1
ROM:1FFFD17A ITT EQ
ROM:1FFFD17C LDREQB R0, [R1,#3]
ROM:1FFFD17E CMPEQ R0, #1
ROM:1FFFD180 BNE loc_1FFFD1BE
ROM:1FFFD182 LDRH R0, [R1,#4]
ROM:1FFFD184 CBNZ R0, loc_1FFFD1BE
ROM:1FFFD186 LDRB R0, [R1,#9]
ROM:1FFFD188 LSLS R0, R0, #0x1A
ROM:1FFFD18A BMI loc_1FFFD1AC
ROM:1FFFD18C B loc_1FFFD1BE
ROM:1FFFD18E ; ---------------------------------------------------------------------------
ROM:1FFFD18E
ROM:1FFFD18E loc_1FFFD18E ; CODE XREF: sub_1FFFD10E+10j
ROM:1FFFD18E AND.W R1, R0, #0x7F
ROM:1FFFD192 CMP R1, #1
ROM:1FFFD194 BNE loc_1FFFD1A0
ROM:1FFFD196 CMP R5, #0xB
ROM:1FFFD198 BNE loc_1FFFD1BE
ROM:1FFFD19A BL sub_1FFFCDE4
ROM:1FFFD19E B loc_1FFFD1BA
ROM:1FFFD1A0 ; ---------------------------------------------------------------------------
ROM:1FFFD1A0
ROM:1FFFD1A0 loc_1FFFD1A0 ; CODE XREF: sub_1FFFD10E+86j
ROM:1FFFD1A0 AND.W R0, R0, #0x7F
ROM:1FFFD1A4 CMP R0, #2
ROM:1FFFD1A6 BNE loc_1FFFD1BE
ROM:1FFFD1A8 CMP R5, #1
ROM:1FFFD1AA BNE loc_1FFFD1B2
ROM:1FFFD1AC
ROM:1FFFD1AC loc_1FFFD1AC ; CODE XREF: sub_1FFFD10E+7Cj
ROM:1FFFD1AC BL sub_1FFFCEB0
ROM:1FFFD1B0 B loc_1FFFD1BA
ROM:1FFFD1B2 ; ---------------------------------------------------------------------------
ROM:1FFFD1B2
ROM:1FFFD1B2 loc_1FFFD1B2 ; CODE XREF: sub_1FFFD10E+9Cj
ROM:1FFFD1B2 CMP R5, #3
ROM:1FFFD1B4 BNE loc_1FFFD1BE
ROM:1FFFD1B6 BL sub_1FFFCF5A
ROM:1FFFD1BA
ROM:1FFFD1BA loc_1FFFD1BA ; CODE XREF: sub_1FFFD10E+1Aj
ROM:1FFFD1BA ; sub_1FFFD10E+68j ...
ROM:1FFFD1BA CMP R0, #0
ROM:1FFFD1BC BEQ loc_1FFFD148
ROM:1FFFD1BE
ROM:1FFFD1BE loc_1FFFD1BE ; CODE XREF: sub_1FFFD10E+5Cj
ROM:1FFFD1BE ; sub_1FFFD10E+62j ...
ROM:1FFFD1BE MOV R0, R5
ROM:1FFFD1C0 LDR R1, =0x20000C2C
ROM:1FFFD1C2 LDR R1, [R1]
ROM:1FFFD1C4 LDR R1, [R1,#0x14]
ROM:1FFFD1C6 BLX R1
ROM:1FFFD1C8 CMP R0, #3
ROM:1FFFD1CA IT EQ
ROM:1FFFD1CC MOVEQ R5, #9
ROM:1FFFD1CE BEQ loc_1FFFD156
ROM:1FFFD1D0 CMP R0, #0
ROM:1FFFD1D2 BEQ loc_1FFFD148
ROM:1FFFD1D4
ROM:1FFFD1D4 loc_1FFFD1D4 ; CODE XREF: sub_1FFFD10E+24j
ROM:1FFFD1D4 ; sub_1FFFD10E+34j
ROM:1FFFD1D4 MOVS R5, #8
ROM:1FFFD1D6 B loc_1FFFD156
ROM:1FFFD1D6 ; End of function sub_1FFFD10E
ROM:1FFFD1D6
ROM:1FFFD1D8
ROM:1FFFD1D8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD1D8
ROM:1FFFD1D8
ROM:1FFFD1D8 sub_1FFFD1D8 ; CODE XREF: sub_1FFFD356:loc_1FFFD3ACp
ROM:1FFFD1D8
ROM:1FFFD1D8 var_18 = -0x18
ROM:1FFFD1D8
ROM:1FFFD1D8 PUSH {R3-R7,LR}
ROM:1FFFD1DA LDR R5, =0x20000C28
ROM:1FFFD1DC LDR R0, [R5]
ROM:1FFFD1DE LDRB R1, [R0,#1]
ROM:1FFFD1E0 LDR R4, =0x20000C2C
ROM:1FFFD1E2 LDR R2, [R4]
ROM:1FFFD1E4 CMP R1, #6
ROM:1FFFD1E6 BNE loc_1FFFD20A
ROM:1FFFD1E8 LDRB R1, [R0]
ROM:1FFFD1EA MOVS R3, #0x7F
ROM:1FFFD1EC TST R1, R3
ROM:1FFFD1EE BNE loc_1FFFD244
ROM:1FFFD1F0 LDRB R0, [R0,#2]
ROM:1FFFD1F2 CMP R0, #1
ROM:1FFFD1F4 IT EQ
ROM:1FFFD1F6 LDREQ R1, [R2,#0x1C]
ROM:1FFFD1F8 BEQ loc_1FFFD2D4
ROM:1FFFD1FA CMP R0, #2
ROM:1FFFD1FC IT EQ
ROM:1FFFD1FE LDREQ R1, [R2,#0x20]
ROM:1FFFD200 BEQ loc_1FFFD2D4
ROM:1FFFD202 CMP R0, #3
ROM:1FFFD204 BNE loc_1FFFD244
ROM:1FFFD206 LDR R1, [R2,#0x24]
ROM:1FFFD208 B loc_1FFFD2D4
ROM:1FFFD20A ; ---------------------------------------------------------------------------
ROM:1FFFD20A
ROM:1FFFD20A loc_1FFFD20A ; CODE XREF: sub_1FFFD1D8+Ej
ROM:1FFFD20A MOVS R3, R1
ROM:1FFFD20C BNE loc_1FFFD292
ROM:1FFFD20E LDRH R1, [R0,#2]
ROM:1FFFD210 CMP R1, #0
ROM:1FFFD212 ITT EQ
ROM:1FFFD214 LDREQH R1, [R0,#6]
ROM:1FFFD216 CMPEQ R1, #2
ROM:1FFFD218 BNE loc_1FFFD244
ROM:1FFFD21A LDRB R1, [R0,#4]
ROM:1FFFD21C CBNZ R1, loc_1FFFD244
ROM:1FFFD21E LDRB R1, [R0]
ROM:1FFFD220 MOVS R3, #0x7F
ROM:1FFFD222 TST R1, R3
ROM:1FFFD224 ITT EQ
ROM:1FFFD226 LDREQH R3, [R0,#4]
ROM:1FFFD228 CMPEQ R3, #0
ROM:1FFFD22A BEQ loc_1FFFD28E
ROM:1FFFD22C AND.W R3, R1, #0x7F
ROM:1FFFD230 CMP R3, #1
ROM:1FFFD232 BNE loc_1FFFD25A
ROM:1FFFD234 MOVS R1, #0
ROM:1FFFD236 LDRB R0, [R0,#5]
ROM:1FFFD238 LDR R2, [R2,#0x18]
ROM:1FFFD23A BLX R2
ROM:1FFFD23C CBNZ R0, loc_1FFFD244
ROM:1FFFD23E LDR R0, [R5]
ROM:1FFFD240 LDRB R0, [R0,#0xA]
ROM:1FFFD242 CBNZ R0, loc_1FFFD28E
ROM:1FFFD244
ROM:1FFFD244 loc_1FFFD244 ; CODE XREF: sub_1FFFD1D8+16j
ROM:1FFFD244 ; sub_1FFFD1D8+2Cj ...
ROM:1FFFD244 LDR R0, [R5]
ROM:1FFFD246 LDRB R0, [R0,#1]
ROM:1FFFD248 LDR R1, [R4]
ROM:1FFFD24A LDR R1, [R1,#0x10]
ROM:1FFFD24C BLX R1
ROM:1FFFD24E CMP R0, #3
ROM:1FFFD250 BNE loc_1FFFD2E6
ROM:1FFFD252 LDR R0, [R5]
ROM:1FFFD254 MOVS R1, #9
ROM:1FFFD256 STRB R1, [R0,#8]
ROM:1FFFD258 POP {R0,R4-R7,PC}
ROM:1FFFD25A ; ---------------------------------------------------------------------------
ROM:1FFFD25A
ROM:1FFFD25A loc_1FFFD25A ; CODE XREF: sub_1FFFD1D8+5Aj
ROM:1FFFD25A AND.W R1, R1, #0x7F
ROM:1FFFD25E CMP R1, #2
ROM:1FFFD260 BNE loc_1FFFD244
ROM:1FFFD262 LDRB R0, [R0,#5]
ROM:1FFFD264 AND.W R6, R0, #0xF
ROM:1FFFD268 AND.W R7, R0, #0x70
ROM:1FFFD26C LSLS R0, R0, #0x18
ROM:1FFFD26E MOV R0, R6
ROM:1FFFD270 BPL loc_1FFFD278
ROM:1FFFD272 BL sub_1FFFCBB2
ROM:1FFFD276 B loc_1FFFD27C
ROM:1FFFD278 ; ---------------------------------------------------------------------------
ROM:1FFFD278
ROM:1FFFD278 loc_1FFFD278 ; CODE XREF: sub_1FFFD1D8+98j
ROM:1FFFD278 BL sub_1FFFCBBE
ROM:1FFFD27C
ROM:1FFFD27C loc_1FFFD27C ; CODE XREF: sub_1FFFD1D8+9Ej
ROM:1FFFD27C UXTH R0, R0
ROM:1FFFD27E LDR R1, =0x20000248
ROM:1FFFD280 LDRB R1, [R1]
ROM:1FFFD282 CMP R6, R1
ROM:1FFFD284 BCS loc_1FFFD244
ROM:1FFFD286 CMP R7, #0
ROM:1FFFD288 BNE loc_1FFFD244
ROM:1FFFD28A CMP R0, #0
ROM:1FFFD28C BEQ loc_1FFFD244
ROM:1FFFD28E
ROM:1FFFD28E loc_1FFFD28E ; CODE XREF: sub_1FFFD1D8+52j
ROM:1FFFD28E ; sub_1FFFD1D8+6Aj
ROM:1FFFD28E LDR R1, =(sub_1FFFCE28+1)
ROM:1FFFD290 B loc_1FFFD2D4
ROM:1FFFD292 ; ---------------------------------------------------------------------------
ROM:1FFFD292
ROM:1FFFD292 loc_1FFFD292 ; CODE XREF: sub_1FFFD1D8+34j
ROM:1FFFD292 CMP R1, #8
ROM:1FFFD294 BNE loc_1FFFD2A2
ROM:1FFFD296 LDRB R0, [R0]
ROM:1FFFD298 MOVS R1, #0x7F
ROM:1FFFD29A TST R0, R1
ROM:1FFFD29C BNE loc_1FFFD244
ROM:1FFFD29E LDR R1, =0x1FFFCD79
ROM:1FFFD2A0 B loc_1FFFD2D4
ROM:1FFFD2A2 ; ---------------------------------------------------------------------------
ROM:1FFFD2A2
ROM:1FFFD2A2 loc_1FFFD2A2 ; CODE XREF: sub_1FFFD1D8+BCj
ROM:1FFFD2A2 CMP R1, #0xA
ROM:1FFFD2A4 ITTT EQ
ROM:1FFFD2A6 LDREQB R1, [R0]
ROM:1FFFD2A8 ANDEQ.W R1, R1, #0x7F
ROM:1FFFD2AC CMPEQ R1, #1
ROM:1FFFD2AE BNE loc_1FFFD244
ROM:1FFFD2B0 LDRB R1, [R0,#0xA]
ROM:1FFFD2B2 CMP R1, #0
ROM:1FFFD2B4 BEQ loc_1FFFD244
ROM:1FFFD2B6 LDRH R1, [R0,#2]
ROM:1FFFD2B8 CMP R1, #0
ROM:1FFFD2BA ITTTT EQ
ROM:1FFFD2BC LDREQB R1, [R0,#4]
ROM:1FFFD2BE CMPEQ R1, #0
ROM:1FFFD2C0 LDREQH R1, [R0,#6]
ROM:1FFFD2C2 CMPEQ R1, #1
ROM:1FFFD2C4 BNE loc_1FFFD244
ROM:1FFFD2C6 MOVS R1, #0
ROM:1FFFD2C8 LDRB R0, [R0,#5]
ROM:1FFFD2CA LDR R2, [R2,#0x18]
ROM:1FFFD2CC BLX R2
ROM:1FFFD2CE CMP R0, #0
ROM:1FFFD2D0 BNE loc_1FFFD244
ROM:1FFFD2D2 LDR R1, =(sub_1FFFCDC2+1)
ROM:1FFFD2D4
ROM:1FFFD2D4 loc_1FFFD2D4 ; CODE XREF: sub_1FFFD1D8+20j
ROM:1FFFD2D4 ; sub_1FFFD1D8+28j ...
ROM:1FFFD2D4 MOVS R0, R1
ROM:1FFFD2D6 BEQ loc_1FFFD244
ROM:1FFFD2D8 LDR R0, [R5]
ROM:1FFFD2DA MOVS R2, #0
ROM:1FFFD2DC STRH R2, [R0,#0x12]
ROM:1FFFD2DE STR R1, [R0,#0x18]
ROM:1FFFD2E0 MOVS R0, #0
ROM:1FFFD2E2 BLX R1
ROM:1FFFD2E4 MOVS R0, #0
ROM:1FFFD2E6
ROM:1FFFD2E6 loc_1FFFD2E6 ; CODE XREF: sub_1FFFD1D8+78j
ROM:1FFFD2E6 LDR R1, [R5]
ROM:1FFFD2E8 LDRH R2, [R1,#0x10]
ROM:1FFFD2EA MOVW R3, #0xFFFF
ROM:1FFFD2EE CMP R2, R3
ROM:1FFFD2F0 IT EQ
ROM:1FFFD2F2 MOVEQ R0, #9
ROM:1FFFD2F4 BEQ loc_1FFFD300
ROM:1FFFD2F6 CMP R0, #2
ROM:1FFFD2F8 IT NE
ROM:1FFFD2FA CMPNE R2, #0
ROM:1FFFD2FC BNE loc_1FFFD304
ROM:1FFFD2FE MOVS R0, #8
ROM:1FFFD300
ROM:1FFFD300 loc_1FFFD300 ; CODE XREF: sub_1FFFD1D8+11Cj
ROM:1FFFD300 STRB R0, [R1,#8]
ROM:1FFFD302 POP {R0,R4-R7,PC}
ROM:1FFFD304 ; ---------------------------------------------------------------------------
ROM:1FFFD304
ROM:1FFFD304 loc_1FFFD304 ; CODE XREF: sub_1FFFD1D8+124j
ROM:1FFFD304 LDRB R0, [R1]
ROM:1FFFD306 LSLS R0, R0, #0x18
ROM:1FFFD308 BPL loc_1FFFD348
ROM:1FFFD30A LDRH R0, [R1,#6]
ROM:1FFFD30C STR R0, [SP,#0x18+var_18]
ROM:1FFFD30E LDR R3, [R4]
ROM:1FFFD310 LDR R4, [SP,#0x18+var_18]
ROM:1FFFD312 CMP R4, R2
ROM:1FFFD314 ITT CC
ROM:1FFFD316 LDRCC R0, [SP,#0x18+var_18]
ROM:1FFFD318 STRCCH R0, [R1,#0x10]
ROM:1FFFD31A BCC loc_1FFFD33C
ROM:1FFFD31C CMP R2, R0
ROM:1FFFD31E BCS loc_1FFFD33C
ROM:1FFFD320 LDRB.W R0, [R3,#0x2C]
ROM:1FFFD324 LDR R4, =0x20000C68
ROM:1FFFD326 CMP R2, R0
ROM:1FFFD328 IT CC
ROM:1FFFD32A MOVCC R0, #0
ROM:1FFFD32C BCC loc_1FFFD33A
ROM:1FFFD32E SDIV.W R5, R2, R0
ROM:1FFFD332 MLS.W R0, R0, R5, R2
ROM:1FFFD336 CBNZ R0, loc_1FFFD33C
ROM:1FFFD338 MOVS R0, #1
ROM:1FFFD33A
ROM:1FFFD33A loc_1FFFD33A ; CODE XREF: sub_1FFFD1D8+154j
ROM:1FFFD33A STRB R0, [R4]
ROM:1FFFD33C
ROM:1FFFD33C loc_1FFFD33C ; CODE XREF: sub_1FFFD1D8+142j
ROM:1FFFD33C ; sub_1FFFD1D8+146j ...
ROM:1FFFD33C LDRB.W R0, [R3,#0x2C]
ROM:1FFFD340 STRH R0, [R1,#0x14]
ROM:1FFFD342 POP.W {R0,R4-R7,LR}
ROM:1FFFD346 B sub_1FFFD06E
ROM:1FFFD348 ; ---------------------------------------------------------------------------
ROM:1FFFD348
ROM:1FFFD348 loc_1FFFD348 ; CODE XREF: sub_1FFFD1D8+130j
ROM:1FFFD348 MOVS R0, #3
ROM:1FFFD34A STRB R0, [R1,#8]
ROM:1FFFD34C LDR R0, =0x20000098
ROM:1FFFD34E MOV.W R1, #0x3000
ROM:1FFFD352 STRH R1, [R0]
ROM:1FFFD354 POP {R0,R4-R7,PC}
ROM:1FFFD354 ; End of function sub_1FFFD1D8
ROM:1FFFD354
ROM:1FFFD356
ROM:1FFFD356 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD356
ROM:1FFFD356
ROM:1FFFD356 sub_1FFFD356 ; CODE XREF: sub_1FFFE430+38p
ROM:1FFFD356 PUSH {R3-R5,LR}
ROM:1FFFD358 MOVS R0, #0
ROM:1FFFD35A BL sub_1FFFDCA2
ROM:1FFFD35E LDR R1, =0x20000C5C
ROM:1FFFD360 STR R0, [R1]
ROM:1FFFD362 LDR R5, [R0,#0x14]
ROM:1FFFD364 BL sub_1FFFD948
ROM:1FFFD368 BL sub_1FFFD3B2
ROM:1FFFD36C LDRB R1, [R0,#8]
ROM:1FFFD36E CMP R1, #9
ROM:1FFFD370 BEQ loc_1FFFD39A
ROM:1FFFD372 LDRB R1, [R5]
ROM:1FFFD374 STRB R1, [R0]
ROM:1FFFD376 LDR R0, [R4]
ROM:1FFFD378 LDRB.W R1, [R5,#1]!
ROM:1FFFD37C STRB R1, [R0,#1]
ROM:1FFFD37E LDRH.W R0, [R5,#1]!
ROM:1FFFD382 BL sub_1FFFCC12
ROM:1FFFD386 LDR R1, [R4]
ROM:1FFFD388 STRH R0, [R1,#2]
ROM:1FFFD38A LDRH.W R0, [R5,#2]!
ROM:1FFFD38E BL sub_1FFFCC12
ROM:1FFFD392 LDR R1, [R4]
ROM:1FFFD394 STRH R0, [R1,#4]
ROM:1FFFD396 LDRH R0, [R5,#2]
ROM:1FFFD398 STRH R0, [R1,#6]
ROM:1FFFD39A
ROM:1FFFD39A loc_1FFFD39A ; CODE XREF: sub_1FFFD356+1Aj
ROM:1FFFD39A LDR R0, [R4]
ROM:1FFFD39C MOVS R1, #1
ROM:1FFFD39E STRB R1, [R0,#8]
ROM:1FFFD3A0 LDR R0, [R4]
ROM:1FFFD3A2 LDRH R0, [R0,#6]
ROM:1FFFD3A4 CBNZ R0, loc_1FFFD3AC
ROM:1FFFD3A6 BL sub_1FFFD10E
ROM:1FFFD3AA B loc_1FFFD3B0
ROM:1FFFD3AC ; ---------------------------------------------------------------------------
ROM:1FFFD3AC
ROM:1FFFD3AC loc_1FFFD3AC ; CODE XREF: sub_1FFFD356+4Ej
ROM:1FFFD3AC BL sub_1FFFD1D8
ROM:1FFFD3B0
ROM:1FFFD3B0 loc_1FFFD3B0 ; CODE XREF: sub_1FFFD356+54j
ROM:1FFFD3B0 B loc_1FFFD434
ROM:1FFFD3B0 ; End of function sub_1FFFD356
ROM:1FFFD3B0
ROM:1FFFD3B2
ROM:1FFFD3B2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD3B2
ROM:1FFFD3B2
ROM:1FFFD3B2 sub_1FFFD3B2 ; CODE XREF: sub_1FFFCDE4+2p
ROM:1FFFD3B2 ; sub_1FFFD06E+4p ...
ROM:1FFFD3B2 LDR R4, =0x20000C28
ROM:1FFFD3B4 LDR R0, [R4]
ROM:1FFFD3B6 BX LR
ROM:1FFFD3B6 ; End of function sub_1FFFD3B2
ROM:1FFFD3B6
ROM:1FFFD3B8
ROM:1FFFD3B8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD3B8
ROM:1FFFD3B8
ROM:1FFFD3B8 sub_1FFFD3B8 ; CODE XREF: sub_1FFFE356+BEp
ROM:1FFFD3B8 PUSH {R4,LR}
ROM:1FFFD3BA BL sub_1FFFD3B2
ROM:1FFFD3BE LDRB R1, [R0,#8]
ROM:1FFFD3C0 CMP R1, #2
ROM:1FFFD3C2 IT NE
ROM:1FFFD3C4 CMPNE R1, #4
ROM:1FFFD3C6 BNE loc_1FFFD3D2
ROM:1FFFD3C8 BL sub_1FFFD06E
ROM:1FFFD3CC LDR R0, [R4]
ROM:1FFFD3CE LDRB R0, [R0,#8]
ROM:1FFFD3D0 B loc_1FFFD3FC
ROM:1FFFD3D2 ; ---------------------------------------------------------------------------
ROM:1FFFD3D2
ROM:1FFFD3D2 loc_1FFFD3D2 ; CODE XREF: sub_1FFFD3B8+Ej
ROM:1FFFD3D2 CMP R1, #6
ROM:1FFFD3D4 BNE loc_1FFFD3FA
ROM:1FFFD3D6 LDRB R1, [R0,#1]
ROM:1FFFD3D8 CMP R1, #5
ROM:1FFFD3DA ITTT EQ
ROM:1FFFD3DC LDREQB R1, [R0]
ROM:1FFFD3DE MOVEQ R2, #0x7F
ROM:1FFFD3E0 TSTEQ R1, R2
ROM:1FFFD3E2 BNE loc_1FFFD3F2
ROM:1FFFD3E4 LDRB R0, [R0,#3]
ROM:1FFFD3E6 BL sub_1FFFDC68
ROM:1FFFD3EA BL sub_1FFFCEA8
ROM:1FFFD3EE LDR R0, [R0,#0x20]
ROM:1FFFD3F0 BLX R0
ROM:1FFFD3F2
ROM:1FFFD3F2 loc_1FFFD3F2 ; CODE XREF: sub_1FFFD3B8+2Aj
ROM:1FFFD3F2 LDR R0, =0x20000C2C
ROM:1FFFD3F4 LDR R0, [R0]
ROM:1FFFD3F6 LDR R0, [R0,#8]
ROM:1FFFD3F8 BLX R0
ROM:1FFFD3FA
ROM:1FFFD3FA loc_1FFFD3FA ; CODE XREF: sub_1FFFD3B8+1Cj
ROM:1FFFD3FA MOVS R0, #8
ROM:1FFFD3FC
ROM:1FFFD3FC loc_1FFFD3FC ; CODE XREF: sub_1FFFD3B8+18j
ROM:1FFFD3FC LDR R1, [R4]
ROM:1FFFD3FE STRB R0, [R1,#8]
ROM:1FFFD400 POP.W {R4,LR}
ROM:1FFFD404 B sub_1FFFD438
ROM:1FFFD404 ; End of function sub_1FFFD3B8
ROM:1FFFD404
ROM:1FFFD406
ROM:1FFFD406 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD406
ROM:1FFFD406
ROM:1FFFD406 sub_1FFFD406 ; CODE XREF: sub_1FFFE430+78p
ROM:1FFFD406 PUSH {R3-R5,LR}
ROM:1FFFD408 BL sub_1FFFD3B2
ROM:1FFFD40C LDRB R5, [R0,#8]
ROM:1FFFD40E CMP R5, #3
ROM:1FFFD410 IT NE
ROM:1FFFD412 CMPNE R5, #5
ROM:1FFFD414 BNE loc_1FFFD420
ROM:1FFFD416 BL sub_1FFFCFF2
ROM:1FFFD41A LDR R0, [R4]
ROM:1FFFD41C LDRB R5, [R0,#8]
ROM:1FFFD41E B loc_1FFFD430
ROM:1FFFD420 ; ---------------------------------------------------------------------------
ROM:1FFFD420
ROM:1FFFD420 loc_1FFFD420 ; CODE XREF: sub_1FFFD406+Ej
ROM:1FFFD420 CMP R5, #7
ROM:1FFFD422 BNE loc_1FFFD42E
ROM:1FFFD424 LDR R0, =0x20000C2C
ROM:1FFFD426 LDR R0, [R0]
ROM:1FFFD428 LDR R0, [R0,#0xC]
ROM:1FFFD42A BLX R0
ROM:1FFFD42C B loc_1FFFD430
ROM:1FFFD42E ; ---------------------------------------------------------------------------
ROM:1FFFD42E
ROM:1FFFD42E loc_1FFFD42E ; CODE XREF: sub_1FFFD406+1Cj
ROM:1FFFD42E MOVS R5, #8
ROM:1FFFD430
ROM:1FFFD430 loc_1FFFD430 ; CODE XREF: sub_1FFFD406+18j
ROM:1FFFD430 ; sub_1FFFD406+26j
ROM:1FFFD430 LDR R0, [R4]
ROM:1FFFD432 STRB R5, [R0,#8]
ROM:1FFFD434
ROM:1FFFD434 loc_1FFFD434 ; CODE XREF: sub_1FFFD356:loc_1FFFD3B0j
ROM:1FFFD434 POP.W {R0,R4,R5,LR}
ROM:1FFFD434 ; End of function sub_1FFFD406
ROM:1FFFD434
ROM:1FFFD438
ROM:1FFFD438 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD438
ROM:1FFFD438
ROM:1FFFD438 sub_1FFFD438 ; CODE XREF: sub_1FFFD3B8+4Cp
ROM:1FFFD438 PUSH {R7,LR}
ROM:1FFFD43A LDR R0, =0x20000108
ROM:1FFFD43C LDRB.W R1, [R0,#0x2C]
ROM:1FFFD440 MOVS R0, #0
ROM:1FFFD442 BL nullsub_1
ROM:1FFFD446 LDR R0, =0x20000C28
ROM:1FFFD448 LDR R0, [R0]
ROM:1FFFD44A LDRB R1, [R0,#8]
ROM:1FFFD44C CMP R1, #8
ROM:1FFFD44E BNE loc_1FFFD45E
ROM:1FFFD450 LDR R1, =0x20000098
ROM:1FFFD452 MOV.W R2, #0x1000
ROM:1FFFD456 STRH R2, [R1]
ROM:1FFFD458 LDR R1, =0x2000009A
ROM:1FFFD45A MOVS R2, #0x10
ROM:1FFFD45C STRH R2, [R1]
ROM:1FFFD45E
ROM:1FFFD45E loc_1FFFD45E ; CODE XREF: sub_1FFFD438+16j
ROM:1FFFD45E LDRB R0, [R0,#8]
ROM:1FFFD460 CMP R0, #9
ROM:1FFFD462 BNE loc_1FFFD468
ROM:1FFFD464 MOVS R0, #1
ROM:1FFFD466 POP {R1,PC}
ROM:1FFFD468 ; ---------------------------------------------------------------------------
ROM:1FFFD468
ROM:1FFFD468 loc_1FFFD468 ; CODE XREF: sub_1FFFD438+2Aj
ROM:1FFFD468 MOVS R0, #0
ROM:1FFFD46A POP {R1,PC}
ROM:1FFFD46A ; End of function sub_1FFFD438
ROM:1FFFD46A
ROM:1FFFD46A ; ---------------------------------------------------------------------------
ROM:1FFFD46C dword_1FFFD46C DCD 0x20000C28 ; DATA XREF: ROM:1FFFCD7Ar
ROM:1FFFD46C ; sub_1FFFCD90+2r ...
ROM:1FFFD470 dword_1FFFD470 DCD 0x20000248 ; DATA XREF: sub_1FFFCD90+Ar
ROM:1FFFD470 ; sub_1FFFCEB0+40r ...
ROM:1FFFD474 dword_1FFFD474 DCD 0x20000C2C ; DATA XREF: sub_1FFFCDE4+Ar
ROM:1FFFD474 ; sub_1FFFD10E+B2r ...
ROM:1FFFD478 dword_1FFFD478 DCD 0x20000C60 ; DATA XREF: sub_1FFFCE28:loc_1FFFCE3Ar
ROM:1FFFD47C dword_1FFFD47C DCD 0x20000C30 ; DATA XREF: sub_1FFFCEA8r
ROM:1FFFD480 dword_1FFFD480 DCD 0x20000108 ; DATA XREF: sub_1FFFCEB0+7Cr
ROM:1FFFD480 ; sub_1FFFD438+2r
ROM:1FFFD484 dword_1FFFD484 DCD 0x2000009A ; DATA XREF: sub_1FFFCFF2:loc_1FFFD02Cr
ROM:1FFFD484 ; sub_1FFFD06E+Er ...
ROM:1FFFD488 dword_1FFFD488 DCD 0x20000098 ; DATA XREF: sub_1FFFCFF2+42r
ROM:1FFFD488 ; sub_1FFFD06E+84r ...
ROM:1FFFD48C dword_1FFFD48C DCD 0x20000C68 ; DATA XREF: sub_1FFFD06E+1Cr
ROM:1FFFD48C ; sub_1FFFD1D8+14Cr
ROM:1FFFD490 off_1FFFD490 DCD sub_1FFFCE28+1 ; DATA XREF: sub_1FFFD1D8:loc_1FFFD28Er
ROM:1FFFD494 dword_1FFFD494 DCD 0x1FFFCD79 ; DATA XREF: sub_1FFFD1D8+C6r
ROM:1FFFD498 off_1FFFD498 DCD sub_1FFFCDC2+1 ; DATA XREF: sub_1FFFD1D8+FAr
ROM:1FFFD49C dword_1FFFD49C DCD 0x20000C5C ; DATA XREF: sub_1FFFD356+8r
ROM:1FFFD4A0 ; ---------------------------------------------------------------------------
ROM:1FFFD4A0
ROM:1FFFD4A0 locret_1FFFD4A0 ; DATA XREF: ROM:1FFFEA78o
ROM:1FFFD4A0 ; ROM:1FFFEA7Co ...
ROM:1FFFD4A0 BX LR
ROM:1FFFD4A0 ; ---------------------------------------------------------------------------
ROM:1FFFD4A2 ALIGN 4
ROM:1FFFD4A4
ROM:1FFFD4A4 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD4A4
ROM:1FFFD4A4
ROM:1FFFD4A4 trigger_usb_start ; CODE XREF: enale_usb_trans+14p
ROM:1FFFD4A4 LDR R0, =0x20000C0C
ROM:1FFFD4A6 STR R0, [R0,#0x1C]
ROM:1FFFD4A8 MOVS R1, #2
ROM:1FFFD4AA STRB R1, [R0,#8]
ROM:1FFFD4AC LDR R1, =0x20000108 ; 0x20000108->0x1FFFEADC->0x1FFFC291
ROM:1FFFD4AE STR R1, [R0,#0x20]
ROM:1FFFD4B0 LDR R2, =0x200001D0
ROM:1FFFD4B2 STR R2, [R0,#0x24]
ROM:1FFFD4B4 LDR R0, [R1]
ROM:1FFFD4B6 BX R0
ROM:1FFFD4B6 ; End of function trigger_usb_start
ROM:1FFFD4B6
ROM:1FFFD4B6 ; ---------------------------------------------------------------------------
ROM:1FFFD4B8 dword_1FFFD4B8 DCD 0x20000C0C ; DATA XREF: trigger_usb_startr
ROM:1FFFD4BC dword_1FFFD4BC DCD 0x20000108 ; DATA XREF: trigger_usb_start+8r
ROM:1FFFD4C0 dword_1FFFD4C0 DCD 0x200001D0 ; DATA XREF: trigger_usb_start+Cr
ROM:1FFFD4C4
ROM:1FFFD4C4 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD4C4
ROM:1FFFD4C4
ROM:1FFFD4C4 delay_10us ; CODE XREF: sub_1FFFD4D2+12p
ROM:1FFFD4C4 ; sub_1FFFD5B0+26p ...
ROM:1FFFD4C4 MOVS R1, #0
ROM:1FFFD4C6 MOVS R2, #0xA
ROM:1FFFD4C8 MULS R0, R2
ROM:1FFFD4CA
ROM:1FFFD4CA loc_1FFFD4CA ; CODE XREF: delay_10us+Aj
ROM:1FFFD4CA ADDS R1, R1, #1
ROM:1FFFD4CC CMP R0, R1
ROM:1FFFD4CE BCS loc_1FFFD4CA
ROM:1FFFD4D0 BX LR
ROM:1FFFD4D0 ; End of function delay_10us
ROM:1FFFD4D0
ROM:1FFFD4D2
ROM:1FFFD4D2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD4D2
ROM:1FFFD4D2
ROM:1FFFD4D2 sub_1FFFD4D2 ; CODE XREF: sub_1FFFD5B0+14p
ROM:1FFFD4D2 PUSH {R4,LR}
ROM:1FFFD4D4 LDR.W R0, =0x20000B34
ROM:1FFFD4D8 LDR R4, [R0]
ROM:1FFFD4DA MOV.W R0, #0x90000
ROM:1FFFD4DE STR R0, [R4,#0x38]
ROM:1FFFD4E0 LDR.W R0, =0x30D40
ROM:1FFFD4E4 BL delay_10us
ROM:1FFFD4E8 LDR R0, [R4,#0xC]
ROM:1FFFD4EA BIC.W R0, R0, #0x10000
ROM:1FFFD4EE STR R0, [R4,#0xC]
ROM:1FFFD4F0 MOVS R0, #0
ROM:1FFFD4F2 POP {R4,PC}
ROM:1FFFD4F2 ; End of function sub_1FFFD4D2
ROM:1FFFD4F2
ROM:1FFFD4F4
ROM:1FFFD4F4 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD4F4
ROM:1FFFD4F4
ROM:1FFFD4F4 sub_1FFFD4F4 ; CODE XREF: sub_1FFFE578+3Cp
ROM:1FFFD4F4 PUSH {R4,LR}
ROM:1FFFD4F6 ADDS R2, R2, #3
ROM:1FFFD4F8 ASRS R3, R2, #1
ROM:1FFFD4FA ADD.W R2, R2, R3,LSR#30
ROM:1FFFD4FE LDR.W R3, =0x20000B34
ROM:1FFFD502 ADD.W R1, R3, R1,LSL#2
ROM:1FFFD506 LDR R1, [R1,#0x70]
ROM:1FFFD508 MOVS R3, #0
ROM:1FFFD50A B loc_1FFFD514
ROM:1FFFD50C ; ---------------------------------------------------------------------------
ROM:1FFFD50C
ROM:1FFFD50C loc_1FFFD50C ; CODE XREF: sub_1FFFD4F4+24j
ROM:1FFFD50C LDR.W R4, [R0],#4
ROM:1FFFD510 STR R4, [R1]
ROM:1FFFD512 ADDS R3, R3, #1
ROM:1FFFD514
ROM:1FFFD514 loc_1FFFD514 ; CODE XREF: sub_1FFFD4F4+16j
ROM:1FFFD514 CMP.W R3, R2,ASR#2
ROM:1FFFD518 BCC loc_1FFFD50C
ROM:1FFFD51A MOVS R0, #0
ROM:1FFFD51C POP {R4,PC}
ROM:1FFFD51C ; End of function sub_1FFFD4F4
ROM:1FFFD51C
ROM:1FFFD51E
ROM:1FFFD51E ; =============== S U B R O U T I N E =======================================
ROM:1FFFD51E
ROM:1FFFD51E
ROM:1FFFD51E sub_1FFFD51E ; CODE XREF: sub_1FFFE4B0+42p
ROM:1FFFD51E ; sub_1FFFE4B0+60p
ROM:1FFFD51E PUSH {R4,LR}
ROM:1FFFD520 ADDS R1, R1, #3
ROM:1FFFD522 ASRS R2, R1, #1
ROM:1FFFD524 ADD.W R1, R1, R2,LSR#30
ROM:1FFFD528 LDR.W R2, =0x20000B34
ROM:1FFFD52C LDR R2, [R2,#0x70]
ROM:1FFFD52E MOVS R3, #0
ROM:1FFFD530 B loc_1FFFD53A
ROM:1FFFD532 ; ---------------------------------------------------------------------------
ROM:1FFFD532
ROM:1FFFD532 loc_1FFFD532 ; CODE XREF: sub_1FFFD51E+20j
ROM:1FFFD532 LDR R4, [R2]
ROM:1FFFD534 STR.W R4, [R0],#4
ROM:1FFFD538 ADDS R3, R3, #1
ROM:1FFFD53A
ROM:1FFFD53A loc_1FFFD53A ; CODE XREF: sub_1FFFD51E+12j
ROM:1FFFD53A CMP.W R3, R1,ASR#2
ROM:1FFFD53E BCC loc_1FFFD532
ROM:1FFFD540 POP {R4,PC}
ROM:1FFFD540 ; End of function sub_1FFFD51E
ROM:1FFFD540
ROM:1FFFD542
ROM:1FFFD542 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD542
ROM:1FFFD542
ROM:1FFFD542 USB_OTG_SelectCore ; CODE XREF: usb_chuli+8p
ROM:1FFFD542 PUSH {R4,R5,LR}
ROM:1FFFD544 MOVS R2, #0
ROM:1FFFD546 LDR.W R1, =0x20000B34
ROM:1FFFD54A STR R0, [R1]
ROM:1FFFD54C ADD.W R3, R0, #0x800
ROM:1FFFD550 STR R3, [R1,#4]
ROM:1FFFD552
ROM:1FFFD552 loc_1FFFD552 ; CODE XREF: USB_OTG_SelectCore+28j
ROM:1FFFD552 ADD.W R3, R1, R2,LSL#2
ROM:1FFFD556 ADD.W R4, R0, R2,LSL#5
ROM:1FFFD55A ADD.W R5, R4, #0x900
ROM:1FFFD55E STR R5, [R3,#0xC]
ROM:1FFFD560 ADD.W R4, R4, #0xB00
ROM:1FFFD564 STR R4, [R3,#0x2C]
ROM:1FFFD566 ADDS R2, R2, #1
ROM:1FFFD568 CMP R2, #8
ROM:1FFFD56A BCC loc_1FFFD552
ROM:1FFFD56C ADD.W R2, R0, #0x400
ROM:1FFFD570 STR R2, [R1,#8]
ROM:1FFFD572 ADD.W R2, R0, #0x440
ROM:1FFFD576 STR R2, [R1,#0x6C]
ROM:1FFFD578 MOVS R2, #0
ROM:1FFFD57A
ROM:1FFFD57A loc_1FFFD57A ; CODE XREF: USB_OTG_SelectCore+4Aj
ROM:1FFFD57A ADD.W R3, R1, R2,LSL#2
ROM:1FFFD57E ADD.W R4, R0, R2,LSL#5
ROM:1FFFD582 ADD.W R4, R4, #0x500
ROM:1FFFD586 STR R4, [R3,#0x4C]
ROM:1FFFD588 ADDS R2, R2, #1
ROM:1FFFD58A CMP R2, #8
ROM:1FFFD58C BCC loc_1FFFD57A
ROM:1FFFD58E MOVS R2, #0
ROM:1FFFD590
ROM:1FFFD590 loc_1FFFD590 ; CODE XREF: USB_OTG_SelectCore+60j
ROM:1FFFD590 ADD.W R3, R1, R2,LSL#2
ROM:1FFFD594 ADD.W R4, R0, R2,LSL#12
ROM:1FFFD598 ADD.W R4, R4, #0x1000
ROM:1FFFD59C STR R4, [R3,#0x70]
ROM:1FFFD59E ADDS R2, R2, #1
ROM:1FFFD5A0 CMP R2, #8
ROM:1FFFD5A2 BCC loc_1FFFD590
ROM:1FFFD5A4 ADD.W R0, R0, #0xE00
ROM:1FFFD5A8 STR.W R0, [R1,#0x90]
ROM:1FFFD5AC MOVS R0, #0
ROM:1FFFD5AE POP {R4,R5,PC}
ROM:1FFFD5AE ; End of function USB_OTG_SelectCore
ROM:1FFFD5AE
ROM:1FFFD5B0
ROM:1FFFD5B0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD5B0
ROM:1FFFD5B0
ROM:1FFFD5B0 sub_1FFFD5B0 ; CODE XREF: usb_chuli+10p
ROM:1FFFD5B0 PUSH {R4,LR}
ROM:1FFFD5B2 LDR.W R4, =0x20000B34
ROM:1FFFD5B6 LDR R0, [R4]
ROM:1FFFD5B8 LDR R1, [R0,#0xC]
ROM:1FFFD5BA ORR.W R1, R1, #0x40
ROM:1FFFD5BE STR R1, [R0,#0xC]
ROM:1FFFD5C0 BL sub_1FFFD5DE
ROM:1FFFD5C4 BL sub_1FFFD4D2
ROM:1FFFD5C8 LDR R0, [R4]
ROM:1FFFD5CA LDR R1, [R0,#0xC]
ROM:1FFFD5CC ORR.W R1, R1, #0x40000000
ROM:1FFFD5D0 STR R1, [R0,#0xC]
ROM:1FFFD5D2 MOVW R0, #0xC350
ROM:1FFFD5D6 BL delay_10us
ROM:1FFFD5DA MOVS R0, #0
ROM:1FFFD5DC POP {R4,PC}
ROM:1FFFD5DC ; End of function sub_1FFFD5B0
ROM:1FFFD5DC
ROM:1FFFD5DE
ROM:1FFFD5DE ; =============== S U B R O U T I N E =======================================
ROM:1FFFD5DE
ROM:1FFFD5DE
ROM:1FFFD5DE sub_1FFFD5DE ; CODE XREF: sub_1FFFCAA0+10p
ROM:1FFFD5DE ; sub_1FFFD5B0+10p
ROM:1FFFD5DE
ROM:1FFFD5DE var_10 = -0x10
ROM:1FFFD5DE
ROM:1FFFD5DE PUSH {R3-R5,LR}
ROM:1FFFD5E0 MOVS R0, #0
ROM:1FFFD5E2 STR R0, [SP,#0x10+var_10]
ROM:1FFFD5E4 LDR.W R4, =0x30D41
ROM:1FFFD5E8 MOV R5, R4
ROM:1FFFD5EA
ROM:1FFFD5EA loc_1FFFD5EA ; CODE XREF: sub_1FFFD5DE+24j
ROM:1FFFD5EA MOVS R0, #3
ROM:1FFFD5EC BL delay_10us
ROM:1FFFD5F0 LDR.W R0, =0x20000B34
ROM:1FFFD5F4 LDR R0, [R0]
ROM:1FFFD5F6 LDR R1, [R0,#0x10]
ROM:1FFFD5F8 STR R1, [SP,#0x10+var_10]
ROM:1FFFD5FA SUBS R5, R5, #1
ROM:1FFFD5FC BEQ loc_1FFFD624
ROM:1FFFD5FE LDR R1, [SP,#0x10+var_10]
ROM:1FFFD600 CMP R1, #0
ROM:1FFFD602 BPL loc_1FFFD5EA
ROM:1FFFD604 LDR R1, [SP,#0x10+var_10]
ROM:1FFFD606 ORR.W R1, R1, #1
ROM:1FFFD60A STR R1, [SP,#0x10+var_10]
ROM:1FFFD60C LDR R1, [SP,#0x10+var_10]
ROM:1FFFD60E STR R1, [R0,#0x10]
ROM:1FFFD610
ROM:1FFFD610 loc_1FFFD610 ; CODE XREF: sub_1FFFD5DE+3Ej
ROM:1FFFD610 LDR R1, [R0,#0x10]
ROM:1FFFD612 STR R1, [SP,#0x10+var_10]
ROM:1FFFD614 SUBS R4, R4, #1
ROM:1FFFD616 BEQ loc_1FFFD61E
ROM:1FFFD618 LDR R1, [SP,#0x10+var_10]
ROM:1FFFD61A LSLS R1, R1, #0x1F
ROM:1FFFD61C BMI loc_1FFFD610
ROM:1FFFD61E
ROM:1FFFD61E loc_1FFFD61E ; CODE XREF: sub_1FFFD5DE+38j
ROM:1FFFD61E MOVS R0, #0xA
ROM:1FFFD620 BL delay_10us
ROM:1FFFD624
ROM:1FFFD624 loc_1FFFD624 ; CODE XREF: sub_1FFFD5DE+1Ej
ROM:1FFFD624 MOVS R0, #0
ROM:1FFFD626 POP {R1,R4,R5,PC}
ROM:1FFFD626 ; End of function sub_1FFFD5DE
ROM:1FFFD626
ROM:1FFFD628
ROM:1FFFD628 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD628
ROM:1FFFD628
ROM:1FFFD628 sub_1FFFD628 ; CODE XREF: usb_chuli+44p
ROM:1FFFD628 LDR.W R0, =0x20000B34
ROM:1FFFD62C LDR R0, [R0]
ROM:1FFFD62E LDR R1, [R0,#8]
ROM:1FFFD630 ORR.W R1, R1, #1
ROM:1FFFD634 B loc_1FFFD642
ROM:1FFFD634 ; End of function sub_1FFFD628
ROM:1FFFD634
ROM:1FFFD636
ROM:1FFFD636 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD636
ROM:1FFFD636
ROM:1FFFD636 sub_1FFFD636 ; CODE XREF: usb_chuli+Cp
ROM:1FFFD636 LDR.W R0, =0x20000B34
ROM:1FFFD63A LDR R0, [R0]
ROM:1FFFD63C LDR R1, [R0,#8]
ROM:1FFFD63E LSRS R1, R1, #1
ROM:1FFFD640 LSLS R1, R1, #1
ROM:1FFFD642
ROM:1FFFD642 loc_1FFFD642 ; CODE XREF: sub_1FFFD628+Cj
ROM:1FFFD642 STR R1, [R0,#8]
ROM:1FFFD644 MOVS R0, #0
ROM:1FFFD646 BX LR
ROM:1FFFD646 ; End of function sub_1FFFD636
ROM:1FFFD646
ROM:1FFFD648
ROM:1FFFD648 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD648
ROM:1FFFD648
ROM:1FFFD648 sub_1FFFD648 ; CODE XREF: sub_1FFFCAA0+8p
ROM:1FFFD648 ; sub_1FFFD6E2+58p ...
ROM:1FFFD648
ROM:1FFFD648 var_8 = -8
ROM:1FFFD648
ROM:1FFFD648 PUSH {R7,LR}
ROM:1FFFD64A MOVS R1, #0
ROM:1FFFD64C STR R1, [SP,#8+var_8]
ROM:1FFFD64E LDR R1, [SP,#8+var_8]
ROM:1FFFD650 ORR.W R1, R1, #0x20
ROM:1FFFD654 STR R1, [SP,#8+var_8]
ROM:1FFFD656 LDR R1, [SP,#8+var_8]
ROM:1FFFD658 BFI.W R1, R0, #6, #5
ROM:1FFFD65C STR R1, [SP,#8+var_8]
ROM:1FFFD65E BL sub_1FFFD69C
ROM:1FFFD662
ROM:1FFFD662 loc_1FFFD662 ; CODE XREF: sub_1FFFD648+26j
ROM:1FFFD662 LDR R2, [R0,#0x10]
ROM:1FFFD664 STR R2, [SP,#8+var_8]
ROM:1FFFD666 SUBS R1, R1, #1
ROM:1FFFD668 BEQ loc_1FFFD670
ROM:1FFFD66A LDR R2, [SP,#8+var_8]
ROM:1FFFD66C LSLS R2, R2, #0x1A
ROM:1FFFD66E BMI loc_1FFFD662
ROM:1FFFD670
ROM:1FFFD670 loc_1FFFD670 ; CODE XREF: sub_1FFFD648+20j
ROM:1FFFD670 B loc_1FFFD692
ROM:1FFFD670 ; End of function sub_1FFFD648
ROM:1FFFD670
ROM:1FFFD672
ROM:1FFFD672 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD672
ROM:1FFFD672
ROM:1FFFD672 sub_1FFFD672 ; CODE XREF: sub_1FFFCAA0+Cp
ROM:1FFFD672 ; sub_1FFFD6E2+5Cp
ROM:1FFFD672
ROM:1FFFD672 var_8 = -8
ROM:1FFFD672
ROM:1FFFD672 PUSH {R7,LR}
ROM:1FFFD674 MOVS R0, #0
ROM:1FFFD676 STR R0, [SP,#8+var_8]
ROM:1FFFD678 LDR R0, [SP,#8+var_8]
ROM:1FFFD67A ORR.W R0, R0, #0x10
ROM:1FFFD67E STR R0, [SP,#8+var_8]
ROM:1FFFD680 BL sub_1FFFD69C
ROM:1FFFD684
ROM:1FFFD684 loc_1FFFD684 ; CODE XREF: sub_1FFFD672+1Ej
ROM:1FFFD684 LDR R2, [R0,#0x10]
ROM:1FFFD686 STR R2, [SP,#8+var_8]
ROM:1FFFD688 SUBS R1, R1, #1
ROM:1FFFD68A BEQ loc_1FFFD692
ROM:1FFFD68C LDR R2, [SP,#8+var_8]
ROM:1FFFD68E LSLS R2, R2, #0x1B
ROM:1FFFD690 BMI loc_1FFFD684
ROM:1FFFD692
ROM:1FFFD692 loc_1FFFD692 ; CODE XREF: sub_1FFFD648:loc_1FFFD670j
ROM:1FFFD692 ; sub_1FFFD672+18j
ROM:1FFFD692 MOVS R0, #3
ROM:1FFFD694
ROM:1FFFD694 loc_1FFFD694 ; CODE XREF: sub_1FFFD6AC+14j
ROM:1FFFD694 BL delay_10us
ROM:1FFFD698 MOVS R0, #0
ROM:1FFFD69A POP {R1,PC}
ROM:1FFFD69A ; End of function sub_1FFFD672
ROM:1FFFD69A
ROM:1FFFD69C
ROM:1FFFD69C ; =============== S U B R O U T I N E =======================================
ROM:1FFFD69C
ROM:1FFFD69C
ROM:1FFFD69C sub_1FFFD69C ; CODE XREF: sub_1FFFD648+16p
ROM:1FFFD69C ; sub_1FFFD672+Ep
ROM:1FFFD69C
ROM:1FFFD69C arg_0 = 0
ROM:1FFFD69C
ROM:1FFFD69C LDR.W R0, =0x20000B34
ROM:1FFFD6A0 LDR R0, [R0]
ROM:1FFFD6A2 LDR R1, [SP,#arg_0]
ROM:1FFFD6A4 STR R1, [R0,#0x10]
ROM:1FFFD6A6 LDR.W R1, =0x30D41
ROM:1FFFD6AA BX LR
ROM:1FFFD6AA ; End of function sub_1FFFD69C
ROM:1FFFD6AA
ROM:1FFFD6AC
ROM:1FFFD6AC ; =============== S U B R O U T I N E =======================================
ROM:1FFFD6AC
ROM:1FFFD6AC
ROM:1FFFD6AC sub_1FFFD6AC ; CODE XREF: sub_1FFFCAA0+14p
ROM:1FFFD6AC PUSH {R7,LR}
ROM:1FFFD6AE LDR.W R0, =0x20000B34
ROM:1FFFD6B2 LDR R0, [R0]
ROM:1FFFD6B4 LDR R1, [R0,#0xC]
ROM:1FFFD6B6 BIC.W R1, R1, #0x60000000
ROM:1FFFD6BA STR R1, [R0,#0xC]
ROM:1FFFD6BC MOVW R0, #0xC350
ROM:1FFFD6C0 B loc_1FFFD694
ROM:1FFFD6C0 ; End of function sub_1FFFD6AC
ROM:1FFFD6C0
ROM:1FFFD6C2
ROM:1FFFD6C2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD6C2
ROM:1FFFD6C2
ROM:1FFFD6C2 sub_1FFFD6C2 ; CODE XREF: ROM:1FFFE288p
ROM:1FFFD6C2 LDR.W R0, =0x20000B34
ROM:1FFFD6C6 LDR R0, [R0]
ROM:1FFFD6C8 LDR R0, [R0,#0x14]
ROM:1FFFD6CA AND.W R0, R0, #1
ROM:1FFFD6CE EOR.W R0, R0, #1
ROM:1FFFD6D2 BX LR
ROM:1FFFD6D2 ; End of function sub_1FFFD6C2
ROM:1FFFD6D2
ROM:1FFFD6D4
ROM:1FFFD6D4 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD6D4
ROM:1FFFD6D4
ROM:1FFFD6D4 sub_1FFFD6D4 ; CODE XREF: ROM:1FFFE290p
ROM:1FFFD6D4 LDR.W R0, =0x20000B34
ROM:1FFFD6D8 LDR R0, [R0]
ROM:1FFFD6DA LDR R1, [R0,#0x14]
ROM:1FFFD6DC LDR R0, [R0,#0x18]
ROM:1FFFD6DE ANDS R0, R1
ROM:1FFFD6E0 BX LR
ROM:1FFFD6E0 ; End of function sub_1FFFD6D4
ROM:1FFFD6E0
ROM:1FFFD6E2
ROM:1FFFD6E2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD6E2
ROM:1FFFD6E2
ROM:1FFFD6E2 sub_1FFFD6E2 ; CODE XREF: usb_chuli+14p
ROM:1FFFD6E2 PUSH {R4-R6,LR}
ROM:1FFFD6E4 LDR.W R4, =0x20000B34
ROM:1FFFD6E8 LDR R0, [R4,#4]
ROM:1FFFD6EA LDR R1, [R0]
ROM:1FFFD6EC ORR.W R1, R1, #3
ROM:1FFFD6F0 STR R1, [R0]
ROM:1FFFD6F2 LDR.W R0, [R4,#0x90]
ROM:1FFFD6F6 MOVS R1, #0
ROM:1FFFD6F8 STR R1, [R0]
ROM:1FFFD6FA LDR R0, [R4,#4]
ROM:1FFFD6FC LDR R1, [R0]
ROM:1FFFD6FE BIC.W R1, R1, #0x1800
ROM:1FFFD702 STR R1, [R0]
ROM:1FFFD704 LDR R0, [R4]
ROM:1FFFD706 MOVS R1, #0xA0
ROM:1FFFD708 STR R1, [R0,#0x24]
ROM:1FFFD70A LDR R0, [R4]
ROM:1FFFD70C MOV.W R1, #0xA000A0
ROM:1FFFD710 STR R1, [R0,#0x28]
ROM:1FFFD712 MOV.W R0, #0x140
ROM:1FFFD716 MOVS R1, #1
ROM:1FFFD718
ROM:1FFFD718 loc_1FFFD718 ; CODE XREF: sub_1FFFD6E2+54j
ROM:1FFFD718 UXTH R0, R0
ROM:1FFFD71A ORR.W R0, R0, #0xA00000
ROM:1FFFD71E LDR R2, [R4]
ROM:1FFFD720 ADD.W R2, R2, R1,LSL#2
ROM:1FFFD724 STR.W R0, [R2,#0x100]
ROM:1FFFD728 ADD.W R0, R0, R0,LSR#16
ROM:1FFFD72C UXTH R0, R0
ROM:1FFFD72E ORR.W R0, R0, #0xA00000
ROM:1FFFD732 ADDS R1, R1, #1
ROM:1FFFD734 CMP R1, #4
ROM:1FFFD736 BCC loc_1FFFD718
ROM:1FFFD738 MOVS R0, #0x10
ROM:1FFFD73A BL sub_1FFFD648
ROM:1FFFD73E BL sub_1FFFD672
ROM:1FFFD742 LDR R0, [R4,#4]
ROM:1FFFD744 MOVS R1, #0
ROM:1FFFD746 STR R1, [R0,#0x10]
ROM:1FFFD748 LDR R0, [R4,#4]
ROM:1FFFD74A STR R1, [R0,#0x14]
ROM:1FFFD74C LDR R0, [R4,#4]
ROM:1FFFD74E MOV.W R1, #0xFFFFFFFF
ROM:1FFFD752 STR R1, [R0,#0x18]
ROM:1FFFD754 LDR R0, [R4,#4]
ROM:1FFFD756 MOVS R1, #0
ROM:1FFFD758 STR R1, [R0,#0x1C]
ROM:1FFFD75A MOVS R2, #0
ROM:1FFFD75C MOVS R0, #0xFF
ROM:1FFFD75E MOV.W R1, #0x48000000
ROM:1FFFD762
ROM:1FFFD762 loc_1FFFD762 ; CODE XREF: sub_1FFFD6E2+A0j
ROM:1FFFD762 ADD.W R3, R4, R2,LSL#2
ROM:1FFFD766 LDR R5, [R3,#0xC]
ROM:1FFFD768 LDR R6, [R5]
ROM:1FFFD76A CMP R6, #0
ROM:1FFFD76C ITE MI
ROM:1FFFD76E MOVMI R6, R1
ROM:1FFFD770 MOVPL R6, #0
ROM:1FFFD772 STR R6, [R5]
ROM:1FFFD774 LDR R5, [R3,#0xC]
ROM:1FFFD776 MOVS R6, #0
ROM:1FFFD778 STR R6, [R5,#0x10]
ROM:1FFFD77A LDR R3, [R3,#0xC]
ROM:1FFFD77C STR R0, [R3,#8]
ROM:1FFFD77E ADDS R2, R2, #1
ROM:1FFFD780 CMP R2, #5
ROM:1FFFD782 BCC loc_1FFFD762
ROM:1FFFD784 LDR R2, [R4,#0x2C]
ROM:1FFFD786 LDR R3, [R2]
ROM:1FFFD788 CMP R3, #0
ROM:1FFFD78A IT PL
ROM:1FFFD78C MOVPL R1, #0
ROM:1FFFD78E STR R1, [R2]
ROM:1FFFD790 LDR R1, [R4,#0x2C]
ROM:1FFFD792 STR R6, [R1,#0x10]
ROM:1FFFD794 LDR R1, [R4,#0x2C]
ROM:1FFFD796 STR R0, [R1,#8]
ROM:1FFFD798 BL sub_1FFFD7AC
ROM:1FFFD79C LDR R0, [R4,#4]
ROM:1FFFD79E LDR R1, [R0,#0x10]
ROM:1FFFD7A0 MOV.W R2, #0x100
ROM:1FFFD7A4 ORRS R1, R2
ROM:1FFFD7A6 STR R1, [R0,#0x10]
ROM:1FFFD7A8 MOVS R0, #0
ROM:1FFFD7AA POP {R4-R6,PC}
ROM:1FFFD7AA ; End of function sub_1FFFD6E2
ROM:1FFFD7AA
ROM:1FFFD7AC
ROM:1FFFD7AC ; =============== S U B R O U T I N E =======================================
ROM:1FFFD7AC
ROM:1FFFD7AC
ROM:1FFFD7AC sub_1FFFD7AC ; CODE XREF: sub_1FFFD6E2+B6p
ROM:1FFFD7AC LDR.W R0, =0x20000B34
ROM:1FFFD7B0 LDR R0, [R0]
ROM:1FFFD7B2 MOVS R1, #0
ROM:1FFFD7B4 STR R1, [R0,#0x18]
ROM:1FFFD7B6 MOV.W R1, #0xFFFFFFFF
ROM:1FFFD7BA STR R1, [R0,#0x14]
ROM:1FFFD7BC STR R1, [R0,#4]
ROM:1FFFD7BE STR R1, [R0,#0x14]
ROM:1FFFD7C0 MOV.W R1, #0x208
ROM:1FFFD7C4 STR R1, [R0,#0x18]
ROM:1FFFD7C6 LDR R1, [R0,#0x18]
ROM:1FFFD7C8 ORR.W R1, R1, #0xC3000
ROM:1FFFD7CC ORR.W R1, R1, #0x10
ROM:1FFFD7D0 STR R1, [R0,#0x18]
ROM:1FFFD7D2 MOVS R0, #0
ROM:1FFFD7D4 BX LR
ROM:1FFFD7D4 ; End of function sub_1FFFD7AC
ROM:1FFFD7D4
ROM:1FFFD7D6
ROM:1FFFD7D6 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD7D6
ROM:1FFFD7D6
ROM:1FFFD7D6 sub_1FFFD7D6 ; CODE XREF: ROM:1FFFE2C2p
ROM:1FFFD7D6 PUSH {R4,LR}
ROM:1FFFD7D8 LDR.W R0, =0x20000B34
ROM:1FFFD7DC LDR R1, [R0,#4]
ROM:1FFFD7DE LDR R2, [R1,#8]
ROM:1FFFD7E0 LDR R0, [R0,#0xC]
ROM:1FFFD7E2 LDR R3, [R0]
ROM:1FFFD7E4 LSRS R4, R3, #0xB
ROM:1FFFD7E6 LSLS R4, R4, #0xB
ROM:1FFFD7E8 LSRS R2, R2, #1
ROM:1FFFD7EA ANDS.W R2, R2, #3
ROM:1FFFD7EE BEQ loc_1FFFD7FA
ROM:1FFFD7F0 CMP R2, #2
ROM:1FFFD7F2 BEQ loc_1FFFD7FE
ROM:1FFFD7F4 BCC loc_1FFFD7FA
ROM:1FFFD7F6 CMP R2, #3
ROM:1FFFD7F8 BNE loc_1FFFD802
ROM:1FFFD7FA
ROM:1FFFD7FA loc_1FFFD7FA ; CODE XREF: sub_1FFFD7D6+18j
ROM:1FFFD7FA ; sub_1FFFD7D6+1Ej
ROM:1FFFD7FA MOV R3, R4
ROM:1FFFD7FC B loc_1FFFD802
ROM:1FFFD7FE ; ---------------------------------------------------------------------------
ROM:1FFFD7FE
ROM:1FFFD7FE loc_1FFFD7FE ; CODE XREF: sub_1FFFD7D6+1Cj
ROM:1FFFD7FE ORR.W R3, R4, #3
ROM:1FFFD802
ROM:1FFFD802 loc_1FFFD802 ; CODE XREF: sub_1FFFD7D6+22j
ROM:1FFFD802 ; sub_1FFFD7D6+26j
ROM:1FFFD802 STR R3, [R0]
ROM:1FFFD804 LDR R0, [R1,#4]
ROM:1FFFD806 MOV.W R2, #0x100
ROM:1FFFD80A ORRS R0, R2
ROM:1FFFD80C STR R0, [R1,#4]
ROM:1FFFD80E MOVS R0, #0
ROM:1FFFD810 POP {R4,PC}
ROM:1FFFD810 ; End of function sub_1FFFD7D6
ROM:1FFFD810
ROM:1FFFD812
ROM:1FFFD812 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD812
ROM:1FFFD812
ROM:1FFFD812 sub_1FFFD812 ; CODE XREF: sub_1FFFDBB4+48p
ROM:1FFFD812 PUSH {R4,R5,LR}
ROM:1FFFD814 LDR.W R1, =0x20000B34
ROM:1FFFD818 LDRB R2, [R0,#1]
ROM:1FFFD81A CMP R2, #1
ROM:1FFFD81C LDRB R3, [R0]
ROM:1FFFD81E ADD.W R2, R1, R3,LSL#2
ROM:1FFFD822 BNE loc_1FFFD830
ROM:1FFFD824 LDR R2, [R2,#0xC]
ROM:1FFFD826 MOVS R4, #1
ROM:1FFFD828 LSL.W R3, R4, R3
ROM:1FFFD82C UXTH R3, R3
ROM:1FFFD82E B loc_1FFFD83A
ROM:1FFFD830 ; ---------------------------------------------------------------------------
ROM:1FFFD830
ROM:1FFFD830 loc_1FFFD830 ; CODE XREF: sub_1FFFD812+10j
ROM:1FFFD830 LDR R2, [R2,#0x2C]
ROM:1FFFD832 MOVS R4, #1
ROM:1FFFD834 LSL.W R3, R4, R3
ROM:1FFFD838 LSLS R3, R3, #0x10
ROM:1FFFD83A
ROM:1FFFD83A loc_1FFFD83A ; CODE XREF: sub_1FFFD812+1Cj
ROM:1FFFD83A LDR R4, [R2]
ROM:1FFFD83C LSLS R5, R4, #0x10
ROM:1FFFD83E BMI loc_1FFFD86A
ROM:1FFFD840 LDR R5, =0xFC33F800
ROM:1FFFD842 ANDS R4, R5
ROM:1FFFD844 LDR R5, [R0,#0x10]
ROM:1FFFD846 LSLS R5, R5, #0x15
ROM:1FFFD848 ORRS.W R4, R4, R5,LSR#21
ROM:1FFFD84C LDR R5, [R0,#8]
ROM:1FFFD84E LSLS R5, R5, #0x12
ROM:1FFFD850 AND.W R5, R5, #0xC0000
ROM:1FFFD854 ORRS R4, R5
ROM:1FFFD856 LDR R0, [R0,#4]
ROM:1FFFD858 LSLS R0, R0, #0x16
ROM:1FFFD85A AND.W R0, R0, #0x3C00000
ROM:1FFFD85E ORRS R0, R4
ROM:1FFFD860 ORR.W R0, R0, #0x10000000
ROM:1FFFD864 ORR.W R0, R0, #0x8000
ROM:1FFFD868 STR R0, [R2]
ROM:1FFFD86A
ROM:1FFFD86A loc_1FFFD86A ; CODE XREF: sub_1FFFD812+2Cj
ROM:1FFFD86A LDR R0, [R1,#4]
ROM:1FFFD86C LDR R1, [R0,#0x1C]
ROM:1FFFD86E ORRS R1, R3
ROM:1FFFD870 STR R1, [R0,#0x1C]
ROM:1FFFD872 MOVS R0, #0
ROM:1FFFD874 POP {R4,R5,PC}
ROM:1FFFD874 ; End of function sub_1FFFD812
ROM:1FFFD874
ROM:1FFFD876
ROM:1FFFD876 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD876
ROM:1FFFD876
ROM:1FFFD876 sub_1FFFD876 ; CODE XREF: sub_1FFFDC04+50p
ROM:1FFFD876 PUSH {R4-R7,LR}
ROM:1FFFD878 LDR R1, =0x20000B34
ROM:1FFFD87A LDRB R2, [R0]
ROM:1FFFD87C ADD.W R2, R1, R2,LSL#2
ROM:1FFFD880 LDR R4, [R0,#0x18]
ROM:1FFFD882 LDRB R3, [R0,#1]
ROM:1FFFD884 CMP R3, #1
ROM:1FFFD886 BNE loc_1FFFD8F2
ROM:1FFFD888 LDR R5, [R2,#0xC]
ROM:1FFFD88A LDR R2, [R5]
ROM:1FFFD88C LDR R3, [R5,#0x10]
ROM:1FFFD88E CBNZ R4, loc_1FFFD89A
ROM:1FFFD890 AND.W R3, R3, #0xE0000000
ROM:1FFFD894 ORR.W R3, R3, #0x80000
ROM:1FFFD898 B loc_1FFFD8B0
ROM:1FFFD89A ; ---------------------------------------------------------------------------
ROM:1FFFD89A
ROM:1FFFD89A loc_1FFFD89A ; CODE XREF: sub_1FFFD876+18j
ROM:1FFFD89A LDR R6, [R0,#0x10]
ROM:1FFFD89C ADDS R7, R6, R4
ROM:1FFFD89E SUBS R7, R7, #1
ROM:1FFFD8A0 UDIV.W R6, R7, R6
ROM:1FFFD8A4 LSLS R4, R4, #0xD
ROM:1FFFD8A6 LSRS R4, R4, #0xD
ROM:1FFFD8A8 ORR.W R4, R4, R6,LSL#19
ROM:1FFFD8AC BFI.W R3, R4, #0, #0x1D
ROM:1FFFD8B0
ROM:1FFFD8B0 loc_1FFFD8B0 ; CODE XREF: sub_1FFFD876+22j
ROM:1FFFD8B0 STR R3, [R5,#0x10]
ROM:1FFFD8B2 LDR R3, [R0,#8]
ROM:1FFFD8B4 CMP R3, #1
ROM:1FFFD8B6 ITT NE
ROM:1FFFD8B8 LDRNE R3, [R0,#0x18]
ROM:1FFFD8BA CMPNE R3, #0
ROM:1FFFD8BC BEQ loc_1FFFD8CE
ROM:1FFFD8BE LDR R3, [R1,#4]
ROM:1FFFD8C0 LDR R4, [R3,#0x34]
ROM:1FFFD8C2 MOVS R5, #1
ROM:1FFFD8C4 LDRSB.W R6, [R0]
ROM:1FFFD8C8 LSLS R5, R6
ROM:1FFFD8CA ORRS R4, R5
ROM:1FFFD8CC STR R4, [R3,#0x34]
ROM:1FFFD8CE
ROM:1FFFD8CE loc_1FFFD8CE ; CODE XREF: sub_1FFFD876+46j
ROM:1FFFD8CE LDRB R3, [R0]
ROM:1FFFD8D0 ADD.W R3, R1, R3,LSL#2
ROM:1FFFD8D4 LDR R3, [R3,#0xC]
ROM:1FFFD8D6 ORR.W R2, R2, #0x84000000
ROM:1FFFD8DA STR R2, [R3]
ROM:1FFFD8DC LDR R1, [R1,#0xC]
ROM:1FFFD8DE LDR R2, [R1]
ROM:1FFFD8E0 BIC.W R2, R2, #0x7800
ROM:1FFFD8E4 LDRB R0, [R0]
ROM:1FFFD8E6 LSLS R0, R0, #0xB
ROM:1FFFD8E8 AND.W R0, R0, #0x7800
ROM:1FFFD8EC ORRS R0, R2
ROM:1FFFD8EE STR R0, [R1]
ROM:1FFFD8F0 B loc_1FFFD944
ROM:1FFFD8F2 ; ---------------------------------------------------------------------------
ROM:1FFFD8F2
ROM:1FFFD8F2 loc_1FFFD8F2 ; CODE XREF: sub_1FFFD876+10j
ROM:1FFFD8F2 LDR R5, [R2,#0x2C]
ROM:1FFFD8F4 LDR R2, [R5]
ROM:1FFFD8F6 LDR R3, [R5,#0x10]
ROM:1FFFD8F8 LDR R6, [R0,#0x10]
ROM:1FFFD8FA CBNZ R4, loc_1FFFD90A
ROM:1FFFD8FC LSLS R4, R6, #0xD
ROM:1FFFD8FE LSRS R4, R4, #0xD
ROM:1FFFD900 ORR.W R4, R4, #0x80000
ROM:1FFFD904 BFI.W R3, R4, #0, #0x1D
ROM:1FFFD908 B loc_1FFFD920
ROM:1FFFD90A ; ---------------------------------------------------------------------------
ROM:1FFFD90A
ROM:1FFFD90A loc_1FFFD90A ; CODE XREF: sub_1FFFD876+84j
ROM:1FFFD90A ADDS R4, R6, R4
ROM:1FFFD90C SUBS R4, R4, #1
ROM:1FFFD90E UDIV.W R4, R4, R6
ROM:1FFFD912 BFI.W R3, R4, #0x13, #0xA
ROM:1FFFD916 UBFX.W R4, R3, #0x13, #0xA
ROM:1FFFD91A MULS R4, R6
ROM:1FFFD91C BFI.W R3, R4, #0, #0x13
ROM:1FFFD920
ROM:1FFFD920 loc_1FFFD920 ; CODE XREF: sub_1FFFD876+92j
ROM:1FFFD920 STR R3, [R5,#0x10]
ROM:1FFFD922 LDR R3, [R0,#8]
ROM:1FFFD924 CMP R3, #1
ROM:1FFFD926 BNE loc_1FFFD936
ROM:1FFFD928 LDRB R3, [R0,#0xD]
ROM:1FFFD92A CMP R3, #0
ROM:1FFFD92C ITE NE
ROM:1FFFD92E ORRNE.W R2, R2, #0x20000000
ROM:1FFFD932 ORREQ.W R2, R2, #0x10000000
ROM:1FFFD936
ROM:1FFFD936 loc_1FFFD936 ; CODE XREF: sub_1FFFD876+B0j
ROM:1FFFD936 LDRB R0, [R0]
ROM:1FFFD938 ADD.W R0, R1, R0,LSL#2
ROM:1FFFD93C LDR R0, [R0,#0x2C]
ROM:1FFFD93E ORR.W R1, R2, #0x84000000
ROM:1FFFD942 STR R1, [R0]
ROM:1FFFD944
ROM:1FFFD944 loc_1FFFD944 ; CODE XREF: sub_1FFFD876+7Aj
ROM:1FFFD944 MOVS R0, #0
ROM:1FFFD946 POP {R4-R7,PC}
ROM:1FFFD946 ; End of function sub_1FFFD876
ROM:1FFFD946
ROM:1FFFD948
ROM:1FFFD948 ; =============== S U B R O U T I N E =======================================
ROM:1FFFD948
ROM:1FFFD948
ROM:1FFFD948 sub_1FFFD948 ; CODE XREF: sub_1FFFD356+Ep
ROM:1FFFD948 ; sub_1FFFDC04+42p
ROM:1FFFD948
ROM:1FFFD948 var_18 = -0x18
ROM:1FFFD948
ROM:1FFFD948 PUSH {R2-R6,LR}
ROM:1FFFD94A LDR R4, [R0,#0x18]
ROM:1FFFD94C LDR R1, =0x20000B34
ROM:1FFFD94E LDRB R2, [R0,#1]
ROM:1FFFD950 CMP R2, #1
ROM:1FFFD952 BNE loc_1FFFD9AA
ROM:1FFFD954 LDR R3, [R1,#0xC]
ROM:1FFFD956 LDR R2, [R3]
ROM:1FFFD958 LDR R5, [R3,#0x10]
ROM:1FFFD95A STR R5, [SP,#0x18+var_18]
ROM:1FFFD95C CBNZ R4, loc_1FFFD966
ROM:1FFFD95E LSRS R4, R5, #7
ROM:1FFFD960 LSLS R4, R4, #7
ROM:1FFFD962 STR R4, [SP,#0x18+var_18]
ROM:1FFFD964 B loc_1FFFD982
ROM:1FFFD966 ; ---------------------------------------------------------------------------
ROM:1FFFD966
ROM:1FFFD966 loc_1FFFD966 ; CODE XREF: sub_1FFFD948+14j
ROM:1FFFD966 LDR R5, [R0,#0x10]
ROM:1FFFD968 CMP R5, R4
ROM:1FFFD96A BCS loc_1FFFD978
ROM:1FFFD96C STR R5, [R0,#0x18]
ROM:1FFFD96E LDR R4, [SP,#0x18+var_18]
ROM:1FFFD970 BFI.W R4, R5, #0, #7
ROM:1FFFD974 STR R4, [SP,#0x18+var_18]
ROM:1FFFD976 B loc_1FFFD980
ROM:1FFFD978 ; ---------------------------------------------------------------------------
ROM:1FFFD978
ROM:1FFFD978 loc_1FFFD978 ; CODE XREF: sub_1FFFD948+22j
ROM:1FFFD978 LDR R5, [SP,#0x18+var_18]
ROM:1FFFD97A BFI.W R5, R4, #0, #7
ROM:1FFFD97E STR R5, [SP,#0x18+var_18]
ROM:1FFFD980
ROM:1FFFD980 loc_1FFFD980 ; CODE XREF: sub_1FFFD948+2Ej
ROM:1FFFD980 LDR R4, [SP,#0x18+var_18]
ROM:1FFFD982
ROM:1FFFD982 loc_1FFFD982 ; CODE XREF: sub_1FFFD948+1Cj
ROM:1FFFD982 ORR.W R4, R4, #0x80000
ROM:1FFFD986 STR R4, [SP,#0x18+var_18]
ROM:1FFFD988 LDR R4, [SP,#0x18+var_18]
ROM:1FFFD98A STR R4, [R3,#0x10]
ROM:1FFFD98C ORR.W R2, R2, #0x84000000
ROM:1FFFD990 STR R2, [R3]
ROM:1FFFD992 LDR R2, [R0,#0x18]
ROM:1FFFD994 CBZ R2, loc_1FFFD9FE
ROM:1FFFD996 LDR R1, [R1,#4]
ROM:1FFFD998 LDR R2, [R1,#0x34]
ROM:1FFFD99A MOVS R3, #1
ROM:1FFFD99C LDRSB.W R0, [R0]
ROM:1FFFD9A0 LSL.W R0, R3, R0
ROM:1FFFD9A4 ORRS R0, R2
ROM:1FFFD9A6 STR R0, [R1,#0x34]
ROM:1FFFD9A8 B loc_1FFFD9FE
ROM:1FFFD9AA ; ---------------------------------------------------------------------------
ROM:1FFFD9AA
ROM:1FFFD9AA loc_1FFFD9AA ; CODE XREF: sub_1FFFD948+Aj
ROM:1FFFD9AA LDRB R2, [R0]
ROM:1FFFD9AC ADD.W R2, R1, R2,LSL#2
ROM:1FFFD9B0 LDR R3, [R2,#0x2C]
ROM:1FFFD9B2 LDR R2, [R3]
ROM:1FFFD9B4 LDR R5, [R3,#0x10]
ROM:1FFFD9B6 STR R5, [SP,#0x18+var_18]
ROM:1FFFD9B8 LDR R5, [R0,#0x10]
ROM:1FFFD9BA CBNZ R4, loc_1FFFD9CC
ROM:1FFFD9BC LDR R4, [SP,#0x18+var_18]
ROM:1FFFD9BE BFI.W R4, R5, #0, #7
ROM:1FFFD9C2 STR R4, [SP,#0x18+var_18]
ROM:1FFFD9C4 ORR.W R4, R4, #0x80000
ROM:1FFFD9C8 STR R4, [SP,#0x18+var_18]
ROM:1FFFD9CA B loc_1FFFD9EC
ROM:1FFFD9CC ; ---------------------------------------------------------------------------
ROM:1FFFD9CC
ROM:1FFFD9CC loc_1FFFD9CC ; CODE XREF: sub_1FFFD948+72j
ROM:1FFFD9CC ADDS R4, R5, R4
ROM:1FFFD9CE SUBS R4, R4, #1
ROM:1FFFD9D0 UDIV.W R4, R4, R5
ROM:1FFFD9D4 LDR R6, [SP,#0x18+var_18]
ROM:1FFFD9D6 BFI.W R6, R4, #0x13, #1
ROM:1FFFD9DA STR R6, [SP,#0x18+var_18]
ROM:1FFFD9DC LDR R4, [SP,#0x18+var_18]
ROM:1FFFD9DE UBFX.W R4, R4, #0x13, #1
ROM:1FFFD9E2 MULS R4, R5
ROM:1FFFD9E4 LDR R5, [SP,#0x18+var_18]
ROM:1FFFD9E6 BFI.W R5, R4, #0, #7
ROM:1FFFD9EA STR R5, [SP,#0x18+var_18]
ROM:1FFFD9EC
ROM:1FFFD9EC loc_1FFFD9EC ; CODE XREF: sub_1FFFD948+82j
ROM:1FFFD9EC LDR R4, [SP,#0x18+var_18]
ROM:1FFFD9EE STR R4, [R3,#0x10]
ROM:1FFFD9F0 LDRB R0, [R0]
ROM:1FFFD9F2 ADD.W R0, R1, R0,LSL#2
ROM:1FFFD9F6 LDR R0, [R0,#0x2C]
ROM:1FFFD9F8 ORR.W R1, R2, #0x84000000
ROM:1FFFD9FC STR R1, [R0]
ROM:1FFFD9FE
ROM:1FFFD9FE loc_1FFFD9FE ; CODE XREF: sub_1FFFD948+4Cj
ROM:1FFFD9FE ; sub_1FFFD948+60j
ROM:1FFFD9FE MOVS R0, #0
ROM:1FFFDA00 POP {R1,R2,R4-R6,PC}
ROM:1FFFDA00 ; End of function sub_1FFFD948
ROM:1FFFDA00
ROM:1FFFDA02
ROM:1FFFDA02 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDA02
ROM:1FFFDA02
ROM:1FFFDA02 sub_1FFFDA02 ; CODE XREF: sub_1FFFDAB8+24p
ROM:1FFFDA02 LDRB R1, [R0,#1]
ROM:1FFFDA04 CMP R1, #1
ROM:1FFFDA06 LDRB R0, [R0]
ROM:1FFFDA08 LDR R1, =0x20000B34
ROM:1FFFDA0A ADD.W R0, R1, R0,LSL#2
ROM:1FFFDA0E BNE loc_1FFFDA1E
ROM:1FFFDA10 LDR R0, [R0,#0xC]
ROM:1FFFDA12 LDR R1, [R0]
ROM:1FFFDA14 CMP R1, #0
ROM:1FFFDA16 BPL loc_1FFFDA22
ROM:1FFFDA18 ORR.W R1, R1, #0x40000000
ROM:1FFFDA1C B loc_1FFFDA22
ROM:1FFFDA1E ; ---------------------------------------------------------------------------
ROM:1FFFDA1E
ROM:1FFFDA1E loc_1FFFDA1E ; CODE XREF: sub_1FFFDA02+Cj
ROM:1FFFDA1E LDR R0, [R0,#0x2C]
ROM:1FFFDA20 LDR R1, [R0]
ROM:1FFFDA22
ROM:1FFFDA22 loc_1FFFDA22 ; CODE XREF: sub_1FFFDA02+14j
ROM:1FFFDA22 ; sub_1FFFDA02+1Aj
ROM:1FFFDA22 ORR.W R1, R1, #0x200000
ROM:1FFFDA26 STR R1, [R0]
ROM:1FFFDA28 MOVS R0, #0
ROM:1FFFDA2A BX LR
ROM:1FFFDA2A ; End of function sub_1FFFDA02
ROM:1FFFDA2A
ROM:1FFFDA2C
ROM:1FFFDA2C ; =============== S U B R O U T I N E =======================================
ROM:1FFFDA2C
ROM:1FFFDA2C
ROM:1FFFDA2C sub_1FFFDA2C ; CODE XREF: sub_1FFFDAB8+58p
ROM:1FFFDA2C LDRB R1, [R0,#1]
ROM:1FFFDA2E CMP R1, #1
ROM:1FFFDA30 LDRB R1, [R0]
ROM:1FFFDA32 LDR R2, =0x20000B34
ROM:1FFFDA34 ADD.W R1, R2, R1,LSL#2
ROM:1FFFDA38 ITE EQ
ROM:1FFFDA3A LDREQ R1, [R1,#0xC]
ROM:1FFFDA3C LDRNE R1, [R1,#0x2C]
ROM:1FFFDA3E LDR R2, [R1]
ROM:1FFFDA40 BIC.W R2, R2, #0x200000
ROM:1FFFDA44 LDR R0, [R0,#8]
ROM:1FFFDA46 CMP R0, #3
ROM:1FFFDA48 ITE NE
ROM:1FFFDA4A CMPNE R0, #2
ROM:1FFFDA4C ORREQ.W R2, R2, #0x10000000
ROM:1FFFDA50 STR R2, [R1]
ROM:1FFFDA52 MOVS R0, #0
ROM:1FFFDA54 BX LR
ROM:1FFFDA54 ; End of function sub_1FFFDA2C
ROM:1FFFDA54
ROM:1FFFDA56
ROM:1FFFDA56 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDA56
ROM:1FFFDA56
ROM:1FFFDA56 sub_1FFFDA56 ; CODE XREF: sub_1FFFE430+6p
ROM:1FFFDA56 LDR R0, =0x20000B34
ROM:1FFFDA58 LDR R0, [R0,#4]
ROM:1FFFDA5A LDR R1, [R0,#0x18]
ROM:1FFFDA5C LDR R0, [R0,#0x1C]
ROM:1FFFDA5E ANDS R0, R1
ROM:1FFFDA60 LSRS R0, R0, #0x10
ROM:1FFFDA62 BX LR
ROM:1FFFDA62 ; End of function sub_1FFFDA56
ROM:1FFFDA62
ROM:1FFFDA64
ROM:1FFFDA64 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDA64
ROM:1FFFDA64
ROM:1FFFDA64 sub_1FFFDA64 ; CODE XREF: sub_1FFFE430+5Cp
ROM:1FFFDA64 LDR R1, =0x20000B34
ROM:1FFFDA66 LDRB R0, [R0]
ROM:1FFFDA68 ADD.W R0, R1, R0,LSL#2
ROM:1FFFDA6C LDR R0, [R0,#0x2C]
ROM:1FFFDA6E LDR R0, [R0,#8]
ROM:1FFFDA70 LDR R1, [R1,#4]
ROM:1FFFDA72 LDR R1, [R1,#0x14]
ROM:1FFFDA74 ANDS R0, R1
ROM:1FFFDA76 BX LR
ROM:1FFFDA76 ; End of function sub_1FFFDA64
ROM:1FFFDA76
ROM:1FFFDA78
ROM:1FFFDA78 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDA78
ROM:1FFFDA78
ROM:1FFFDA78 sub_1FFFDA78 ; CODE XREF: sub_1FFFE356+6p
ROM:1FFFDA78 LDR R0, =0x20000B34
ROM:1FFFDA7A LDR R0, [R0,#4]
ROM:1FFFDA7C LDR R1, [R0,#0x18]
ROM:1FFFDA7E LDR R0, [R0,#0x1C]
ROM:1FFFDA80 ANDS R0, R1
ROM:1FFFDA82 UXTH R0, R0
ROM:1FFFDA84 BX LR
ROM:1FFFDA84 ; End of function sub_1FFFDA78
ROM:1FFFDA84
ROM:1FFFDA86
ROM:1FFFDA86 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDA86
ROM:1FFFDA86
ROM:1FFFDA86 sub_1FFFDA86 ; CODE XREF: sub_1FFFCBBE+Ep
ROM:1FFFDA86 LDRB R1, [R0]
ROM:1FFFDA88 LDR R2, =0x20000B34
ROM:1FFFDA8A ADD.W R1, R2, R1,LSL#2
ROM:1FFFDA8E LDRB R0, [R0,#1]
ROM:1FFFDA90 CMP R0, #1
ROM:1FFFDA92 ITE EQ
ROM:1FFFDA94 LDREQ R1, [R1,#0xC]
ROM:1FFFDA96 LDRNE R1, [R1,#0x2C]
ROM:1FFFDA98 LDR R1, [R1]
ROM:1FFFDA9A BNE loc_1FFFDAA8
ROM:1FFFDA9C LSLS R0, R1, #0xA
ROM:1FFFDA9E BPL loc_1FFFDAA4
ROM:1FFFDAA0 MOVS R0, #0x10
ROM:1FFFDAA2 BX LR
ROM:1FFFDAA4 ; ---------------------------------------------------------------------------
ROM:1FFFDAA4
ROM:1FFFDAA4 loc_1FFFDAA4 ; CODE XREF: sub_1FFFDA86+18j
ROM:1FFFDAA4 MOVS R0, #0x30
ROM:1FFFDAA6 BX LR
ROM:1FFFDAA8 ; ---------------------------------------------------------------------------
ROM:1FFFDAA8
ROM:1FFFDAA8 loc_1FFFDAA8 ; CODE XREF: sub_1FFFDA86+14j
ROM:1FFFDAA8 LSLS R0, R1, #0xA
ROM:1FFFDAAA BPL loc_1FFFDAB2
ROM:1FFFDAAC MOV.W R0, #0x1000
ROM:1FFFDAB0 BX LR
ROM:1FFFDAB2 ; ---------------------------------------------------------------------------
ROM:1FFFDAB2
ROM:1FFFDAB2 loc_1FFFDAB2 ; CODE XREF: sub_1FFFDA86+24j
ROM:1FFFDAB2 MOV.W R0, #0x3000
ROM:1FFFDAB6 BX LR
ROM:1FFFDAB6 ; End of function sub_1FFFDA86
ROM:1FFFDAB6
ROM:1FFFDAB8
ROM:1FFFDAB8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDAB8
ROM:1FFFDAB8
ROM:1FFFDAB8 sub_1FFFDAB8 ; CODE XREF: sub_1FFFCBD0+1Ep
ROM:1FFFDAB8 ; sub_1FFFCBF2+12p
ROM:1FFFDAB8 PUSH {R3-R5,LR}
ROM:1FFFDABA LDRB R2, [R0,#1]
ROM:1FFFDABC CMP R2, #1
ROM:1FFFDABE LDRB R3, [R0]
ROM:1FFFDAC0 LDR R4, =0x20000B34
ROM:1FFFDAC2 ADD.W R3, R4, R3,LSL#2
ROM:1FFFDAC6 ITE EQ
ROM:1FFFDAC8 LDREQ R3, [R3,#0xC]
ROM:1FFFDACA LDRNE R3, [R3,#0x2C]
ROM:1FFFDACC LDR R4, [R3]
ROM:1FFFDACE BIC.W R5, R4, #0x8000
ROM:1FFFDAD2 BNE loc_1FFFDAEA
ROM:1FFFDAD4 CMP R1, #0x10
ROM:1FFFDAD6 ITT EQ
ROM:1FFFDAD8 POPEQ.W {R1,R4,R5,LR}
ROM:1FFFDADC BEQ.W sub_1FFFDA02
ROM:1FFFDAE0 CMP R1, #0x20
ROM:1FFFDAE2 BEQ loc_1FFFDAFC
ROM:1FFFDAE4 CMP R1, #0x30
ROM:1FFFDAE6 BEQ loc_1FFFDB08
ROM:1FFFDAE8 B loc_1FFFDB1E
ROM:1FFFDAEA ; ---------------------------------------------------------------------------
ROM:1FFFDAEA
ROM:1FFFDAEA loc_1FFFDAEA ; CODE XREF: sub_1FFFDAB8+1Aj
ROM:1FFFDAEA CMP.W R1, #0x1000
ROM:1FFFDAEE IT EQ
ROM:1FFFDAF0 ORREQ.W R4, R4, #0x200000
ROM:1FFFDAF4 BEQ loc_1FFFDB22
ROM:1FFFDAF6 CMP.W R1, #0x2000
ROM:1FFFDAFA BNE loc_1FFFDB02
ROM:1FFFDAFC
ROM:1FFFDAFC loc_1FFFDAFC ; CODE XREF: sub_1FFFDAB8+2Aj
ROM:1FFFDAFC ORR.W R4, R4, #0x8000000
ROM:1FFFDB00 B loc_1FFFDB22
ROM:1FFFDB02 ; ---------------------------------------------------------------------------
ROM:1FFFDB02
ROM:1FFFDB02 loc_1FFFDB02 ; CODE XREF: sub_1FFFDAB8+42j
ROM:1FFFDB02 CMP.W R1, #0x3000
ROM:1FFFDB06 BNE loc_1FFFDB1E
ROM:1FFFDB08
ROM:1FFFDB08 loc_1FFFDB08 ; CODE XREF: sub_1FFFDAB8+2Ej
ROM:1FFFDB08 LSLS R1, R4, #0xA
ROM:1FFFDB0A ITT MI
ROM:1FFFDB0C POPMI.W {R1,R4,R5,LR}
ROM:1FFFDB10 BMI.W sub_1FFFDA2C
ROM:1FFFDB14 ORR.W R4, R4, #0x84000000
ROM:1FFFDB18 ORR.W R4, R4, #0x8000
ROM:1FFFDB1C B loc_1FFFDB22
ROM:1FFFDB1E ; ---------------------------------------------------------------------------
ROM:1FFFDB1E
ROM:1FFFDB1E loc_1FFFDB1E ; CODE XREF: sub_1FFFDAB8+30j
ROM:1FFFDB1E ; sub_1FFFDAB8+4Ej
ROM:1FFFDB1E CBNZ R1, loc_1FFFDB22
ROM:1FFFDB20 MOV R4, R5
ROM:1FFFDB22
ROM:1FFFDB22 loc_1FFFDB22 ; CODE XREF: sub_1FFFDAB8+3Cj
ROM:1FFFDB22 ; sub_1FFFDAB8+48j ...
ROM:1FFFDB22 LDR R0, [R0,#8]
ROM:1FFFDB24 CMP R0, #3
ROM:1FFFDB26 ITE NE
ROM:1FFFDB28 CMPNE R0, #2
ROM:1FFFDB2A ORREQ.W R4, R4, #0x10000000
ROM:1FFFDB2E STR R4, [R3]
ROM:1FFFDB30 POP {R0,R4,R5,PC}
ROM:1FFFDB30 ; End of function sub_1FFFDAB8
ROM:1FFFDB30
ROM:1FFFDB30 ; ---------------------------------------------------------------------------
ROM:1FFFDB32 ALIGN 4
ROM:1FFFDB34 dword_1FFFDB34 DCD 0x20000B34 ; DATA XREF: sub_1FFFD4D2+2r
ROM:1FFFDB34 ; sub_1FFFD4F4+Ar ...
ROM:1FFFDB38 dword_1FFFDB38 DCD 0x30D40 ; DATA XREF: sub_1FFFD4D2+Er
ROM:1FFFDB3C dword_1FFFDB3C DCD 0x30D41 ; DATA XREF: sub_1FFFD5DE+6r
ROM:1FFFDB3C ; sub_1FFFD69C+Ar
ROM:1FFFDB40 dword_1FFFDB40 DCD 0xFC33F800 ; DATA XREF: sub_1FFFD812+2Er
ROM:1FFFDB44 ; ---------------------------------------------------------------------------
ROM:1FFFDB44 ; START OF FUNCTION CHUNK FOR sub_1FFFDCCA
ROM:1FFFDB44
ROM:1FFFDB44 delay_func ; CODE XREF: sub_1FFFDCCA+10j
ROM:1FFFDB44 MOVS R1, #0
ROM:1FFFDB46 MOVS R2, #0xA
ROM:1FFFDB48 MULS R0, R2
ROM:1FFFDB4A
ROM:1FFFDB4A delay_func_wait ; CODE XREF: sub_1FFFDCCA-17Cj
ROM:1FFFDB4A ADDS R1, R1, #1
ROM:1FFFDB4C CMP R0, R1
ROM:1FFFDB4E BCS delay_func_wait
ROM:1FFFDB50 BX LR
ROM:1FFFDB50 ; END OF FUNCTION CHUNK FOR sub_1FFFDCCA
ROM:1FFFDB52
ROM:1FFFDB52 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDB52
ROM:1FFFDB52
ROM:1FFFDB52 sub_1FFFDB52 ; CODE XREF: usb_chuli+18p
ROM:1FFFDB52 PUSH {R4,LR}
ROM:1FFFDB54 LDR R0, =0x20000A50
ROM:1FFFDB56 MOVS R1, #0
ROM:1FFFDB58 STRB.W R1, [R0,#0x20]
ROM:1FFFDB5C STRB R1, [R0]
ROM:1FFFDB5E STR R1, [R0,#4]
ROM:1FFFDB60 STR R1, [R0,#8]
ROM:1FFFDB62 MOV.W R1, #0x400
ROM:1FFFDB66 STR R1, [R0,#0x10]
ROM:1FFFDB68 MOVS R2, #0
ROM:1FFFDB6A STR R2, [R0,#0x14]
ROM:1FFFDB6C STR R2, [R0,#0x18]
ROM:1FFFDB6E MOVS R2, #1
ROM:1FFFDB70
ROM:1FFFDB70 loc_1FFFDB70 ; CODE XREF: sub_1FFFDB52+3Aj
ROM:1FFFDB70 ADD.W R3, R0, R2,LSL#5
ROM:1FFFDB74 ADDS R3, R3, #4
ROM:1FFFDB76 MOVS R4, #1
ROM:1FFFDB78 STRB R4, [R3,#1]
ROM:1FFFDB7A STRB R2, [R3]
ROM:1FFFDB7C STR R2, [R3,#4]
ROM:1FFFDB7E MOVS R4, #0
ROM:1FFFDB80 STR R4, [R3,#8]
ROM:1FFFDB82 STR R1, [R3,#0x10]
ROM:1FFFDB84 STR R4, [R3,#0x14]
ROM:1FFFDB86 STR R4, [R3,#0x18]
ROM:1FFFDB88 ADDS R2, R2, #1
ROM:1FFFDB8A CMP R2, #4
ROM:1FFFDB8C BCC loc_1FFFDB70
ROM:1FFFDB8E MOVS R2, #1
ROM:1FFFDB90
ROM:1FFFDB90 loc_1FFFDB90 ; CODE XREF: sub_1FFFDB52+58j
ROM:1FFFDB90 ADD.W R3, R0, R2,LSL#5
ROM:1FFFDB94 ADDW R3, R3, #0x64
ROM:1FFFDB98 STRB R4, [R3,#1]
ROM:1FFFDB9A STRB R2, [R3]
ROM:1FFFDB9C STR R2, [R3,#4]
ROM:1FFFDB9E STR R4, [R3,#8]
ROM:1FFFDBA0 STR R1, [R3,#0x10]
ROM:1FFFDBA2 STR R4, [R3,#0x14]
ROM:1FFFDBA4 STR R4, [R3,#0x18]
ROM:1FFFDBA6 ADDS R2, R2, #1
ROM:1FFFDBA8 CMP R2, #4
ROM:1FFFDBAA BCC loc_1FFFDB90
ROM:1FFFDBAC MOVS R1, #0x40
ROM:1FFFDBAE STR R1, [R0,#0x10]
ROM:1FFFDBB0 STR R4, [R0,#8]
ROM:1FFFDBB2 POP {R4,PC}
ROM:1FFFDBB2 ; End of function sub_1FFFDB52
ROM:1FFFDBB2
ROM:1FFFDBB4
ROM:1FFFDBB4 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDBB4
ROM:1FFFDBB4
ROM:1FFFDBB4 sub_1FFFDBB4 ; CODE XREF: usb_chuli+30p
ROM:1FFFDBB4 ; usb_chuli+3Cp
ROM:1FFFDBB4 PUSH {R4,LR}
ROM:1FFFDBB6 MOV R4, R0
ROM:1FFFDBB8 LDRB R0, [R4,#2]
ROM:1FFFDBBA LSLS R1, R0, #0x18
ROM:1FFFDBBC AND.W R0, R0, #0x7F
ROM:1FFFDBC0 BPL loc_1FFFDBC8
ROM:1FFFDBC2 BL sub_1FFFDC7A
ROM:1FFFDBC6 B loc_1FFFDBCC
ROM:1FFFDBC8 ; ---------------------------------------------------------------------------
ROM:1FFFDBC8
ROM:1FFFDBC8 loc_1FFFDBC8 ; CODE XREF: sub_1FFFDBB4+Cj
ROM:1FFFDBC8 BL sub_1FFFDCA2
ROM:1FFFDBCC
ROM:1FFFDBCC loc_1FFFDBCC ; CODE XREF: sub_1FFFDBB4+12j
ROM:1FFFDBCC LDRB R1, [R4,#2]
ROM:1FFFDBCE AND.W R1, R1, #0x7F
ROM:1FFFDBD2 STRB R1, [R0]
ROM:1FFFDBD4 LDRB R1, [R4,#2]
ROM:1FFFDBD6 LSRS R1, R1, #7
ROM:1FFFDBD8 STRB R1, [R0,#1]
ROM:1FFFDBDA LDRH R1, [R4,#4]
ROM:1FFFDBDC STR R1, [R0,#0x10]
ROM:1FFFDBDE LDRB R1, [R4,#3]
ROM:1FFFDBE0 AND.W R1, R1, #3
ROM:1FFFDBE4 STR R1, [R0,#8]
ROM:1FFFDBE6 LDRB R1, [R0,#1]
ROM:1FFFDBE8 CBZ R1, loc_1FFFDBEE
ROM:1FFFDBEA LDRB R1, [R0]
ROM:1FFFDBEC STR R1, [R0,#4]
ROM:1FFFDBEE
ROM:1FFFDBEE loc_1FFFDBEE ; CODE XREF: sub_1FFFDBB4+34j
ROM:1FFFDBEE LDRB R1, [R4,#3]
ROM:1FFFDBF0 AND.W R1, R1, #3
ROM:1FFFDBF4 CMP R1, #2
ROM:1FFFDBF6 ITT EQ
ROM:1FFFDBF8 MOVEQ R1, #0
ROM:1FFFDBFA STREQB R1, [R0,#0xC]
ROM:1FFFDBFC BL sub_1FFFD812
ROM:1FFFDC00 MOVS R0, #0
ROM:1FFFDC02 POP {R4,PC}
ROM:1FFFDC02 ; End of function sub_1FFFDBB4
ROM:1FFFDC02
ROM:1FFFDC04
ROM:1FFFDC04 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDC04
ROM:1FFFDC04
ROM:1FFFDC04 sub_1FFFDC04 ; CODE XREF: sub_1FFFCFF2+36p
ROM:1FFFDC04 ; sub_1FFFD06E+3Ep
ROM:1FFFDC04 PUSH {R4-R6,LR}
ROM:1FFFDC06 BL sub_1FFFDC5C
ROM:1FFFDC0A BL sub_1FFFDCA2
ROM:1FFFDC0E MOVS R1, #0
ROM:1FFFDC10 B loc_1FFFDC1A
ROM:1FFFDC12 ; ---------------------------------------------------------------------------
ROM:1FFFDC12
ROM:1FFFDC12 loc_1FFFDC12 ; CODE XREF: sub_1FFFDC04+18j
ROM:1FFFDC12 LDR R2, [R0,#0x14]
ROM:1FFFDC14 LDRB R2, [R1,R2]
ROM:1FFFDC16 STRB R2, [R1,R5]
ROM:1FFFDC18 ADDS R1, R1, #1
ROM:1FFFDC1A
ROM:1FFFDC1A loc_1FFFDC1A ; CODE XREF: sub_1FFFDC04+Cj
ROM:1FFFDC1A CMP R1, R6
ROM:1FFFDC1C BCC loc_1FFFDC12
ROM:1FFFDC1E STR R5, [R0,#0x14]
ROM:1FFFDC20 STR R6, [R0,#0x18]
ROM:1FFFDC22 MOVS R1, #0
ROM:1FFFDC24 STR R1, [R0,#0x1C]
ROM:1FFFDC26 B loc_1FFFDC3C
ROM:1FFFDC28 ; ---------------------------------------------------------------------------
ROM:1FFFDC28
ROM:1FFFDC28 loc_1FFFDC28 ; CODE XREF: sub_1FFFD06E+66p
ROM:1FFFDC28 ; sub_1FFFD104+6j
ROM:1FFFDC28 PUSH {R4-R6,LR}
ROM:1FFFDC2A BL sub_1FFFDC5C
ROM:1FFFDC2E BL sub_1FFFDC7A
ROM:1FFFDC32 STR R5, [R0,#0x14]
ROM:1FFFDC34 MOVS R1, #0
ROM:1FFFDC36 STR R1, [R0,#0x1C]
ROM:1FFFDC38 STR R6, [R0,#0x18]
ROM:1FFFDC3A MOVS R1, #1
ROM:1FFFDC3C
ROM:1FFFDC3C loc_1FFFDC3C ; CODE XREF: sub_1FFFDC04+22j
ROM:1FFFDC3C STRB R1, [R0,#1]
ROM:1FFFDC3E ANDS.W R1, R4, #0x7F
ROM:1FFFDC42 STRB R1, [R0]
ROM:1FFFDC44 BNE loc_1FFFDC4C
ROM:1FFFDC46 BL sub_1FFFD948
ROM:1FFFDC4A B loc_1FFFDC58
ROM:1FFFDC4C ; ---------------------------------------------------------------------------
ROM:1FFFDC4C
ROM:1FFFDC4C loc_1FFFDC4C ; CODE XREF: sub_1FFFDC04+40j
ROM:1FFFDC4C LDR R1, =0x20000A50
ROM:1FFFDC4E LDRB.W R1, [R1,#0x20]
ROM:1FFFDC52 CBNZ R1, loc_1FFFDC58
ROM:1FFFDC54 BL sub_1FFFD876
ROM:1FFFDC58
ROM:1FFFDC58 loc_1FFFDC58 ; CODE XREF: sub_1FFFDC04+46j
ROM:1FFFDC58 ; sub_1FFFDC04+4Ej
ROM:1FFFDC58 MOVS R0, #0
ROM:1FFFDC5A POP {R4-R6,PC}
ROM:1FFFDC5A ; End of function sub_1FFFDC04
ROM:1FFFDC5A
ROM:1FFFDC5C
ROM:1FFFDC5C ; =============== S U B R O U T I N E =======================================
ROM:1FFFDC5C
ROM:1FFFDC5C
ROM:1FFFDC5C sub_1FFFDC5C ; CODE XREF: sub_1FFFDC04+2p
ROM:1FFFDC5C ; sub_1FFFDC04+26p
ROM:1FFFDC5C MOV R4, R0
ROM:1FFFDC5E MOV R5, R1
ROM:1FFFDC60 MOV R6, R2
ROM:1FFFDC62 AND.W R0, R4, #0x7F
ROM:1FFFDC66 BX LR
ROM:1FFFDC66 ; End of function sub_1FFFDC5C
ROM:1FFFDC66
ROM:1FFFDC68
ROM:1FFFDC68 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDC68
ROM:1FFFDC68
ROM:1FFFDC68 sub_1FFFDC68 ; CODE XREF: sub_1FFFD10E+36p
ROM:1FFFDC68 ; sub_1FFFD3B8+2Ep
ROM:1FFFDC68 LDR R1, =0x20000B34
ROM:1FFFDC6A LDR R1, [R1,#4]
ROM:1FFFDC6C LDR R2, [R1]
ROM:1FFFDC6E LSLS R0, R0, #4
ROM:1FFFDC70 AND.W R0, R0, #0x7F0
ROM:1FFFDC74 ORRS R0, R2
ROM:1FFFDC76 STR R0, [R1]
ROM:1FFFDC78 BX LR
ROM:1FFFDC78 ; End of function sub_1FFFDC68
ROM:1FFFDC78
ROM:1FFFDC7A
ROM:1FFFDC7A ; =============== S U B R O U T I N E =======================================
ROM:1FFFDC7A
ROM:1FFFDC7A
ROM:1FFFDC7A sub_1FFFDC7A ; CODE XREF: sub_1FFFCBB2+6p
ROM:1FFFDC7A ; sub_1FFFCBD0+Ap ...
ROM:1FFFDC7A PUSH {R4,LR}
ROM:1FFFDC7C LDR R1, =0x20000A50
ROM:1FFFDC7E CBNZ R0, loc_1FFFDC84
ROM:1FFFDC80 MOV R0, R1
ROM:1FFFDC82 POP {R4,PC}
ROM:1FFFDC84 ; ---------------------------------------------------------------------------
ROM:1FFFDC84
ROM:1FFFDC84 loc_1FFFDC84 ; CODE XREF: sub_1FFFDC7A+4j
ROM:1FFFDC84 MOVS R2, #0
ROM:1FFFDC86
ROM:1FFFDC86 loc_1FFFDC86 ; CODE XREF: sub_1FFFDC7A+22j
ROM:1FFFDC86 ADD.W R3, R1, R2,LSL#5
ROM:1FFFDC8A LDRB.W R4, [R3,#0x24]
ROM:1FFFDC8E CMP R4, R0
ROM:1FFFDC90 BNE loc_1FFFDC98
ROM:1FFFDC92 ADD.W R0, R3, #0x24
ROM:1FFFDC96 POP {R4,PC}
ROM:1FFFDC98 ; ---------------------------------------------------------------------------
ROM:1FFFDC98
ROM:1FFFDC98 loc_1FFFDC98 ; CODE XREF: sub_1FFFDC7A+16j
ROM:1FFFDC98 ADDS R2, R2, #1
ROM:1FFFDC9A CMP R2, #4
ROM:1FFFDC9C BCC loc_1FFFDC86
ROM:1FFFDC9E MOVS R0, #0
ROM:1FFFDCA0 POP {R4,PC}
ROM:1FFFDCA0 ; End of function sub_1FFFDC7A
ROM:1FFFDCA0
ROM:1FFFDCA2
ROM:1FFFDCA2 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDCA2
ROM:1FFFDCA2
ROM:1FFFDCA2 sub_1FFFDCA2 ; CODE XREF: sub_1FFFCBBE+6p
ROM:1FFFDCA2 ; sub_1FFFCBF2+8p ...
ROM:1FFFDCA2 PUSH {R4,LR}
ROM:1FFFDCA4 LDR R1, =0x20000A50
ROM:1FFFDCA6 CBNZ R0, loc_1FFFDCAC
ROM:1FFFDCA8 MOV R0, R1
ROM:1FFFDCAA POP {R4,PC}
ROM:1FFFDCAC ; ---------------------------------------------------------------------------
ROM:1FFFDCAC
ROM:1FFFDCAC loc_1FFFDCAC ; CODE XREF: sub_1FFFDCA2+4j
ROM:1FFFDCAC MOVS R2, #0
ROM:1FFFDCAE
ROM:1FFFDCAE loc_1FFFDCAE ; CODE XREF: sub_1FFFDCA2+22j
ROM:1FFFDCAE ADD.W R3, R1, R2,LSL#5
ROM:1FFFDCB2 LDRB.W R4, [R3,#0x84]
ROM:1FFFDCB6 CMP R4, R0
ROM:1FFFDCB8 BNE loc_1FFFDCC0
ROM:1FFFDCBA ADD.W R0, R3, #0x84
ROM:1FFFDCBE POP {R4,PC}
ROM:1FFFDCC0 ; ---------------------------------------------------------------------------
ROM:1FFFDCC0
ROM:1FFFDCC0 loc_1FFFDCC0 ; CODE XREF: sub_1FFFDCA2+16j
ROM:1FFFDCC0 ADDS R2, R2, #1
ROM:1FFFDCC2 CMP R2, #4
ROM:1FFFDCC4 BCC loc_1FFFDCAE
ROM:1FFFDCC6 MOVS R0, #0
ROM:1FFFDCC8 POP {R4,PC}
ROM:1FFFDCC8 ; End of function sub_1FFFDCA2
ROM:1FFFDCC8
ROM:1FFFDCCA
ROM:1FFFDCCA ; =============== S U B R O U T I N E =======================================
ROM:1FFFDCCA
ROM:1FFFDCCA
ROM:1FFFDCCA sub_1FFFDCCA ; CODE XREF: sub_1FFFCC08j
ROM:1FFFDCCA
ROM:1FFFDCCA ; FUNCTION CHUNK AT ROM:1FFFDB44 SIZE 0000000E BYTES
ROM:1FFFDCCA
ROM:1FFFDCCA LDR R0, =0x20000B34
ROM:1FFFDCCC LDR R0, [R0,#4]
ROM:1FFFDCCE LDR R1, [R0,#4]
ROM:1FFFDCD0 ORR.W R1, R1, #2
ROM:1FFFDCD4 STR R1, [R0,#4]
ROM:1FFFDCD6 MOVW R0, #0x61A8
ROM:1FFFDCDA B delay_func
ROM:1FFFDCDA ; End of function sub_1FFFDCCA
ROM:1FFFDCDA
ROM:1FFFDCDC
ROM:1FFFDCDC ; =============== S U B R O U T I N E =======================================
ROM:1FFFDCDC
ROM:1FFFDCDC
ROM:1FFFDCDC sub_1FFFDCDC ; CODE XREF: usb_chuli+40p
ROM:1FFFDCDC ; sub_1FFFE536+2Cp
ROM:1FFFDCDC LDR R0, =0x20000B34
ROM:1FFFDCDE LDR R0, [R0,#0x2C]
ROM:1FFFDCE0 LDR R1, =0x60080018
ROM:1FFFDCE2 STR R1, [R0,#0x10]
ROM:1FFFDCE4 BX LR
ROM:1FFFDCE4 ; End of function sub_1FFFDCDC
ROM:1FFFDCE4
ROM:1FFFDCE4 ; ---------------------------------------------------------------------------
ROM:1FFFDCE6 ALIGN 4
ROM:1FFFDCE8 dword_1FFFDCE8 DCD 0x20000A50 ; DATA XREF: sub_1FFFDB52+2r
ROM:1FFFDCE8 ; sub_1FFFDC04:loc_1FFFDC4Cr ...
ROM:1FFFDCEC dword_1FFFDCEC DCD 0x20000B34 ; DATA XREF: sub_1FFFDC68r
ROM:1FFFDCEC ; sub_1FFFDCCAr ...
ROM:1FFFDCF0 dword_1FFFDCF0 DCD 0x60080018 ; DATA XREF: sub_1FFFDCDC+4r
ROM:1FFFDCF4
ROM:1FFFDCF4 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDCF4
ROM:1FFFDCF4
ROM:1FFFDCF4 FLASH_ErasePage_0 ; CODE XREF: sub_1FFFCC20+10j
ROM:1FFFDCF4 ; DATA XREF: sub_1FFFCC20+Co ...
ROM:1FFFDCF4 PUSH {R7,LR}
ROM:1FFFDCF6 BL FLASH_ErasePage
ROM:1FFFDCFA MOVS R0, #0
ROM:1FFFDCFC POP {R1,PC}
ROM:1FFFDCFC ; End of function FLASH_ErasePage_0
ROM:1FFFDCFC
ROM:1FFFDCFE
ROM:1FFFDCFE ; =============== S U B R O U T I N E =======================================
ROM:1FFFDCFE
ROM:1FFFDCFE
ROM:1FFFDCFE sub_1FFFDCFE ; DATA XREF: sub_1FFFCC38:loc_1FFFCC58o
ROM:1FFFDCFE ; ROM:off_1FFFCD48o
ROM:1FFFDCFE PUSH {R3-R7,LR}
ROM:1FFFDD00 MOV R4, R0
ROM:1FFFDD02 MOV R5, R1
ROM:1FFFDD04 LDR R6, =0x20000250
ROM:1FFFDD06 ANDS.W R0, R5, #3
ROM:1FFFDD0A BEQ loc_1FFFDD22
ROM:1FFFDD0C MOVW R0, #0xFFFC
ROM:1FFFDD10 ANDS R0, R5
ROM:1FFFDD12 ADDS R0, R0, #4
ROM:1FFFDD14 CMP R5, R0
ROM:1FFFDD16 BCS loc_1FFFDD22
ROM:1FFFDD18 MOVS R2, #0xFF
ROM:1FFFDD1A SUBS R1, R0, R5
ROM:1FFFDD1C ADDS R0, R5, R6
ROM:1FFFDD1E BL sub_1FFFDD44
ROM:1FFFDD22
ROM:1FFFDD22 loc_1FFFDD22 ; CODE XREF: sub_1FFFDCFE+Cj
ROM:1FFFDD22 ; sub_1FFFDCFE+18j
ROM:1FFFDD22 MOVS R7, #0
ROM:1FFFDD24 B loc_1FFFDD32
ROM:1FFFDD26 ; ---------------------------------------------------------------------------
ROM:1FFFDD26
ROM:1FFFDD26 loc_1FFFDD26 ; CODE XREF: sub_1FFFDCFE+36j
ROM:1FFFDD26 LDR R1, [R7,R6]
ROM:1FFFDD28 MOV R0, R4
ROM:1FFFDD2A BL FLASH_ProgramWord
ROM:1FFFDD2E ADDS R4, R4, #4
ROM:1FFFDD30 ADDS R7, R7, #4
ROM:1FFFDD32
ROM:1FFFDD32 loc_1FFFDD32 ; CODE XREF: sub_1FFFDCFE+26j
ROM:1FFFDD32 CMP R7, R5
ROM:1FFFDD34 BCC loc_1FFFDD26
ROM:1FFFDD36 MOVS R0, #0
ROM:1FFFDD38 POP {R1,R4-R7,PC}
ROM:1FFFDD38 ; End of function sub_1FFFDCFE
ROM:1FFFDD38
ROM:1FFFDD38 ; ---------------------------------------------------------------------------
ROM:1FFFDD3A ALIGN 4
ROM:1FFFDD3C dword_1FFFDD3C DCD 0x20000250 ; DATA XREF: sub_1FFFDCFE+6r
ROM:1FFFDD40 ; ---------------------------------------------------------------------------
ROM:1FFFDD40 ; START OF FUNCTION CHUNK FOR sub_1FFFCC7A
ROM:1FFFDD40
ROM:1FFFDD40 locret_1FFFDD40 ; CODE XREF: sub_1FFFCC7A+6j
ROM:1FFFDD40 ; DATA XREF: sub_1FFFCC7A+2o ...
ROM:1FFFDD40 BX LR
ROM:1FFFDD40 ; END OF FUNCTION CHUNK FOR sub_1FFFCC7A
ROM:1FFFDD40 ; ---------------------------------------------------------------------------
ROM:1FFFDD42 ALIGN 4
ROM:1FFFDD44 ; 10: v3 = (a3 & 0xFFFF00FF | ((unsigned __int8)a3 << 8)) & 0xFFFF | ((a3 & 0xFFFF00FF | ((unsigned __int8)a3 << 8)) << 16);
ROM:1FFFDD44
ROM:1FFFDD44 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDD44
ROM:1FFFDD44
ROM:1FFFDD44 sub_1FFFDD44 ; CODE XREF: sub_1FFFCCA8+20p
ROM:1FFFDD44 ; sub_1FFFDCFE+20p
ROM:1FFFDD44 BFI.W R2, R2, #8, #8
ROM:1FFFDD48 BFI.W R2, R2, #0x10, #0x10
ROM:1FFFDD4C ; 11: result = a1 + a2;
ROM:1FFFDD4C ADDS R0, R0, R1
ROM:1FFFDD4E ; 12: v5 = result & 3;
ROM:1FFFDD4E ; 13: if ( result & 3 )
ROM:1FFFDD4E ANDS.W R3, R0, #3
ROM:1FFFDD52 BEQ loc_1FFFDD66
ROM:1FFFDD54 ; 15: v6 = a2 >= v5;
ROM:1FFFDD54 ; 16: a2 -= v5;
ROM:1FFFDD54 SUBS R1, R1, R3
ROM:1FFFDD56 ; 17: if ( !v6 )
ROM:1FFFDD56 BCC loc_1FFFDD98
ROM:1FFFDD58 ; 28: if ( __CFSHL__(v5, 31) )
ROM:1FFFDD58 LSLS R3, R3, #0x1F
ROM:1FFFDD5A ; 26: if ( result << 31 < 0 )
ROM:1FFFDD5A IT MI
ROM:1FFFDD5C ; 27: *(_BYTE *)(result-- - 1) = v3;
ROM:1FFFDD5C STRMIB.W R2, [R0,#-1]!
ROM:1FFFDD60 ; 31: result -= 2;
ROM:1FFFDD60 IT CS
ROM:1FFFDD62 ; 30: *(_WORD *)(result - 2) = v3;
ROM:1FFFDD62 STRCSH.W R2, [R0,#-2]!
ROM:1FFFDD66 ; 53: *(_DWORD *)(result - 4) = v3;
ROM:1FFFDD66
ROM:1FFFDD66 loc_1FFFDD66 ; CODE XREF: sub_1FFFDD44+Ej
ROM:1FFFDD66 MOVS R3, R2
ROM:1FFFDD68 ; 42: *(_DWORD *)(result - 8) = v3;
ROM:1FFFDD68 PUSH {R4,R5}
ROM:1FFFDD6A MOV R4, R2
ROM:1FFFDD6C ; 43: *(_DWORD *)(result - 4) = v3;
ROM:1FFFDD6C MOV R5, R2
ROM:1FFFDD6E ; 36: v6 = a2 >= 0x10;
ROM:1FFFDD6E ; 37: a2 -= 16;
ROM:1FFFDD6E
ROM:1FFFDD6E loc_1FFFDD6E ; CODE XREF: sub_1FFFDD44+32j
ROM:1FFFDD6E SUBS R1, #0x10
ROM:1FFFDD70 ; 38: if ( v6 )
ROM:1FFFDD70 IT CS
ROM:1FFFDD72 ; 40: *(_DWORD *)(result - 16) = v3;
ROM:1FFFDD72 ; 41: *(_DWORD *)(result - 12) = v3;
ROM:1FFFDD72 ; 44: result -= 16;
ROM:1FFFDD72 STMCSDB.W R0!, {R2-R5}
ROM:1FFFDD76 ; 47: while ( (a2 != 0) & v6 );
ROM:1FFFDD76 BHI loc_1FFFDD6E
ROM:1FFFDD78 ; 48: v6 = __CFSHL__(a2, 29);
ROM:1FFFDD78 ; 49: v7 = a2 << 29;
ROM:1FFFDD78 LSLS R1, R1, #0x1D
ROM:1FFFDD7A ; 50: if ( v6 )
ROM:1FFFDD7A IT CS
ROM:1FFFDD7C ; 52: *(_DWORD *)(result - 8) = v3;
ROM:1FFFDD7C ; 54: result -= 8;
ROM:1FFFDD7C STMCSDB.W R0!, {R2,R3}
ROM:1FFFDD80 ; 56: if ( v7 < 0 )
ROM:1FFFDD80 IT MI
ROM:1FFFDD82 ; 58: *(_DWORD *)(result - 4) = v3;
ROM:1FFFDD82 ; 59: result -= 4;
ROM:1FFFDD82 STRMI.W R2, [R0,#-4]!
ROM:1FFFDD86 ; 61: v6 = __CFSHL__(v7, 2);
ROM:1FFFDD86 ; 62: v8 = 4 * v7;
ROM:1FFFDD86 LSLS R1, R1, #2
ROM:1FFFDD88 ; 63: if ( v6 )
ROM:1FFFDD88 IT CS
ROM:1FFFDD8A ; 65: *(_WORD *)(result - 2) = v3;
ROM:1FFFDD8A ; 66: result -= 2;
ROM:1FFFDD8A STRCSH.W R2, [R0,#-2]!
ROM:1FFFDD8E ; 68: if ( v8 < 0 )
ROM:1FFFDD8E IT MI
ROM:1FFFDD90 ; 69: *(_BYTE *)(result-- - 1) = v3;
ROM:1FFFDD90 STRMIB.W R2, [R0,#-1]!
ROM:1FFFDD94 POP {R4,R5}
ROM:1FFFDD96 BX LR
ROM:1FFFDD98 ; ---------------------------------------------------------------------------
ROM:1FFFDD98 ; 19: v9 = a2 + v5;
ROM:1FFFDD98
ROM:1FFFDD98 loc_1FFFDD98 ; CODE XREF: sub_1FFFDD44+12j
ROM:1FFFDD98 ADDS R1, R1, R3
ROM:1FFFDD9A ; 20: if ( v9 )
ROM:1FFFDD9A IT NE
ROM:1FFFDD9C ; 21: *(_BYTE *)(result-- - 1) = v3;
ROM:1FFFDD9C STRNEB.W R2, [R0,#-1]!
ROM:1FFFDDA0 ; 22: if ( __CFSHL__(v9, 31) )
ROM:1FFFDDA0 LSLS R3, R1, #0x1F
ROM:1FFFDDA2 ; 23: *(_BYTE *)(result-- - 1) = v3;
ROM:1FFFDDA2 IT CS
ROM:1FFFDDA4 STRCSB.W R2, [R0,#-1]!
ROM:1FFFDDA8 BX LR
ROM:1FFFDDA8 ; End of function sub_1FFFDD44
ROM:1FFFDDA8
ROM:1FFFDDA8 ; ---------------------------------------------------------------------------
ROM:1FFFDDAA ALIGN 4
ROM:1FFFDDAC
ROM:1FFFDDAC ; =============== S U B R O U T I N E =======================================
ROM:1FFFDDAC
ROM:1FFFDDAC
ROM:1FFFDDAC uart_ready ; CODE XREF: start_work:uart1_workp
ROM:1FFFDDAC PUSH {R7,LR}
ROM:1FFFDDAE BL disable_irq
ROM:1FFFDDB2 LDR.W R0, =0x20000190 ; 0x1fffeb64
ROM:1FFFDDB6 LDR R0, [R0] ; 0x40013800 USART1_BASE
ROM:1FFFDDB8 MOVS R1, #0
ROM:1FFFDDBA STRH R1, [R0,#4]
ROM:1FFFDDBC LDR.W R1, =0x20000194
ROM:1FFFDDC0 LDR R1, [R1]
ROM:1FFFDDC2 MOVS R2, #7
ROM:1FFFDDC4 UDIV.W R1, R1, R2
ROM:1FFFDDC8 STRH R1, [R0,#8] ; 配置串口波特率
ROM:1FFFDDCA MOV.W R1, #0x600
ROM:1FFFDDCE STRH R1, [R0,#0x10]
ROM:1FFFDDD0 MOVS R1, #0
ROM:1FFFDDD2 STRH R1, [R0,#0x10]
ROM:1FFFDDD4 STRH R1, [R0,#0x18]
ROM:1FFFDDD6 MOVW R1, #0x340C
ROM:1FFFDDDA STRH R1, [R0,#0xC]
ROM:1FFFDDDC MOVS R0, #0x79 ; 发送0x79表示串口已经准备好了
ROM:1FFFDDDE POP.W {R1,LR}
ROM:1FFFDDE2 B uart_send_a_char
ROM:1FFFDDE2 ; End of function uart_ready
ROM:1FFFDDE2
ROM:1FFFDDE4
ROM:1FFFDDE4 ; =============== S U B R O U T I N E =======================================
ROM:1FFFDDE4
ROM:1FFFDDE4
ROM:1FFFDDE4 uart_monitor ; CODE XREF: start_work+18p
ROM:1FFFDDE4
ROM:1FFFDDE4 var_140 = -0x140
ROM:1FFFDDE4 var_13C = -0x13C
ROM:1FFFDDE4 var_13B = -0x13B
ROM:1FFFDDE4 var_13A = -0x13A
ROM:1FFFDDE4 var_138 = -0x138
ROM:1FFFDDE4 var_134 = -0x134
ROM:1FFFDDE4 var_130 = -0x130
ROM:1FFFDDE4 var_120 = -0x120
ROM:1FFFDDE4
ROM:1FFFDDE4 ; FUNCTION CHUNK AT ROM:1FFFE15C SIZE 00000020 BYTES
ROM:1FFFDDE4
ROM:1FFFDDE4 PUSH.W {R4-R10,LR}
ROM:1FFFDDE8 SUB SP, SP, #0x120
ROM:1FFFDDEA ADD R0, SP, #0x140+var_130
ROM:1FFFDDEC ADR.W R1, boot_param_block ; host 00 ff命令的设备响应字符串
ROM:1FFFDDEC ; byte 1:ACK
ROM:1FFFDDF0 MOVS R2, #0x10
ROM:1FFFDDF2 BL memcpy ; N 当用两个补码表示的带符号数进行运算时,N=1表示运算的结果为负数;N=0表示运算的结果为正数或零.
ROM:1FFFDDF2 ; Z Z=1表示运算的结果为零,Z=0表示运算的结果非零。
ROM:1FFFDDF2 ; C 可以有4种方法设置C的值:
ROM:1FFFDDF2 ; 加法运算(包括CMN):当运算结果产生了进位时(无符号数溢出),C=1,否则C=0。
ROM:1FFFDDF2 ; 减法运算(包括CMP):当运算时产生了借位时(无符号数溢出),C=0,否则C=1。
ROM:1FFFDDF2 ; 对于包含移位操作的非加/减运算指令,C为移出值的最后一位。
ROM:1FFFDDF2 ; 对于其它的非加/减运算指令,C的值通常不会改变。
ROM:1FFFDDF2 ; V 可以有2种方法设置V的值:
ROM:1FFFDDF2 ; 对于加减法运算指令,当操作数和运算结果为二进制的补码表示的带符号数时,V=1表示符号位溢出
ROM:1FFFDDF2 ; 对于其它的非加/减运算指令,V的值通常不会改变。
ROM:1FFFDDF2 ;
ROM:1FFFDDF2 ; 0000 = EQ - Z set (equal,相等)
ROM:1FFFDDF2 ; 0001 = NE - Z clear (not equal,不相等)
ROM:1FFFDDF2 ; 0010 = CS - C set (unsigned higher or same,无符号大于或等于)
ROM:1FFFDDF2 ; 0011 = CC - C clear (unsigned lower,无符号小于)
ROM:1FFFDDF2 ; 0100 = MI - N set (negative,负数)
ROM:1FFFDDF2 ; 0101 = PL - N clear (positive or zero,正数或零)
ROM:1FFFDDF2 ; 0110 = VS - V set (overflow,溢出)
ROM:1FFFDDF2 ; 0111 = VC - V clear (no overflow,未溢出)
ROM:1FFFDDF2 ; 1000 = HI - C set and Z clear (unsigned higher,无符号大于)
ROM:1FFFDDF2 ; 1001 = LS - C clear or Z set (unsigned lower or same,无符号小于或等于)
ROM:1FFFDDF2 ; 1010 = GE - N set and V set, or N clear and V clear (greater or equal,带符号大于或等于)
ROM:1FFFDDF2 ; 1011 = LT - N set and V clear, or N clear and V set (less than,带符号小于)
ROM:1FFFDDF2 ; 1100 = GT - Z clear, and either N set and V set, or N clear and V clear (greater than,带符号大于)
ROM:1FFFDDF2 ; 1101 = LE - Z set, or N set and V clear, or N clear and V set (less than or equal,带符号小于或等于)
ROM:1FFFDDF2 ; 1110 = AL - always
ROM:1FFFDDF2 ; 1111 = NV - never
ROM:1FFFDDF2 ;
ROM:1FFFDDF6 MOVS R0, #0
ROM:1FFFDDF8 STR R0, [SP,#0x140+var_140]
ROM:1FFFDDFA STR R0, [SP,#0x140+var_138]
ROM:1FFFDDFC STR R0, [SP,#0x140+var_134]
ROM:1FFFDDFE STRB.W R0, [SP,#0x140+var_13B]
ROM:1FFFDE02 STRB.W R0, [SP,#0x140+var_13C]
ROM:1FFFDE06 STRB.W R0, [SP,#0x140+var_13A]
ROM:1FFFDE0A ADD.W R9, SP, #0x140+var_120
ROM:1FFFDE0E LDR.W R10, =0xE000E010
ROM:1FFFDE12 LDR.W R6, =0x4002100C
ROM:1FFFDE16 LDR.W R7, =0x4002200C ; flash操作寄存器的基址是40022000
ROM:1FFFDE1A MOV.W R8, #0xFFFFFFFF
ROM:1FFFDE1E B loc_1FFFDE26
ROM:1FFFDE20 ; ---------------------------------------------------------------------------
ROM:1FFFDE20
ROM:1FFFDE20 send_nack ; CODE XREF: uart_monitor+A2j
ROM:1FFFDE20 ; uart_monitor:loc_1FFFDEF0j ...
ROM:1FFFDE20 MOVS R0, #0x1F
ROM:1FFFDE22
ROM:1FFFDE22 uart2_send_a1 ; CODE XREF: uart_monitor+2DAj
ROM:1FFFDE22 BL uart_send_a_char
ROM:1FFFDE26
ROM:1FFFDE26 loc_1FFFDE26 ; CODE XREF: uart_monitor+3Aj
ROM:1FFFDE26 ; uart_monitor+AAj ...
ROM:1FFFDE26 LDR.W R0, =0x40003000 ; 看门狗操作
ROM:1FFFDE2A MOVW R1, #0xAAAA
ROM:1FFFDE2E STR R1, [R0]
ROM:1FFFDE30 BL uart1_rev_a_char
ROM:1FFFDE34 STRB.W R0, [SP,#0x140+var_13A]
ROM:1FFFDE38 LDRB.W R4, [SP,#0x140+var_13A]
ROM:1FFFDE3C BL uart1_rev_a_char
ROM:1FFFDE40 EORS R0, R4 ; 前面2个字节异或的值必须为0xFF
ROM:1FFFDE42 CMP R0, #0xFF
ROM:1FFFDE44 ITT NE ; 看是否为0xFF
ROM:1FFFDE46 MOVNE R0, #0x55
ROM:1FFFDE48 STRNEB.W R0, [SP,#0x140+var_13A]
ROM:1FFFDE4C LDRB.W R0, [SP,#0x140+var_13A]
ROM:1FFFDE50 CBZ R0, send_boot_param ; 接收到00 FF
ROM:1FFFDE50 ; 第一个字节=0x00
ROM:1FFFDE50 ; 发送bootloader的参数 16字节
ROM:1FFFDE52 CMP R0, #1
ROM:1FFFDE54 BEQ get_version_baohubit ; Byte 1: ACK
ROM:1FFFDE54 ; Byte 2: Bootloader version (0 < Version ≤ 255), example: 0x10 = Version 1.0
ROM:1FFFDE54 ; Byte 3: Option byte 1: 0x00 to keep the compatibility with generic bootloader protocol
ROM:1FFFDE54 ; Byte 4: Option byte 2: 0x00 to keep the compatibility with generic bootloader protocol
ROM:1FFFDE54 ; Byte 5: ACK
ROM:1FFFDE56 CMP R0, #2
ROM:1FFFDE58 BEQ get_id
ROM:1FFFDE5A CMP R0, #0x11
ROM:1FFFDE5C BEQ read_mem
ROM:1FFFDE5E CMP R0, #0x21
ROM:1FFFDE60 BEQ cmd_go
ROM:1FFFDE62 CMP R0, #0x31
ROM:1FFFDE64 BEQ.W write_mem
ROM:1FFFDE68 CMP R0, #0x43
ROM:1FFFDE6A BEQ.W loc_1FFFE068
ROM:1FFFDE6E CMP R0, #0x63
ROM:1FFFDE70 BEQ.W loc_1FFFE0C0
ROM:1FFFDE74 CMP R0, #0x73
ROM:1FFFDE76 BEQ.W loc_1FFFE118
ROM:1FFFDE7A CMP R0, #0x82
ROM:1FFFDE7C BEQ.W loc_1FFFE12C
ROM:1FFFDE80 CMP R0, #0x92
ROM:1FFFDE82 BEQ.W loc_1FFFE13E
ROM:1FFFDE86 B send_nack
ROM:1FFFDE88 ; ---------------------------------------------------------------------------
ROM:1FFFDE88
ROM:1FFFDE88 send_boot_param ; CODE XREF: uart_monitor+6Cj
ROM:1FFFDE88 ; uart_monitor+BAj
ROM:1FFFDE88 STR R0, [SP,#0x140+var_140]
ROM:1FFFDE8A LDR R0, [SP,#0x140+var_140]
ROM:1FFFDE8C CMP R0, #0xF
ROM:1FFFDE8E BCS loc_1FFFDE26
ROM:1FFFDE90 LDR R0, [SP,#0x140+var_140]
ROM:1FFFDE92 ADD R1, SP, #0x140+var_130
ROM:1FFFDE94 LDRB R0, [R0,R1]
ROM:1FFFDE96 BL uart_send_a_char
ROM:1FFFDE9A LDR R0, [SP,#0x140+var_140]
ROM:1FFFDE9C ADDS R0, R0, #1
ROM:1FFFDE9E B send_boot_param
ROM:1FFFDEA0 ; ---------------------------------------------------------------------------
ROM:1FFFDEA0
ROM:1FFFDEA0 get_version_baohubit ; CODE XREF: uart_monitor+70j
ROM:1FFFDEA0 BL uart1_send_ack ; Byte 1: ACK
ROM:1FFFDEA0 ; Byte 2: Bootloader version (0 < Version ≤ 255), example: 0x10 = Version 1.0
ROM:1FFFDEA0 ; Byte 3: Option byte 1: 0x00 to keep the compatibility with generic bootloader protocol
ROM:1FFFDEA0 ; Byte 4: Option byte 2: 0x00 to keep the compatibility with generic bootloader protocol
ROM:1FFFDEA0 ; Byte 5: ACK
ROM:1FFFDEA4 MOVS R0, #0x22 ; Byte 2: Bootloader version (0 <Version<= 255), example: 0x10 = Version 1.0
ROM:1FFFDEA6 BL uart_send_a_char
ROM:1FFFDEAA MOVS R0, #0 ; Byte 3: Option byte 1: 0x00 to keep the compatibility with generic bootloader protocol
ROM:1FFFDEAC BL uart_send_a_char
ROM:1FFFDEB0 MOVS R0, #0 ; Byte 4: Option byte 2: 0x00 to keep the compatibility with generic bootloader protocol
ROM:1FFFDEB2 B loc_1FFFDEC6
ROM:1FFFDEB4 ; ---------------------------------------------------------------------------
ROM:1FFFDEB4
ROM:1FFFDEB4 get_id ; CODE XREF: uart_monitor+74j
ROM:1FFFDEB4 BL uart1_send_ack
ROM:1FFFDEB8 MOVS R0, #1
ROM:1FFFDEBA BL uart_send_a_char
ROM:1FFFDEBE MOVS R0, #4
ROM:1FFFDEC0 BL uart_send_a_char
ROM:1FFFDEC4 MOVS R0, #0x18
ROM:1FFFDEC6
ROM:1FFFDEC6 loc_1FFFDEC6 ; CODE XREF: uart_monitor+CEj
ROM:1FFFDEC6 BL uart_send_a_char
ROM:1FFFDECA B uart_send_ack
ROM:1FFFDECC ; ---------------------------------------------------------------------------
ROM:1FFFDECC
ROM:1FFFDECC read_mem ; CODE XREF: uart_monitor+78j
ROM:1FFFDECC BL start_rd_mem
ROM:1FFFDED0 BL get_mem_block
ROM:1FFFDED4 ; ---------------------------------------------------------------------------
ROM:1FFFDED4 BL loc_1FFFE168
ROM:1FFFDED8 ; ---------------------------------------------------------------------------
ROM:1FFFDED8 BEQ loc_1FFFDE26
ROM:1FFFDEDA BL uart1_rev_a_char
ROM:1FFFDEDE STRB.W R0, [SP,#0x140+var_13C]
ROM:1FFFDEE2 LDRB.W R4, [SP,#0x140+var_13C]
ROM:1FFFDEE6 BL uart1_rev_a_char
ROM:1FFFDEEA MVNS R1, R4
ROM:1FFFDEEC UXTB R1, R1
ROM:1FFFDEEE CMP R0, R1
ROM:1FFFDEF0
ROM:1FFFDEF0 loc_1FFFDEF0 ; CODE XREF: uart_monitor+14Cj
ROM:1FFFDEF0 BNE send_nack
ROM:1FFFDEF2 BL uart1_send_ack
ROM:1FFFDEF6 LDRB.W R0, [SP,#0x140+var_13C]
ROM:1FFFDEFA ADDS R0, R0, #1
ROM:1FFFDEFC
ROM:1FFFDEFC loc_1FFFDEFC ; CODE XREF: uart_monitor+130j
ROM:1FFFDEFC STR R0, [SP,#0x140+var_140]
ROM:1FFFDEFE LDR R0, [SP,#0x140+var_140]
ROM:1FFFDF00 CMP R0, #0
ROM:1FFFDF02 BEQ loc_1FFFDE26
ROM:1FFFDF04 LDR R0, [SP,#0x140+var_138]
ROM:1FFFDF06 ADDS R1, R0, #1
ROM:1FFFDF08 STR R1, [SP,#0x140+var_138]
ROM:1FFFDF0A LDRB R0, [R0]
ROM:1FFFDF0C BL uart_send_a_char
ROM:1FFFDF10 LDR R0, [SP,#0x140+var_140]
ROM:1FFFDF12 SUBS R0, R0, #1
ROM:1FFFDF14 B loc_1FFFDEFC
ROM:1FFFDF16 ; ---------------------------------------------------------------------------
ROM:1FFFDF16
ROM:1FFFDF16 cmd_go ; CODE XREF: uart_monitor+7Cj
ROM:1FFFDF16 BL start_rd_mem
ROM:1FFFDF1A BL get_mem_block
ROM:1FFFDF1E ; ---------------------------------------------------------------------------
ROM:1FFFDF1E STRB.W R0, [SP,#0x140+var_13B]
ROM:1FFFDF22 LDRB.W R0, [SP,#0x140+var_13B]
ROM:1FFFDF26 CMP R0, #2
ROM:1FFFDF28 ITT NE
ROM:1FFFDF2A LDRNEB.W R0, [SP,#0x140+var_13B]
ROM:1FFFDF2E CMPNE R0, #3
ROM:1FFFDF30 BNE loc_1FFFDEF0
ROM:1FFFDF32 BL RCC_init
ROM:1FFFDF36 MOVS R0, #0x14
ROM:1FFFDF38 STR R0, [R6,#8]
ROM:1FFFDF3A STR.W R8, [R6]
ROM:1FFFDF3E MOVS R0, #0
ROM:1FFFDF40 STR R0, [R6]
ROM:1FFFDF42 STR.W R8, [R6,#4]
ROM:1FFFDF46 STR R0, [R6,#4]
ROM:1FFFDF48 STR R0, [R6,#0xC]
ROM:1FFFDF4A STR R0, [R6,#0x10]
ROM:1FFFDF4C STR.W R0, [R10]
ROM:1FFFDF50 STR.W R0, [R10,#8]
ROM:1FFFDF54 MOV.W R0, #0x80000
ROM:1FFFDF58 STR.W R0, [R10,#4]
ROM:1FFFDF5C BL enable_irq
ROM:1FFFDF60 LDR R0, [SP,#0x140+var_138]
ROM:1FFFDF62 LDR R4, [R0,#4]
ROM:1FFFDF64 LDR R0, [SP,#0x140+var_138]
ROM:1FFFDF66 LDR R0, [R0]
ROM:1FFFDF68 BL set_MSP
ROM:1FFFDF6C BLX R4
ROM:1FFFDF6E
ROM:1FFFDF6E loc_1FFFDF6E ; CODE XREF: uart_monitor+198j
ROM:1FFFDF6E ; uart_monitor+1A8j
ROM:1FFFDF6E B loc_1FFFDE26
ROM:1FFFDF70 ; ---------------------------------------------------------------------------
ROM:1FFFDF70
ROM:1FFFDF70 write_mem ; CODE XREF: uart_monitor+80j
ROM:1FFFDF70 BL start_rd_mem
ROM:1FFFDF74 BL get_mem_block
ROM:1FFFDF78 ; ---------------------------------------------------------------------------
ROM:1FFFDF78 BL loc_1FFFE168
ROM:1FFFDF7C ; ---------------------------------------------------------------------------
ROM:1FFFDF7C BEQ loc_1FFFDF6E
ROM:1FFFDF7E BL uart1_rev_a_char
ROM:1FFFDF82 BL loc_1FFFE15C
ROM:1FFFDF86 ; ---------------------------------------------------------------------------
ROM:1FFFDF86 BL loc_1FFFE154
ROM:1FFFDF8A CMP R0, #0xAA
ROM:1FFFDF8C BNE loc_1FFFDF6E
ROM:1FFFDF8E LDRB.W R0, [SP,#0x140+var_13B]
ROM:1FFFDF92 CMP R0, #2
ROM:1FFFDF94 BNE loc_1FFFDFCA
ROM:1FFFDF96 ANDS.W R0, R5, #3
ROM:1FFFDF9A ITT NE
ROM:1FFFDF9C ANDNE.W R0, R5, #0xFC
ROM:1FFFDFA0 ADDNE R5, R0, #4
ROM:1FFFDFA2 BL FLASH_UnlockBank1
ROM:1FFFDFA6 STR R5, [SP,#0x140+var_140]
ROM:1FFFDFA8 B loc_1FFFDFC4
ROM:1FFFDFAA ; ---------------------------------------------------------------------------
ROM:1FFFDFAA
ROM:1FFFDFAA loc_1FFFDFAA ; CODE XREF: uart_monitor+1E4j
ROM:1FFFDFAA LDR R0, [SP,#0x140+var_140]
ROM:1FFFDFAC SUB.W R0, R9, R0
ROM:1FFFDFB0 LDR R1, [R5,R0]
ROM:1FFFDFB2 LDR R0, [SP,#0x140+var_138]
ROM:1FFFDFB4 LDR R2, [SP,#0x140+var_140]
ROM:1FFFDFB6 SUBS R0, R0, R2
ROM:1FFFDFB8 ADDS R0, R5, R0
ROM:1FFFDFBA BL FLASH_ProgramWord
ROM:1FFFDFBE LDR R0, [SP,#0x140+var_140]
ROM:1FFFDFC0 SUBS R0, R0, #4
ROM:1FFFDFC2 STR R0, [SP,#0x140+var_140]
ROM:1FFFDFC4
ROM:1FFFDFC4 loc_1FFFDFC4 ; CODE XREF: uart_monitor+1C4j
ROM:1FFFDFC4 LDR R0, [SP,#0x140+var_140]
ROM:1FFFDFC6 CMP R0, #0
ROM:1FFFDFC8 BNE loc_1FFFDFAA
ROM:1FFFDFCA
ROM:1FFFDFCA loc_1FFFDFCA ; CODE XREF: uart_monitor+1B0j
ROM:1FFFDFCA LDRB.W R0, [SP,#0x140+var_13B]
ROM:1FFFDFCE CMP R0, #3
ROM:1FFFDFD0 BNE loc_1FFFDFFE
ROM:1FFFDFD2 ANDS.W R0, R5, #3
ROM:1FFFDFD6 ITT NE
ROM:1FFFDFD8 ANDNE.W R0, R5, #0xFC
ROM:1FFFDFDC ADDNE R5, R0, #4
ROM:1FFFDFDE STR R5, [SP,#0x140+var_140]
ROM:1FFFDFE0 B loc_1FFFDFF8
ROM:1FFFDFE2 ; ---------------------------------------------------------------------------
ROM:1FFFDFE2
ROM:1FFFDFE2 loc_1FFFDFE2 ; CODE XREF: uart_monitor+218j
ROM:1FFFDFE2 LDR R0, [SP,#0x140+var_138]
ROM:1FFFDFE4 LDR R1, [SP,#0x140+var_140]
ROM:1FFFDFE6 SUBS R0, R0, R1
ROM:1FFFDFE8 LDR R1, [SP,#0x140+var_140]
ROM:1FFFDFEA SUB.W R1, R9, R1
ROM:1FFFDFEE LDR R1, [R5,R1]
ROM:1FFFDFF0 STR R1, [R5,R0]
ROM:1FFFDFF2 LDR R0, [SP,#0x140+var_140]
ROM:1FFFDFF4 SUBS R0, R0, #4
ROM:1FFFDFF6 STR R0, [SP,#0x140+var_140]
ROM:1FFFDFF8
ROM:1FFFDFF8 loc_1FFFDFF8 ; CODE XREF: uart_monitor+1FCj
ROM:1FFFDFF8 LDR R0, [SP,#0x140+var_140]
ROM:1FFFDFFA CMP R0, #0
ROM:1FFFDFFC BNE loc_1FFFDFE2
ROM:1FFFDFFE
ROM:1FFFDFFE loc_1FFFDFFE ; CODE XREF: uart_monitor+1ECj
ROM:1FFFDFFE LDRB.W R0, [SP,#0x140+var_13B]
ROM:1FFFE002 CMP R0, #4
ROM:1FFFE004 ITTT EQ
ROM:1FFFE006 LDREQ R0, [SP,#0x140+var_138]
ROM:1FFFE008 LDREQ R1, =0x1FFFF800
ROM:1FFFE00A CMPEQ R0, R1
ROM:1FFFE00C BNE uart_send_ack
ROM:1FFFE00E LSLS R0, R5, #0x1F
ROM:1FFFE010 ITT MI
ROM:1FFFE012 ANDMI.W R0, R5, #0xFE
ROM:1FFFE016 ADDMI R5, R0, #2
ROM:1FFFE018 BL sub_1FFFC046
ROM:1FFFE01C BL FLASH_UnlockBank1
ROM:1FFFE020 BL sub_1FFFC010
ROM:1FFFE024 LDR R0, [R7,#4] ; Enable the Option Bytes Programming operation
ROM:1FFFE024 ; 0x2002200c+4=0x20022010
ROM:1FFFE026 ORR.W R0, R0, #0x10
ROM:1FFFE02A STR R0, [R7,#4]
ROM:1FFFE02C BL FLASH_WaitForLastOperation
ROM:1FFFE030 ; ---------------------------------------------------------------------------
ROM:1FFFE030 STR R5, [SP,#0x140+var_140]
ROM:1FFFE032 B loc_1FFFE050
ROM:1FFFE034 ; ---------------------------------------------------------------------------
ROM:1FFFE034
ROM:1FFFE034 loc_1FFFE034 ; CODE XREF: uart_monitor+270j
ROM:1FFFE034 LDR R0, [SP,#0x140+var_140]
ROM:1FFFE036 SUB.W R0, R9, R0
ROM:1FFFE03A LDRH R0, [R5,R0]
ROM:1FFFE03C UXTB R0, R0
ROM:1FFFE03E LDR R1, [SP,#0x140+var_138]
ROM:1FFFE040 LDR R2, [SP,#0x140+var_140]
ROM:1FFFE042 SUBS R1, R1, R2
ROM:1FFFE044 STRH R0, [R5,R1]
ROM:1FFFE046 BL FLASH_WaitForLastOperation
ROM:1FFFE04A ; ---------------------------------------------------------------------------
ROM:1FFFE04A LDR R0, [SP,#0x140+var_140]
ROM:1FFFE04C SUBS R0, R0, #2
ROM:1FFFE04E STR R0, [SP,#0x140+var_140]
ROM:1FFFE050
ROM:1FFFE050 loc_1FFFE050 ; CODE XREF: uart_monitor+24Ej
ROM:1FFFE050 LDR R0, [SP,#0x140+var_140]
ROM:1FFFE052 CMP R0, #0
ROM:1FFFE054 BNE loc_1FFFE034
ROM:1FFFE056 LDR R0, [R7,#4]
ROM:1FFFE058 BIC.W R0, R0, #0x10
ROM:1FFFE05C STR R0, [R7,#4]
ROM:1FFFE05E BL uart1_send_ack
ROM:1FFFE062 BL sys_reset
ROM:1FFFE066 B uart_send_ack
ROM:1FFFE068 ; ---------------------------------------------------------------------------
ROM:1FFFE068
ROM:1FFFE068 loc_1FFFE068 ; CODE XREF: uart_monitor+86j
ROM:1FFFE068 BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFE068 ;
ROM:1FFFE06C CMP R0, #1
ROM:1FFFE06E BEQ loc_1FFFE132
ROM:1FFFE070 BL uart1_send_ack
ROM:1FFFE074 BL uart1_rev_a_char
ROM:1FFFE078 STRB.W R0, [SP,#0x140+var_13C]
ROM:1FFFE07C LDRB.W R0, [SP,#0x140+var_13C]
ROM:1FFFE080 CMP R0, #0xFF
ROM:1FFFE082 BNE loc_1FFFE090
ROM:1FFFE084 BL uart1_rev_a_char
ROM:1FFFE088 CBNZ R0, uart_send_ack
ROM:1FFFE08A BL sub_1FFFC0C6
ROM:1FFFE08E B uart_send_ack
ROM:1FFFE090 ; ---------------------------------------------------------------------------
ROM:1FFFE090
ROM:1FFFE090 loc_1FFFE090 ; CODE XREF: uart_monitor+29Ej
ROM:1FFFE090 LDRB.W R5, [SP,#0x140+var_13C]
ROM:1FFFE094 BL sub_1FFFE152
ROM:1FFFE098 CMP R0, #0xAA
ROM:1FFFE09A BNE.W send_nack
ROM:1FFFE09E ADDS R0, R5, #1
ROM:1FFFE0A0 B loc_1FFFE0B4
ROM:1FFFE0A2 ; ---------------------------------------------------------------------------
ROM:1FFFE0A2
ROM:1FFFE0A2 loc_1FFFE0A2 ; CODE XREF: uart_monitor+2D6j
ROM:1FFFE0A2 LDRB.W R0, [R4],#1
ROM:1FFFE0A6 LSLS R0, R0, #0xB
ROM:1FFFE0A8 ADD.W R0, R0, #0x8000000
ROM:1FFFE0AC BL FLASH_ErasePage
ROM:1FFFE0B0 LDR R0, [SP,#0x140+var_140]
ROM:1FFFE0B2 SUBS R0, R0, #1
ROM:1FFFE0B4
ROM:1FFFE0B4 loc_1FFFE0B4 ; CODE XREF: uart_monitor+2BCj
ROM:1FFFE0B4 STR R0, [SP,#0x140+var_140]
ROM:1FFFE0B6 LDR R0, [SP,#0x140+var_140]
ROM:1FFFE0B8 CMP R0, #0
ROM:1FFFE0BA BNE loc_1FFFE0A2
ROM:1FFFE0BC
ROM:1FFFE0BC uart_send_ack ; CODE XREF: uart_monitor+E6j
ROM:1FFFE0BC ; uart_monitor+228j ...
ROM:1FFFE0BC MOVS R0, #0x79
ROM:1FFFE0BE B uart2_send_a1
ROM:1FFFE0C0 ; ---------------------------------------------------------------------------
ROM:1FFFE0C0
ROM:1FFFE0C0 loc_1FFFE0C0 ; CODE XREF: uart_monitor+8Cj
ROM:1FFFE0C0 BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFE0C0 ;
ROM:1FFFE0C4 CMP R0, #1
ROM:1FFFE0C6 BEQ loc_1FFFE132 ; 读保护位被设置了
ROM:1FFFE0C8 BL uart1_send_ack
ROM:1FFFE0CC BL uart1_rev_a_char
ROM:1FFFE0D0 BL loc_1FFFE15C
ROM:1FFFE0D4 ; ---------------------------------------------------------------------------
ROM:1FFFE0D4 BL sub_1FFFE152
ROM:1FFFE0D8 CMP R0, #0xAA
ROM:1FFFE0DA BNE loc_1FFFE116
ROM:1FFFE0DC MOVS R0, #0
ROM:1FFFE0DE STR R0, [SP,#0x140+var_134]
ROM:1FFFE0E0 STR R5, [SP,#0x140+var_140]
ROM:1FFFE0E2 MOVS R2, #1
ROM:1FFFE0E4 B loc_1FFFE0FA
ROM:1FFFE0E6 ; ---------------------------------------------------------------------------
ROM:1FFFE0E6
ROM:1FFFE0E6 loc_1FFFE0E6 ; CODE XREF: uart_monitor+31Aj
ROM:1FFFE0E6 LDRB.W R0, [R4],#1
ROM:1FFFE0EA LDR R1, [SP,#0x140+var_134]
ROM:1FFFE0EC LSL.W R0, R2, R0
ROM:1FFFE0F0 ORRS R0, R1
ROM:1FFFE0F2 STR R0, [SP,#0x140+var_134]
ROM:1FFFE0F4 LDR R0, [SP,#0x140+var_140]
ROM:1FFFE0F6 SUBS R0, R0, #1
ROM:1FFFE0F8 STR R0, [SP,#0x140+var_140]
ROM:1FFFE0FA
ROM:1FFFE0FA loc_1FFFE0FA ; CODE XREF: uart_monitor+300j
ROM:1FFFE0FA LDR R0, [SP,#0x140+var_140]
ROM:1FFFE0FC CMP R0, #0
ROM:1FFFE0FE BNE loc_1FFFE0E6
ROM:1FFFE100 BL FLASH_UnlockBank1
ROM:1FFFE104 MOVS R0, #0x35
ROM:1FFFE106 STR R0, [R7]
ROM:1FFFE108 LDR R0, [SP,#0x140+var_134]
ROM:1FFFE10A BL sub_1FFFC0FC
ROM:1FFFE10E
ROM:1FFFE10E loc_1FFFE10E ; CODE XREF: uart_monitor+346j
ROM:1FFFE10E BL uart1_send_ack
ROM:1FFFE112
ROM:1FFFE112 loc_1FFFE112 ; CODE XREF: uart_monitor+36Cj
ROM:1FFFE112 BL sys_reset
ROM:1FFFE116
ROM:1FFFE116 loc_1FFFE116 ; CODE XREF: uart_monitor+2F6j
ROM:1FFFE116 B loc_1FFFDE26
ROM:1FFFE118 ; ---------------------------------------------------------------------------
ROM:1FFFE118
ROM:1FFFE118 loc_1FFFE118 ; CODE XREF: uart_monitor+92j
ROM:1FFFE118 BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFE118 ;
ROM:1FFFE11C CMP R0, #1
ROM:1FFFE11E BEQ loc_1FFFE132
ROM:1FFFE120 BL uart1_send_ack
ROM:1FFFE124 MOVS R0, #0
ROM:1FFFE126
ROM:1FFFE126 loc_1FFFE126 ; CODE XREF: uart_monitor+358j
ROM:1FFFE126 BL sub_1FFFC1AA
ROM:1FFFE12A B loc_1FFFE10E
ROM:1FFFE12C ; ---------------------------------------------------------------------------
ROM:1FFFE12C
ROM:1FFFE12C loc_1FFFE12C ; CODE XREF: uart_monitor+98j
ROM:1FFFE12C BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFE12C ;
ROM:1FFFE130 CMP R0, #1
ROM:1FFFE132
ROM:1FFFE132 loc_1FFFE132 ; CODE XREF: uart_monitor+28Aj
ROM:1FFFE132 ; uart_monitor+2E2j ...
ROM:1FFFE132 BEQ.W send_nack
ROM:1FFFE136 BL uart1_send_ack
ROM:1FFFE13A MOVS R0, #1
ROM:1FFFE13C B loc_1FFFE126
ROM:1FFFE13E ; ---------------------------------------------------------------------------
ROM:1FFFE13E
ROM:1FFFE13E loc_1FFFE13E ; CODE XREF: uart_monitor+9Ej
ROM:1FFFE13E BL uart1_send_ack
ROM:1FFFE142 MOVS R0, #0
ROM:1FFFE144 BL sub_1FFFC1AA
ROM:1FFFE148 BL uart1_send_ack
ROM:1FFFE14C BL clear_all_mem
ROM:1FFFE150 B loc_1FFFE112
ROM:1FFFE150 ; End of function uart_monitor
ROM:1FFFE150
ROM:1FFFE152
ROM:1FFFE152 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE152
ROM:1FFFE152
ROM:1FFFE152 sub_1FFFE152 ; CODE XREF: uart_monitor+2B0p
ROM:1FFFE152 ; uart_monitor+2F0p
ROM:1FFFE152
ROM:1FFFE152 arg_4 = 4
ROM:1FFFE152
ROM:1FFFE152 MOV R4, R9
ROM:1FFFE154
ROM:1FFFE154 loc_1FFFE154 ; CODE XREF: uart_monitor+1A2p
ROM:1FFFE154 MOV R1, R9
ROM:1FFFE156 LDRB.W R0, [SP,#arg_4]
ROM:1FFFE15A B sub_1FFFE1FE
ROM:1FFFE15A ; End of function sub_1FFFE152
ROM:1FFFE15A
ROM:1FFFE15C ; ---------------------------------------------------------------------------
ROM:1FFFE15C ; START OF FUNCTION CHUNK FOR uart_monitor
ROM:1FFFE15C
ROM:1FFFE15C loc_1FFFE15C ; CODE XREF: uart_monitor+19Ej
ROM:1FFFE15C ; uart_monitor+2ECj
ROM:1FFFE15C STRB.W R0, [SP,#0x140+var_13C]
ROM:1FFFE160 LDRB.W R0, [SP,#0x140+var_13C]
ROM:1FFFE164 ADDS R5, R0, #1
ROM:1FFFE166 BX LR
ROM:1FFFE168 ; ---------------------------------------------------------------------------
ROM:1FFFE168
ROM:1FFFE168 loc_1FFFE168 ; CODE XREF: uart_monitor+F0j
ROM:1FFFE168 ; uart_monitor+194j
ROM:1FFFE168 STRB.W R0, [SP,#0x140+var_13B]
ROM:1FFFE16C LDRB.W R0, [SP,#0x140+var_13B]
ROM:1FFFE170 CMP R0, #1
ROM:1FFFE172 BX LR
ROM:1FFFE174 ; ---------------------------------------------------------------------------
ROM:1FFFE174
ROM:1FFFE174 get_mem_block ; CODE XREF: uart_monitor+ECj
ROM:1FFFE174 ; uart_monitor+136j ...
ROM:1FFFE174 STR R0, [SP,#8]
ROM:1FFFE176 LDR R0, [SP,#8]
ROM:1FFFE178 B.W get_mem_block
ROM:1FFFE178 ; END OF FUNCTION CHUNK FOR uart_monitor
ROM:1FFFE17C
ROM:1FFFE17C ; =============== S U B R O U T I N E =======================================
ROM:1FFFE17C
ROM:1FFFE17C
ROM:1FFFE17C uart1_send_ack ; CODE XREF: uart_monitor:get_version_baohubitp
ROM:1FFFE17C ; uart_monitor:get_idp ...
ROM:1FFFE17C MOVS R0, #0x79
ROM:1FFFE17E B uart_send_a_char
ROM:1FFFE17E ; End of function uart1_send_ack
ROM:1FFFE17E
ROM:1FFFE180
ROM:1FFFE180 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE180
ROM:1FFFE180
ROM:1FFFE180 uart1_rev_a_char ; CODE XREF: uart_monitor+4Cp
ROM:1FFFE180 ; uart_monitor+58p ...
ROM:1FFFE180 LDR R0, =0x20000190
ROM:1FFFE182 LDR R0, [R0]
ROM:1FFFE184 MOVW R2, #0xAAAA
ROM:1FFFE188 B loc_1FFFE18E
ROM:1FFFE18A ; ---------------------------------------------------------------------------
ROM:1FFFE18A
ROM:1FFFE18A loc_1FFFE18A ; CODE XREF: uart1_rev_a_char+12j
ROM:1FFFE18A LDR R1, =0x40003000
ROM:1FFFE18C STR R2, [R1]
ROM:1FFFE18E
ROM:1FFFE18E loc_1FFFE18E ; CODE XREF: uart1_rev_a_char+8j
ROM:1FFFE18E LDRH R1, [R0]
ROM:1FFFE190 LSLS R1, R1, #0x1A
ROM:1FFFE192 BPL loc_1FFFE18A
ROM:1FFFE194 LDRH R0, [R0,#4]
ROM:1FFFE196 UXTB R0, R0
ROM:1FFFE198 BX LR
ROM:1FFFE198 ; End of function uart1_rev_a_char
ROM:1FFFE198
ROM:1FFFE19A
ROM:1FFFE19A ; =============== S U B R O U T I N E =======================================
ROM:1FFFE19A
ROM:1FFFE19A
ROM:1FFFE19A uart_send_a_char ; CODE XREF: uart_ready+36p
ROM:1FFFE19A ; uart_monitor:uart2_send_a1p ...
ROM:1FFFE19A LDR R1, =0x20000190 ; 0x1FFFEB64
ROM:1FFFE19C LDR R1, [R1]
ROM:1FFFE19E STRH R0, [R1,#4]
ROM:1FFFE1A0
ROM:1FFFE1A0 loc_1FFFE1A0 ; CODE XREF: uart_send_a_char+Aj
ROM:1FFFE1A0 LDRH R0, [R1]
ROM:1FFFE1A2 LSLS R0, R0, #0x19
ROM:1FFFE1A4 BPL loc_1FFFE1A0
ROM:1FFFE1A6 BX LR
ROM:1FFFE1A6 ; End of function uart_send_a_char
ROM:1FFFE1A6
ROM:1FFFE1A8
ROM:1FFFE1A8 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE1A8
ROM:1FFFE1A8
ROM:1FFFE1A8 start_rd_mem ; CODE XREF: uart_monitor:read_memp
ROM:1FFFE1A8 ; uart_monitor:cmd_gop ...
ROM:1FFFE1A8 PUSH {R3-R7,LR}
ROM:1FFFE1AA BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFE1AA ;
ROM:1FFFE1AE CBNZ R0, quit_rd_mem
ROM:1FFFE1B0 MOVS R0, #0x79
ROM:1FFFE1B2 BL uart_send_a_char
ROM:1FFFE1B6 BL uart1_rev_a_char
ROM:1FFFE1BA MOV R4, R0
ROM:1FFFE1BC BL uart1_rev_a_char
ROM:1FFFE1C0 LSLS R1, R0, #0x10
ROM:1FFFE1C2 ORR.W R5, R1, R4,LSL#24
ROM:1FFFE1C6 EORS R4, R0
ROM:1FFFE1C8 BL uart1_rev_a_char
ROM:1FFFE1CC MOV R6, R0
ROM:1FFFE1CE BL uart1_rev_a_char
ROM:1FFFE1D2 MOV R7, R0
ROM:1FFFE1D4 ORR.W R0, R7, R6,LSL#8
ROM:1FFFE1D8 ORRS R5, R0
ROM:1FFFE1DA BL uart1_rev_a_char
ROM:1FFFE1DE EOR.W R1, R6, R4
ROM:1FFFE1E2 EORS R1, R7
ROM:1FFFE1E4 CMP R0, R1
ROM:1FFFE1E6 BNE quit_rd_mem
ROM:1FFFE1E8 MOVS R0, #0x79
ROM:1FFFE1EA BL uart_send_a_char
ROM:1FFFE1EE MOV R0, R5
ROM:1FFFE1F0 POP {R1,R4-R7,PC}
ROM:1FFFE1F2 ; ---------------------------------------------------------------------------
ROM:1FFFE1F2
ROM:1FFFE1F2 quit_rd_mem ; CODE XREF: start_rd_mem+6j
ROM:1FFFE1F2 ; start_rd_mem+3Ej
ROM:1FFFE1F2 MOVS R0, #0x1F
ROM:1FFFE1F4 BL uart_send_a_char
ROM:1FFFE1F8 MOV.W R0, #0x55555555
ROM:1FFFE1FC POP {R1,R4-R7,PC}
ROM:1FFFE1FC ; End of function start_rd_mem
ROM:1FFFE1FC
ROM:1FFFE1FE
ROM:1FFFE1FE ; =============== S U B R O U T I N E =======================================
ROM:1FFFE1FE
ROM:1FFFE1FE
ROM:1FFFE1FE sub_1FFFE1FE ; CODE XREF: sub_1FFFE152+8j
ROM:1FFFE1FE
ROM:1FFFE1FE var_18 = -0x18
ROM:1FFFE1FE var_14 = -0x14
ROM:1FFFE1FE var_C = -0xC
ROM:1FFFE1FE
ROM:1FFFE1FE PUSH {R0,R4,LR}
ROM:1FFFE200 SUB SP, SP, #0xC
ROM:1FFFE202 MOV R4, R1
ROM:1FFFE204 MOVS R0, #0
ROM:1FFFE206 STR R0, [SP,#0x18+var_14]
ROM:1FFFE208 STR R0, [SP,#0x18+var_18]
ROM:1FFFE20A LDRB.W R0, [SP,#0x18+var_C]
ROM:1FFFE20E LDRB.W R1, [SP,#0x18+var_C]
ROM:1FFFE212 STR R1, [SP,#0x18+var_14]
ROM:1FFFE214 ADDS R0, R0, #1
ROM:1FFFE216 B loc_1FFFE236
ROM:1FFFE218 ; ---------------------------------------------------------------------------
ROM:1FFFE218
ROM:1FFFE218 loc_1FFFE218 ; CODE XREF: sub_1FFFE1FE+3Ej
ROM:1FFFE218 BL uart1_rev_a_char
ROM:1FFFE21C STRB.W R0, [SP,#0x18+var_C]
ROM:1FFFE220 LDR R0, [SP,#0x18+var_14]
ROM:1FFFE222 LDRB.W R1, [SP,#0x18+var_C]
ROM:1FFFE226 EORS R0, R1
ROM:1FFFE228 STR R0, [SP,#0x18+var_14]
ROM:1FFFE22A LDRB.W R0, [SP,#0x18+var_C]
ROM:1FFFE22E STRB.W R0, [R4],#1
ROM:1FFFE232 LDR R0, [SP,#0x18+var_18]
ROM:1FFFE234 SUBS R0, R0, #1
ROM:1FFFE236
ROM:1FFFE236 loc_1FFFE236 ; CODE XREF: sub_1FFFE1FE+18j
ROM:1FFFE236 STR R0, [SP,#0x18+var_18]
ROM:1FFFE238 LDR R0, [SP,#0x18+var_18]
ROM:1FFFE23A CMP R0, #0
ROM:1FFFE23C BNE loc_1FFFE218
ROM:1FFFE23E BL uart1_rev_a_char
ROM:1FFFE242 LDR R1, [SP,#0x18+var_14]
ROM:1FFFE244 CMP R0, R1
ROM:1FFFE246 BEQ loc_1FFFE252
ROM:1FFFE248 MOVS R0, #0x1F
ROM:1FFFE24A BL uart_send_a_char
ROM:1FFFE24E MOVS R0, #0x55
ROM:1FFFE250 B loc_1FFFE254
ROM:1FFFE252 ; ---------------------------------------------------------------------------
ROM:1FFFE252
ROM:1FFFE252 loc_1FFFE252 ; CODE XREF: sub_1FFFE1FE+48j
ROM:1FFFE252 MOVS R0, #0xAA
ROM:1FFFE254
ROM:1FFFE254 loc_1FFFE254 ; CODE XREF: sub_1FFFE1FE+52j
ROM:1FFFE254 ADD SP, SP, #0x10
ROM:1FFFE256 POP {R4,PC}
ROM:1FFFE256 ; End of function sub_1FFFE1FE
ROM:1FFFE256
ROM:1FFFE256 ; ---------------------------------------------------------------------------
ROM:1FFFE258 dword_1FFFE258 DCD 0x20000190 ; DATA XREF: uart_ready+6r
ROM:1FFFE258 ; uart1_rev_a_charr ...
ROM:1FFFE25C dword_1FFFE25C DCD 0x20000194 ; DATA XREF: uart_ready+10r
ROM:1FFFE260 dword_1FFFE260 DCD 0xE000E010 ; DATA XREF: uart_monitor+2Ar
ROM:1FFFE264 dword_1FFFE264 DCD 0x4002100C ; DATA XREF: uart_monitor+2Er
ROM:1FFFE268 dword_1FFFE268 DCD 0x4002200C ; DATA XREF: uart_monitor+32r
ROM:1FFFE26C dword_1FFFE26C DCD 0x40003000 ; DATA XREF: uart_monitor:loc_1FFFDE26r
ROM:1FFFE26C ; uart1_rev_a_char:loc_1FFFE18Ar
ROM:1FFFE270 dword_1FFFE270 DCD 0x1FFFF800 ; DATA XREF: uart_monitor+224r
ROM:1FFFE274 boot_param_block DCB 0x79 ; y ; DATA XREF: uart_monitor+8o
ROM:1FFFE274 ; host 00 ff命令的设备响应字符串
ROM:1FFFE274 ; byte 1:ACK
ROM:1FFFE275 DCB 0xB ; Byte 2: N = 11 = the number of bytes to follow – 1 except current and ACKs.
ROM:1FFFE276 DCB 0x22 ; " ; Byte 3: Bootloader version (0 < Version < 255), example: 0x22 = Version 2.2
ROM:1FFFE277 DCB 0 ; Byte 4: 0x00 – Get command
ROM:1FFFE278 DCB 1 ; Byte 5: 0x01 – Get Version and Read Protection Status
ROM:1FFFE279 DCB 2 ; Byte 6: 0x02 – Get ID
ROM:1FFFE27A DCB 0x11 ; Byte 7: 0x11 – Read Memory command
ROM:1FFFE27B DCB 0x21 ; ! ; Byte 8: 0x21 – Go command
ROM:1FFFE27C DCB 0x31 ; 1 ; Byte 9: 0x31 – Write Memory command
ROM:1FFFE27D DCB 0x43 ; C ; Byte 10: 0x43 or
ROM:1FFFE27D ; 0x44
ROM:1FFFE27D ; – Erase command or Extended Erase command (these commands are
ROM:1FFFE27D ; exlusive)
ROM:1FFFE27E DCB 0x63 ; c ; Byte 11: 0x63 – Write Protect command
ROM:1FFFE27F DCB 0x73 ; s ; Byte 12: 0x73 – Write Unprotect command
ROM:1FFFE280 DCB 0x82 ; ; Byte 13: 0x82 – Readout Protect command
ROM:1FFFE281 DCB 0x92 ; ; Byte 14: 0x92 – Readout Unprotect command
ROM:1FFFE282 DCB 0x79 ; y ; Last byte (15): ACK
ROM:1FFFE283 DCB 0
ROM:1FFFE284 ; ---------------------------------------------------------------------------
ROM:1FFFE284
ROM:1FFFE284 usb_fs_int_proc ; CODE XREF: ROM:OTG_FS_IRQHandlerj
ROM:1FFFE284 PUSH {R4-R6,LR}
ROM:1FFFE286 MOVS R4, #0
ROM:1FFFE288 BL sub_1FFFD6C2
ROM:1FFFE28C CMP R0, #0
ROM:1FFFE28E BEQ loc_1FFFE352
ROM:1FFFE290 BL sub_1FFFD6D4
ROM:1FFFE294 MOVS R5, R0
ROM:1FFFE296 BNE loc_1FFFE29C
ROM:1FFFE298 MOVS R0, #0
ROM:1FFFE29A POP {R4-R6,PC}
ROM:1FFFE29C ; ---------------------------------------------------------------------------
ROM:1FFFE29C
ROM:1FFFE29C loc_1FFFE29C ; CODE XREF: ROM:1FFFE296j
ROM:1FFFE29C IT MI
ROM:1FFFE29E MOVMI R4, #1
ROM:1FFFE2A0 LSLS R0, R5, #0x14
ROM:1FFFE2A2 IT MI
ROM:1FFFE2A4 MOVMI R4, #1
ROM:1FFFE2A6 LDR R6, =0x20000B34
ROM:1FFFE2A8 LSLS R0, R5, #0x1C
ROM:1FFFE2AA BPL loc_1FFFE2B4
ROM:1FFFE2AC LDR R0, [R6]
ROM:1FFFE2AE MOVS R1, #8
ROM:1FFFE2B0 STR R1, [R0,#0x14]
ROM:1FFFE2B2 MOVS R4, #1
ROM:1FFFE2B4
ROM:1FFFE2B4 loc_1FFFE2B4 ; CODE XREF: ROM:1FFFE2AAj
ROM:1FFFE2B4 LSLS R0, R5, #0x1B
ROM:1FFFE2B6 BPL loc_1FFFE2BE
ROM:1FFFE2B8 BL sub_1FFFE4B0
ROM:1FFFE2BC ORRS R4, R0
ROM:1FFFE2BE
ROM:1FFFE2BE loc_1FFFE2BE ; CODE XREF: ROM:1FFFE2B6j
ROM:1FFFE2BE LSLS R0, R5, #0x12
ROM:1FFFE2C0 BPL loc_1FFFE334
ROM:1FFFE2C2 BL sub_1FFFD7D6
ROM:1FFFE2C6 LDR R0, [R6]
ROM:1FFFE2C8 LDR R1, [R0,#0xC]
ROM:1FFFE2CA LDR R2, [R6,#4]
ROM:1FFFE2CC LDR R2, [R2,#8]
ROM:1FFFE2CE LSRS R2, R2, #1
ROM:1FFFE2D0 AND.W R2, R2, #3
ROM:1FFFE2D4 CMP R2, #1
ROM:1FFFE2D6 ITEE NE
ROM:1FFFE2D8 CMPNE R2, #3
ROM:1FFFE2DA BICEQ.W R1, R1, #0x3C00
ROM:1FFFE2DE ORREQ.W R1, R1, #0x2400
ROM:1FFFE2E2 STR R1, [R0,#0xC]
ROM:1FFFE2E4 MOV.W R1, #0x2000
ROM:1FFFE2E8 STR R1, [R0,#0x14]
ROM:1FFFE2EA ORR.W R4, R4, #1
ROM:1FFFE2EE LDR R0, =0x20000198
ROM:1FFFE2F0 LDR R1, [R0]
ROM:1FFFE2F2 CBNZ R1, loc_1FFFE334
ROM:1FFFE2F4 LDR R1, =0x40010808
ROM:1FFFE2F6 LDR R1, [R1]
ROM:1FFFE2F8 LSLS R1, R1, #0x16
ROM:1FFFE2FA BPL loc_1FFFE334
ROM:1FFFE2FC MOVW R1, #0xAAA
ROM:1FFFE300 STR R1, [R0]
ROM:1FFFE302 LDR R5, =0x20000C48
ROM:1FFFE304 MOVS R0, #0
ROM:1FFFE306 STRB R0, [R5]
ROM:1FFFE308 BL sub_1FFFBBF0
ROM:1FFFE30C LDR R0, [R5,#4]
ROM:1FFFE30E CBZ R0, loc_1FFFE328
ROM:1FFFE310 CMP R0, #2
ROM:1FFFE312 BEQ loc_1FFFE322
ROM:1FFFE314 BCC loc_1FFFE31C
ROM:1FFFE316 CMP R0, #3
ROM:1FFFE318 BEQ loc_1FFFE328
ROM:1FFFE31A B loc_1FFFE32E
ROM:1FFFE31C ; ---------------------------------------------------------------------------
ROM:1FFFE31C
ROM:1FFFE31C loc_1FFFE31C ; CODE XREF: ROM:1FFFE314j
ROM:1FFFE31C BL sub_1FFFBE1A
ROM:1FFFE320 B loc_1FFFE352
ROM:1FFFE322 ; ---------------------------------------------------------------------------
ROM:1FFFE322
ROM:1FFFE322 loc_1FFFE322 ; CODE XREF: ROM:1FFFE312j
ROM:1FFFE322 BL sub_1FFFBEC2
ROM:1FFFE326 B loc_1FFFE352
ROM:1FFFE328 ; ---------------------------------------------------------------------------
ROM:1FFFE328
ROM:1FFFE328 loc_1FFFE328 ; CODE XREF: ROM:1FFFE30Ej
ROM:1FFFE328 ; ROM:1FFFE318j
ROM:1FFFE328 BL sub_1FFFBD18
ROM:1FFFE32C B loc_1FFFE352
ROM:1FFFE32E ; ---------------------------------------------------------------------------
ROM:1FFFE32E
ROM:1FFFE32E loc_1FFFE32E ; CODE XREF: ROM:1FFFE31Aj
ROM:1FFFE32E BL sys_reset
ROM:1FFFE332 B loc_1FFFE352
ROM:1FFFE334 ; ---------------------------------------------------------------------------
ROM:1FFFE334
ROM:1FFFE334 loc_1FFFE334 ; CODE XREF: ROM:1FFFE2C0j
ROM:1FFFE334 ; ROM:1FFFE2F2j ...
ROM:1FFFE334 LSLS R0, R5, #0x13
ROM:1FFFE336 BPL loc_1FFFE33E
ROM:1FFFE338 BL sub_1FFFE536
ROM:1FFFE33C ORRS R4, R0
ROM:1FFFE33E
ROM:1FFFE33E loc_1FFFE33E ; CODE XREF: ROM:1FFFE336j
ROM:1FFFE33E LSLS R0, R5, #0xD
ROM:1FFFE340 BPL loc_1FFFE348
ROM:1FFFE342 BL sub_1FFFE356
ROM:1FFFE346 ORRS R4, R0
ROM:1FFFE348
ROM:1FFFE348 loc_1FFFE348 ; CODE XREF: ROM:1FFFE340j
ROM:1FFFE348 LSLS R0, R5, #0xC
ROM:1FFFE34A BPL loc_1FFFE352
ROM:1FFFE34C BL sub_1FFFE430
ROM:1FFFE350 ORRS R4, R0
ROM:1FFFE352
ROM:1FFFE352 loc_1FFFE352 ; CODE XREF: ROM:1FFFE28Ej
ROM:1FFFE352 ; ROM:1FFFE320j ...
ROM:1FFFE352 MOV R0, R4
ROM:1FFFE354 POP {R4-R6,PC}
ROM:1FFFE356
ROM:1FFFE356 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE356
ROM:1FFFE356
ROM:1FFFE356 sub_1FFFE356 ; CODE XREF: ROM:1FFFE342p
ROM:1FFFE356 PUSH.W {R3-R9,LR}
ROM:1FFFE35A MOVS R6, #0
ROM:1FFFE35C BL sub_1FFFDA78
ROM:1FFFE360 MOVS.W R9, R0
ROM:1FFFE364 LDR R4, =0x20000098
ROM:1FFFE366 LDR.W R8, =0x20000B34
ROM:1FFFE36A B loc_1FFFE3C6
ROM:1FFFE36C ; ---------------------------------------------------------------------------
ROM:1FFFE36C
ROM:1FFFE36C loc_1FFFE36C ; CODE XREF: sub_1FFFE356+BCj
ROM:1FFFE36C ADD.W R0, R4, R6,LSL#2
ROM:1FFFE370 LDR R0, [R0,#4]
ROM:1FFFE372 BLX R0
ROM:1FFFE374
ROM:1FFFE374 loc_1FFFE374 ; CODE XREF: sub_1FFFE356+A4j
ROM:1FFFE374 ; sub_1FFFE356+D2j
ROM:1FFFE374 LSLS R0, R5, #0x1D
ROM:1FFFE376 BPL loc_1FFFE380
ROM:1FFFE378 MOVS R5, #4
ROM:1FFFE37A LDR R0, [R7,#0xC]
ROM:1FFFE37C MOVS R1, #4
ROM:1FFFE37E STR R5, [R0,#8]
ROM:1FFFE380
ROM:1FFFE380 loc_1FFFE380 ; CODE XREF: sub_1FFFE356+20j
ROM:1FFFE380 LSLS R0, R5, #0x1C
ROM:1FFFE382 BPL loc_1FFFE38C
ROM:1FFFE384 MOVS R5, #8
ROM:1FFFE386 LDR R0, [R7,#0xC]
ROM:1FFFE388 MOVS R1, #8
ROM:1FFFE38A STR R5, [R0,#8]
ROM:1FFFE38C
ROM:1FFFE38C loc_1FFFE38C ; CODE XREF: sub_1FFFE356+2Cj
ROM:1FFFE38C LSLS R0, R5, #0x1B
ROM:1FFFE38E BPL loc_1FFFE398
ROM:1FFFE390 MOVS R5, #0x10
ROM:1FFFE392 LDR R0, [R7,#0xC]
ROM:1FFFE394 MOVS R1, #0x10
ROM:1FFFE396 STR R5, [R0,#8]
ROM:1FFFE398
ROM:1FFFE398 loc_1FFFE398 ; CODE XREF: sub_1FFFE356+38j
ROM:1FFFE398 LSLS R0, R5, #0x1A
ROM:1FFFE39A BPL loc_1FFFE3A4
ROM:1FFFE39C MOVS R5, #0x20
ROM:1FFFE39E LDR R0, [R7,#0xC]
ROM:1FFFE3A0 MOVS R1, #0x20
ROM:1FFFE3A2 STR R5, [R0,#8]
ROM:1FFFE3A4
ROM:1FFFE3A4 loc_1FFFE3A4 ; CODE XREF: sub_1FFFE356+44j
ROM:1FFFE3A4 LSLS R0, R5, #0x19
ROM:1FFFE3A6 BPL loc_1FFFE3B0
ROM:1FFFE3A8 MOVS R5, #0x40
ROM:1FFFE3AA LDR R0, [R7,#0xC]
ROM:1FFFE3AC MOVS R1, #0x40
ROM:1FFFE3AE STR R5, [R0,#8]
ROM:1FFFE3B0
ROM:1FFFE3B0 loc_1FFFE3B0 ; CODE XREF: sub_1FFFE356+50j
ROM:1FFFE3B0 LSLS R0, R5, #0x18
ROM:1FFFE3B2 BPL loc_1FFFE3C0
ROM:1FFFE3B4 MOV R0, R6
ROM:1FFFE3B6 BL sub_1FFFE578
ROM:1FFFE3BA LDR R0, [R7,#0xC]
ROM:1FFFE3BC MOVS R1, #0x80
ROM:1FFFE3BE STR R1, [R0,#8]
ROM:1FFFE3C0
ROM:1FFFE3C0 loc_1FFFE3C0 ; CODE XREF: sub_1FFFE356+5Cj
ROM:1FFFE3C0 ; sub_1FFFE356+76j
ROM:1FFFE3C0 ADDS R6, R6, #1
ROM:1FFFE3C2 MOVS.W R9, R9,LSR#1
ROM:1FFFE3C6
ROM:1FFFE3C6 loc_1FFFE3C6 ; CODE XREF: sub_1FFFE356+14j
ROM:1FFFE3C6 BEQ loc_1FFFE42A
ROM:1FFFE3C8 MOVS.W R0, R9,LSL#31
ROM:1FFFE3CC BPL loc_1FFFE3C0
ROM:1FFFE3CE MOV R0, R6
ROM:1FFFE3D0 BL sub_1FFFDC7A
ROM:1FFFE3D4 LDR.W R1, [R8,#4]
ROM:1FFFE3D8 LDR R2, [R1,#0x10]
ROM:1FFFE3DA LDR R3, [R1,#0x34]
ROM:1FFFE3DC LDRB R0, [R0]
ROM:1FFFE3DE ADD.W R5, R8, R0,LSL#2
ROM:1FFFE3E2 LDR R5, [R5,#0xC]
ROM:1FFFE3E4 LDR R7, [R5,#8]
ROM:1FFFE3E6 LSRS R3, R0
ROM:1FFFE3E8 AND.W R3, R3, #1
ROM:1FFFE3EC ORR.W R2, R2, R3,LSL#7
ROM:1FFFE3F0 AND.W R5, R2, R7
ROM:1FFFE3F4 ADD.W R7, R8, R6,LSL#2
ROM:1FFFE3F8 LSLS R2, R5, #0x1F
ROM:1FFFE3FA BPL loc_1FFFE374
ROM:1FFFE3FC LDR R2, [R1,#0x34]
ROM:1FFFE3FE MOVS R3, #1
ROM:1FFFE400 LSL.W R0, R3, R0
ROM:1FFFE404 BIC.W R0, R2, R0
ROM:1FFFE408 STR R0, [R1,#0x34]
ROM:1FFFE40A MOVS R5, #1
ROM:1FFFE40C LDR R0, [R7,#0xC]
ROM:1FFFE40E STR R3, [R0,#8]
ROM:1FFFE410 CMP R6, #0
ROM:1FFFE412 BNE loc_1FFFE36C
ROM:1FFFE414 BL sub_1FFFD3B8
ROM:1FFFE418 LDRH R1, [R4]
ROM:1FFFE41A MOVS R0, #0
ROM:1FFFE41C BL sub_1FFFCBF2
ROM:1FFFE420 LDRH R1, [R4,#2]
ROM:1FFFE422 MOVS R0, #0
ROM:1FFFE424 BL sub_1FFFCBD0
ROM:1FFFE428 B loc_1FFFE374
ROM:1FFFE42A ; ---------------------------------------------------------------------------
ROM:1FFFE42A
ROM:1FFFE42A loc_1FFFE42A ; CODE XREF: sub_1FFFE356:loc_1FFFE3C6j
ROM:1FFFE42A MOVS R0, #1
ROM:1FFFE42C POP.W {R1,R4-R9,PC}
ROM:1FFFE42C ; End of function sub_1FFFE356
ROM:1FFFE42C
ROM:1FFFE430
ROM:1FFFE430 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE430
ROM:1FFFE430
ROM:1FFFE430 sub_1FFFE430 ; CODE XREF: ROM:1FFFE34Cp
ROM:1FFFE430 PUSH.W {R4-R8,LR}
ROM:1FFFE434 MOVS R4, #0
ROM:1FFFE436 BL sub_1FFFDA56
ROM:1FFFE43A MOVS R5, R0
ROM:1FFFE43C LDR.W R8, =0x20000098
ROM:1FFFE440 B loc_1FFFE480
ROM:1FFFE442 ; ---------------------------------------------------------------------------
ROM:1FFFE442
ROM:1FFFE442 loc_1FFFE442 ; CODE XREF: sub_1FFFE430+76j
ROM:1FFFE442 ADD.W R0, R8, R4,LSL#2
ROM:1FFFE446 LDR R0, [R0,#0x1C]
ROM:1FFFE448 BLX R0
ROM:1FFFE44A
ROM:1FFFE44A loc_1FFFE44A ; CODE XREF: sub_1FFFE430+6Aj
ROM:1FFFE44A ; sub_1FFFE430+7Cj
ROM:1FFFE44A LSLS R0, R6, #0x1E
ROM:1FFFE44C BPL loc_1FFFE456
ROM:1FFFE44E MOVS R6, #2
ROM:1FFFE450 LDR R0, [R7,#0x2C]
ROM:1FFFE452 MOVS R1, #2
ROM:1FFFE454 STR R1, [R0,#8]
ROM:1FFFE456
ROM:1FFFE456 loc_1FFFE456 ; CODE XREF: sub_1FFFE430+1Cj
ROM:1FFFE456 LSLS R0, R6, #0x1D
ROM:1FFFE458 BPL loc_1FFFE462
ROM:1FFFE45A MOVS R6, #4
ROM:1FFFE45C LDR R0, [R7,#0x2C]
ROM:1FFFE45E MOVS R1, #4
ROM:1FFFE460 STR R1, [R0,#8]
ROM:1FFFE462
ROM:1FFFE462 loc_1FFFE462 ; CODE XREF: sub_1FFFE430+28j
ROM:1FFFE462 LSLS R0, R6, #0x1C
ROM:1FFFE464 BPL loc_1FFFE47C
ROM:1FFFE466 CBNZ R4, loc_1FFFE476
ROM:1FFFE468 BL sub_1FFFD356
ROM:1FFFE46C LDRH.W R1, [R8,#2]
ROM:1FFFE470 MOVS R0, #0x80
ROM:1FFFE472 BL sub_1FFFCBD0
ROM:1FFFE476
ROM:1FFFE476 loc_1FFFE476 ; CODE XREF: sub_1FFFE430+36j
ROM:1FFFE476 LDR R0, [R7,#0x2C]
ROM:1FFFE478 MOVS R1, #8
ROM:1FFFE47A STR R1, [R0,#8]
ROM:1FFFE47C
ROM:1FFFE47C loc_1FFFE47C ; CODE XREF: sub_1FFFE430+34j
ROM:1FFFE47C ; sub_1FFFE430+54j
ROM:1FFFE47C ADDS R4, R4, #1
ROM:1FFFE47E LSRS R5, R5, #1
ROM:1FFFE480
ROM:1FFFE480 loc_1FFFE480 ; CODE XREF: sub_1FFFE430+10j
ROM:1FFFE480 BEQ loc_1FFFE4AE
ROM:1FFFE482 LSLS R0, R5, #0x1F
ROM:1FFFE484 BPL loc_1FFFE47C
ROM:1FFFE486 MOV R0, R4
ROM:1FFFE488 BL sub_1FFFDCA2
ROM:1FFFE48C BL sub_1FFFDA64
ROM:1FFFE490 MOV R6, R0
ROM:1FFFE492 LDR R0, =0x20000B34
ROM:1FFFE494 ADD.W R7, R0, R4,LSL#2
ROM:1FFFE498 LSLS R0, R6, #0x1F
ROM:1FFFE49A BPL loc_1FFFE44A
ROM:1FFFE49C MOVS R6, #1
ROM:1FFFE49E LDR R0, [R7,#0x2C]
ROM:1FFFE4A0 MOVS R1, #1
ROM:1FFFE4A2 STR R1, [R0,#8]
ROM:1FFFE4A4 CMP R4, #0
ROM:1FFFE4A6 BNE loc_1FFFE442
ROM:1FFFE4A8 BL sub_1FFFD406
ROM:1FFFE4AC B loc_1FFFE44A
ROM:1FFFE4AE ; ---------------------------------------------------------------------------
ROM:1FFFE4AE
ROM:1FFFE4AE loc_1FFFE4AE ; CODE XREF: sub_1FFFE430:loc_1FFFE480j
ROM:1FFFE4AE B loc_1FFFE530
ROM:1FFFE4AE ; End of function sub_1FFFE430
ROM:1FFFE4AE
ROM:1FFFE4B0
ROM:1FFFE4B0 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE4B0
ROM:1FFFE4B0
ROM:1FFFE4B0 sub_1FFFE4B0 ; CODE XREF: ROM:1FFFE2B8p
ROM:1FFFE4B0 PUSH.W {R4-R8,LR}
ROM:1FFFE4B4 LDR R4, =0x20000B34
ROM:1FFFE4B6 LDR R0, [R4]
ROM:1FFFE4B8 LDR R1, [R0,#0x18]
ROM:1FFFE4BA BIC.W R1, R1, #0x10
ROM:1FFFE4BE STR R1, [R0,#0x18]
ROM:1FFFE4C0 LDR R5, [R0,#0x20]
ROM:1FFFE4C2 AND.W R0, R5, #0xF
ROM:1FFFE4C6 BL sub_1FFFDCA2
ROM:1FFFE4CA MOV R6, R0
ROM:1FFFE4CC UBFX.W R8, R5, #4, #0xB
ROM:1FFFE4D0 LDR R7, =0x20000BC8
ROM:1FFFE4D2 LSRS R0, R5, #0x11
ROM:1FFFE4D4 AND.W R0, R0, #0xF
ROM:1FFFE4D8 CMP R0, #2
ROM:1FFFE4DA BEQ loc_1FFFE4E6
ROM:1FFFE4DC CMP R0, #3
ROM:1FFFE4DE BEQ loc_1FFFE506
ROM:1FFFE4E0 CMP R0, #6
ROM:1FFFE4E2 BEQ loc_1FFFE50C
ROM:1FFFE4E4 B loc_1FFFE522
ROM:1FFFE4E6 ; ---------------------------------------------------------------------------
ROM:1FFFE4E6
ROM:1FFFE4E6 loc_1FFFE4E6 ; CODE XREF: sub_1FFFE4B0+2Aj
ROM:1FFFE4E6 LSRS R0, R5, #4
ROM:1FFFE4E8 LSLS R0, R0, #0x15
ROM:1FFFE4EA BEQ loc_1FFFE522
ROM:1FFFE4EC UBFX.W R1, R5, #4, #0xB
ROM:1FFFE4F0 ADDS R0, R7, #4
ROM:1FFFE4F2 BL sub_1FFFD51E
ROM:1FFFE4F6 ADDS R0, R7, #4
ROM:1FFFE4F8 STR R0, [R6,#0x14]
ROM:1FFFE4FA STR.W R8, [R6,#0x18]
ROM:1FFFE4FE LDR R0, [R6,#0x1C]
ROM:1FFFE500 ADD R0, R8
ROM:1FFFE502 STR R0, [R6,#0x1C]
ROM:1FFFE504 B loc_1FFFE522
ROM:1FFFE506 ; ---------------------------------------------------------------------------
ROM:1FFFE506
ROM:1FFFE506 loc_1FFFE506 ; CODE XREF: sub_1FFFE4B0+2Ej
ROM:1FFFE506 MOVS R0, #1
ROM:1FFFE508 STR R0, [R7]
ROM:1FFFE50A B loc_1FFFE522
ROM:1FFFE50C ; ---------------------------------------------------------------------------
ROM:1FFFE50C
ROM:1FFFE50C loc_1FFFE50C ; CODE XREF: sub_1FFFE4B0+32j
ROM:1FFFE50C MOVS R1, #8
ROM:1FFFE50E ADDS R0, R7, #4
ROM:1FFFE510 BL sub_1FFFD51E
ROM:1FFFE514 ADDS R0, R7, #4
ROM:1FFFE516 STR R0, [R6,#0x14]
ROM:1FFFE518 LDR R0, [R6,#0x1C]
ROM:1FFFE51A ADD R0, R8
ROM:1FFFE51C STR R0, [R6,#0x1C]
ROM:1FFFE51E STR.W R8, [R6,#0x18]
ROM:1FFFE522
ROM:1FFFE522 loc_1FFFE522 ; CODE XREF: sub_1FFFE4B0+34j
ROM:1FFFE522 ; sub_1FFFE4B0+3Aj ...
ROM:1FFFE522 LDR R0, [R4]
ROM:1FFFE524 LDR R1, [R0,#0x18]
ROM:1FFFE526 ORR.W R1, R1, #0x10
ROM:1FFFE52A STR R1, [R0,#0x18]
ROM:1FFFE52C MOVS R1, #0x10
ROM:1FFFE52E STR R1, [R0,#0x14]
ROM:1FFFE530
ROM:1FFFE530 loc_1FFFE530 ; CODE XREF: sub_1FFFE430:loc_1FFFE4AEj
ROM:1FFFE530 ; sub_1FFFE578:loc_1FFFE5D4j
ROM:1FFFE530 MOVS R0, #1
ROM:1FFFE532 POP.W {R4-R8,PC}
ROM:1FFFE532 ; End of function sub_1FFFE4B0
ROM:1FFFE532
ROM:1FFFE536
ROM:1FFFE536 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE536
ROM:1FFFE536
ROM:1FFFE536 sub_1FFFE536 ; CODE XREF: ROM:1FFFE338p
ROM:1FFFE536 PUSH {R4,LR}
ROM:1FFFE538 LDR R4, =0x20000B34
ROM:1FFFE53A LDR R0, [R4,#4]
ROM:1FFFE53C LDR R1, [R0,#4]
ROM:1FFFE53E LSRS R1, R1, #1
ROM:1FFFE540 LSLS R1, R1, #1
ROM:1FFFE542 STR R1, [R0,#4]
ROM:1FFFE544 MOVS R0, #0
ROM:1FFFE546 BL sub_1FFFD648
ROM:1FFFE54A LDR R0, [R4,#4]
ROM:1FFFE54C MOV.W R1, #0x10001
ROM:1FFFE550 STR R1, [R0,#0x1C]
ROM:1FFFE552 MOVS R1, #0xF
ROM:1FFFE554 STR R1, [R0,#0x14]
ROM:1FFFE556 MOVS R1, #0x2F
ROM:1FFFE558 STR R1, [R0,#0x10]
ROM:1FFFE55A LDR R1, [R0]
ROM:1FFFE55C BIC.W R1, R1, #0x7F0
ROM:1FFFE560 STR R1, [R0]
ROM:1FFFE562 BL sub_1FFFDCDC
ROM:1FFFE566 LDR R0, [R4]
ROM:1FFFE568 MOV.W R1, #0x1000
ROM:1FFFE56C STR R1, [R0,#0x14]
ROM:1FFFE56E LDR R0, =0x20000108
ROM:1FFFE570 LDR R0, [R0,#4]
ROM:1FFFE572 BLX R0
ROM:1FFFE574 MOVS R0, #1
ROM:1FFFE576 POP {R4,PC}
ROM:1FFFE576 ; End of function sub_1FFFE536
ROM:1FFFE576
ROM:1FFFE578
ROM:1FFFE578 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE578
ROM:1FFFE578
ROM:1FFFE578 sub_1FFFE578 ; CODE XREF: sub_1FFFE356+60p
ROM:1FFFE578 PUSH.W {R4-R8,LR}
ROM:1FFFE57C MOV R8, R0
ROM:1FFFE57E BL sub_1FFFDC7A
ROM:1FFFE582 MOV R5, R0
ROM:1FFFE584 LDR R0, [R5,#0x18]
ROM:1FFFE586 LDR R1, [R5,#0x1C]
ROM:1FFFE588 SUBS R0, R0, R1
ROM:1FFFE58A LDR R7, [R5,#0x10]
ROM:1FFFE58C CMP R7, R0
ROM:1FFFE58E IT HI
ROM:1FFFE590 MOVHI R7, R0
ROM:1FFFE592 ADDS R0, R7, #3
ROM:1FFFE594 LSRS R4, R0, #2
ROM:1FFFE596 LDR R0, =0x20000B34
ROM:1FFFE598 ADD.W R6, R0, R8,LSL#2
ROM:1FFFE59C B loc_1FFFE5BE
ROM:1FFFE59E ; ---------------------------------------------------------------------------
ROM:1FFFE59E
ROM:1FFFE59E loc_1FFFE59E ; CODE XREF: sub_1FFFE578+5Aj
ROM:1FFFE59E SUBS R0, R0, R1
ROM:1FFFE5A0 LDR R7, [R5,#0x10]
ROM:1FFFE5A2 CMP R7, R0
ROM:1FFFE5A4 IT HI
ROM:1FFFE5A6 MOVHI R7, R0
ROM:1FFFE5A8 ADDS R0, R7, #3
ROM:1FFFE5AA LSRS R4, R0, #2
ROM:1FFFE5AC UXTH R2, R7
ROM:1FFFE5AE UXTB.W R1, R8
ROM:1FFFE5B2 LDR R0, [R5,#0x14]
ROM:1FFFE5B4 BL sub_1FFFD4F4
ROM:1FFFE5B8 LDR R0, [R5,#0x1C]
ROM:1FFFE5BA ADDS R0, R7, R0
ROM:1FFFE5BC STR R0, [R5,#0x1C]
ROM:1FFFE5BE
ROM:1FFFE5BE loc_1FFFE5BE ; CODE XREF: sub_1FFFE578+24j
ROM:1FFFE5BE LDR R0, [R6,#0xC]
ROM:1FFFE5C0 LDR R0, [R0,#0x18]
ROM:1FFFE5C2 UXTH R0, R0
ROM:1FFFE5C4 CMP R4, R0
ROM:1FFFE5C6 ITTT CC
ROM:1FFFE5C8 LDRCC R0, [R5,#0x18]
ROM:1FFFE5CA LDRCC R1, [R5,#0x1C]
ROM:1FFFE5CC CMPCC R1, R0
ROM:1FFFE5CE BCS loc_1FFFE5D4
ROM:1FFFE5D0 CMP R0, #0
ROM:1FFFE5D2 BNE loc_1FFFE59E
ROM:1FFFE5D4
ROM:1FFFE5D4 loc_1FFFE5D4 ; CODE XREF: sub_1FFFE578+56j
ROM:1FFFE5D4 B loc_1FFFE530
ROM:1FFFE5D4 ; End of function sub_1FFFE578
ROM:1FFFE5D4
ROM:1FFFE5D4 ; ---------------------------------------------------------------------------
ROM:1FFFE5D6 ALIGN 4
ROM:1FFFE5D8 dword_1FFFE5D8 DCD 0x20000B34 ; DATA XREF: ROM:1FFFE2A6r
ROM:1FFFE5D8 ; sub_1FFFE356+10r ...
ROM:1FFFE5DC dword_1FFFE5DC DCD 0x20000198 ; DATA XREF: ROM:1FFFE2EEr
ROM:1FFFE5E0 dword_1FFFE5E0 DCD 0x40010808 ; DATA XREF: ROM:1FFFE2F4r
ROM:1FFFE5E4 dword_1FFFE5E4 DCD 0x20000C48 ; DATA XREF: ROM:1FFFE302r
ROM:1FFFE5E8 dword_1FFFE5E8 DCD 0x20000098 ; DATA XREF: sub_1FFFE356+Er
ROM:1FFFE5E8 ; sub_1FFFE430+Cr
ROM:1FFFE5EC dword_1FFFE5EC DCD 0x20000BC8 ; DATA XREF: sub_1FFFE4B0+20r
ROM:1FFFE5F0 dword_1FFFE5F0 DCD 0x20000108 ; DATA XREF: sub_1FFFE536+38r
ROM:1FFFE5F4
ROM:1FFFE5F4 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE5F4
ROM:1FFFE5F4 ; Attributes: noreturn
ROM:1FFFE5F4
ROM:1FFFE5F4 start_work ; CODE XREF: start_S+Ep
ROM:1FFFE5F4 PUSH {R4,LR}
ROM:1FFFE5F6 BL g_sys_init
ROM:1FFFE5FA CMP R0, #1
ROM:1FFFE5FC BEQ uart1_work
ROM:1FFFE5FE BCC sys_reset
ROM:1FFFE600 CMP R0, #3
ROM:1FFFE602 BEQ boot_user_app
ROM:1FFFE604 BCC can2_work
ROM:1FFFE606 B sys_reset
ROM:1FFFE608 ; ---------------------------------------------------------------------------
ROM:1FFFE608
ROM:1FFFE608 uart1_work ; CODE XREF: start_work+8j
ROM:1FFFE608 BL uart_ready
ROM:1FFFE60C BL uart_monitor
ROM:1FFFE610 B die_ji
ROM:1FFFE612 ; ---------------------------------------------------------------------------
ROM:1FFFE612
ROM:1FFFE612 can2_work ; CODE XREF: start_work+10j
ROM:1FFFE612 BL check_canbus2
ROM:1FFFE616 B die_ji
ROM:1FFFE618 ; ---------------------------------------------------------------------------
ROM:1FFFE618
ROM:1FFFE618 boot_user_app ; CODE XREF: start_work+Ej
ROM:1FFFE618 BL sub_1FFFC9AA
ROM:1FFFE61C BL sub_1FFFCAA0
ROM:1FFFE620 BL RCC_init
ROM:1FFFE624 BL disable_irq
ROM:1FFFE628 LDR R0, =0x4002100C
ROM:1FFFE62A MOVS R1, #0x14
ROM:1FFFE62C STR R1, [R0,#8]
ROM:1FFFE62E MOV.W R1, #0xFFFFFFFF
ROM:1FFFE632 STR R1, [R0]
ROM:1FFFE634 MOVS R2, #0
ROM:1FFFE636 STR R2, [R0]
ROM:1FFFE638 STR R1, [R0,#4]
ROM:1FFFE63A STR R2, [R0,#4]
ROM:1FFFE63C STR R2, [R0,#0xC]
ROM:1FFFE63E STR R2, [R0,#0x10]
ROM:1FFFE640 LDR R0, =0xE000E010
ROM:1FFFE642 STR R2, [R0]
ROM:1FFFE644 BL enable_irq
ROM:1FFFE648 LDR R4, =0x20000208 ; 0x1FFFEBDC
ROM:1FFFE64A LDR R0, [R4,#8] ; 0x1FFFEBE4
ROM:1FFFE64C LDR R0, [R0,#4] ; 0x1FFFEBE0
ROM:1FFFE64E STR R0, [R4,#4]
ROM:1FFFE650 LDR R0, [R4,#4]
ROM:1FFFE652 STR R0, [R4]
ROM:1FFFE654 LDR R0, [R4,#8]
ROM:1FFFE656 LDR R0, [R0]
ROM:1FFFE658 BL set_MSP
ROM:1FFFE65C LDR R0, [R4]
ROM:1FFFE65E BLX R0
ROM:1FFFE660 B die_ji
ROM:1FFFE662 ; ---------------------------------------------------------------------------
ROM:1FFFE662
ROM:1FFFE662 sys_reset ; CODE XREF: start_work+Aj
ROM:1FFFE662 ; start_work+12j
ROM:1FFFE662 BL sys_reset
ROM:1FFFE666
ROM:1FFFE666 die_ji ; CODE XREF: start_work+1Cj
ROM:1FFFE666 ; start_work+22j ...
ROM:1FFFE666 B die_ji
ROM:1FFFE666 ; End of function start_work
ROM:1FFFE666
ROM:1FFFE668
ROM:1FFFE668 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE668
ROM:1FFFE668
ROM:1FFFE668 g_sys_init ; CODE XREF: start_work+2p
ROM:1FFFE668
ROM:1FFFE668 var_28 = -0x28
ROM:1FFFE668
ROM:1FFFE668 PUSH.W {R3-R11,LR}
ROM:1FFFE66C MOVW R8, #0x5FFF
ROM:1FFFE670 STR.W R8, [SP,#0x28+var_28]
ROM:1FFFE674 LDR R0, =0x40003000 ; 看门狗寄存器
ROM:1FFFE676 MOVW R1, #0x5555
ROM:1FFFE67A STR R1, [R0]
ROM:1FFFE67C MOVS R1, #6
ROM:1FFFE67E STR R1, [R0,#4] ; 预分频因子32
ROM:1FFFE680 MOVW R1, #0xAAAA
ROM:1FFFE684 STR R1, [R0] ; 喂狗吃点饭
ROM:1FFFE686 BL clk_cfg ; 时钟初始化
ROM:1FFFE68A LDR R0, =0xE000ED08 ; 中断向量表基址寄存器
ROM:1FFFE68C LDR R1, =0x1FFFB000 ; 中断向量表基地址
ROM:1FFFE68E STR R1, [R0]
ROM:1FFFE690 LDR R5, =0x20000188 ; 0x1FFFEB5C->0x40013800
ROM:1FFFE692 BL FLASH_GetReadOutProtectionStatus ; 检查flash的读保护位
ROM:1FFFE692 ;
ROM:1FFFE696 CMP R0, #1 ; flash读保护位设置了吗?
ROM:1FFFE698 BNE loc_1FFFE6B6 ; 没有设置读保护位
ROM:1FFFE69A LDR R0, =0x2000FFFC ; 读保护开启,重装中断向量表?
ROM:1FFFE69A ; 首先清除20001000-20010000区域的内存块
ROM:1FFFE69C B loc_1FFFE6A8
ROM:1FFFE69E ; ---------------------------------------------------------------------------
ROM:1FFFE69E
ROM:1FFFE69E loc_1FFFE69E ; CODE XREF: g_sys_init+48j
ROM:1FFFE69E LDR R0, [R5,#0xC] ; 全局变量addr=20000194
ROM:1FFFE6A0 MOVS R1, #0
ROM:1FFFE6A2 STR R1, [R0]
ROM:1FFFE6A4 LDR R0, [R5,#0xC]
ROM:1FFFE6A6 SUBS R0, R0, #4
ROM:1FFFE6A8
ROM:1FFFE6A8 loc_1FFFE6A8 ; CODE XREF: g_sys_init+34j
ROM:1FFFE6A8 STR R0, [R5,#0xC]
ROM:1FFFE6AA LDR R0, [R5,#0xC]
ROM:1FFFE6AC LDR R1, =0x20001000
ROM:1FFFE6AE CMP R0, R1
ROM:1FFFE6B0 BCS loc_1FFFE69E ; 全局变量addr=20000194
ROM:1FFFE6B2 MOVS R0, #0
ROM:1FFFE6B4 STR R0, [R5,#0xC]
ROM:1FFFE6B6
ROM:1FFFE6B6 loc_1FFFE6B6 ; CODE XREF: g_sys_init+30j
ROM:1FFFE6B6 LDR R6, =0xE000E010 ; 没有设置读保护位
ROM:1FFFE6B8 MOVS R0, #4
ROM:1FFFE6BA STR R0, [R6]
ROM:1FFFE6BC MOV.W R9, #0x80000
ROM:1FFFE6C0 STR.W R9, [R6,#4] ; systick功能配置
ROM:1FFFE6C4 LDR R4, =0x40021018 ; 复位和时钟控制(RCC)
ROM:1FFFE6C6 MOVW R0, #0x4025 ; 串口1时钟打开
ROM:1FFFE6CA STR R0, [R4]
ROM:1FFFE6CC MOV.W R0, #0x20000 ; 串口2时钟打开
ROM:1FFFE6D0 STR R0, [R4,#4]
ROM:1FFFE6D2 LDR R0, =0x40010004 ; AFIO
ROM:1FFFE6D4 MOVS R1, #8
ROM:1FFFE6D6 STR R1, [R0]
ROM:1FFFE6D8 LDR R7, =0x40010804 ; GPIO端口A
ROM:1FFFE6DA LDR R0, =0x44444884
ROM:1FFFE6DC STR R0, [R7]
ROM:1FFFE6DE LDR R0, =0x2000400
ROM:1FFFE6E0 STR R0, [R7,#0xC]
ROM:1FFFE6E2 LDR.W R10, =0x40011400 ; GPIO端口D
ROM:1FFFE6E6 LDR R0, =0x48B44444
ROM:1FFFE6E8 STR.W R0, [R10]
ROM:1FFFE6EC MOVS R0, #0x40
ROM:1FFFE6EE STR.W R0, [R10,#0x10]
ROM:1FFFE6F2 BL trigger_canbus
ROM:1FFFE6F6 LDR.W R11, =0x40010C08 ; portB读取输入寄存器
ROM:1FFFE6FA B start_check ; 0x1FFFEB5C+0x10->0x1fffeb6c->0x00,
ROM:1FFFE6FC ; ---------------------------------------------------------------------------
ROM:1FFFE6FC
ROM:1FFFE6FC re_start_check ; CODE XREF: g_sys_init+1DAj
ROM:1FFFE6FC MOVS R0, #0
ROM:1FFFE6FE STR R0, [R5,#0x1C]
ROM:1FFFE700
ROM:1FFFE700 start_check ; CODE XREF: g_sys_init+92j
ROM:1FFFE700 ; g_sys_init+1C8j ...
ROM:1FFFE700 LDR R0, [R5,#0x10] ; 0x1FFFEB5C+0x10->0x1fffeb6c->0x00,
ROM:1FFFE702 CMP R0, #0
ROM:1FFFE704 BNE.W loc_1FFFE868 ; 复位和时钟控制(RCC)
ROM:1FFFE708 LDR R0, [R7,#4] ; portA GPIO端口A
ROM:1FFFE70A LSLS R0, R0, #0x16 ; 检测PA9 usb_vbus
ROM:1FFFE70C BPL loc_1FFFE71C ; 是否为低电平
ROM:1FFFE70E LDR R0, [R5,#0x20] ; 检测到Vbus为高电平
ROM:1FFFE70E ; 0x1FFFEB5C+0x20-> 0x1FFFEB7C ->0x00
ROM:1FFFE710 CMP R0, #1
ROM:1FFFE712 BEQ loc_1FFFE71C ; PA10检测USART1_RX
ROM:1FFFE714 BL enale_usb_trans
ROM:1FFFE718 MOVS R0, #1
ROM:1FFFE71A STR R0, [R5,#0x20] ; ; 0x1FFFEB5C+0x20-> 0x1FFFEB7C ->0x01
ROM:1FFFE71A ; 表示已经检测到usb线的插入
ROM:1FFFE71C
ROM:1FFFE71C loc_1FFFE71C ; CODE XREF: g_sys_init+A4j
ROM:1FFFE71C ; g_sys_init+AAj
ROM:1FFFE71C LDR R0, [R7,#4] ; PA10检测USART1_RX
ROM:1FFFE71E LSLS R0, R0, #0x15
ROM:1FFFE720 ITT PL
ROM:1FFFE722 MOVPL R0, #1
ROM:1FFFE724 STRPL R0, [R5,#0x14] ; 标记串口1接收到数据
ROM:1FFFE724 ; ;;;
ROM:1FFFE726 LDR.W R0, [R10,#8] ; GPIO端口PD6,UART2的接收引脚,经过了重映射
ROM:1FFFE72A LSLS R0, R0, #0x19
ROM:1FFFE72C ITT PL
ROM:1FFFE72E MOVPL R0, #1
ROM:1FFFE730 STRPL R0, [R5,#0x18] ; ; 标记串口2接收到数据
ROM:1FFFE732 LDR.W R0, [R11] ; portB读取输入寄存器
ROM:1FFFE736 LSLS R0, R0, #0x1A ; PB5/CAN2_RX
ROM:1FFFE738 ITT PL
ROM:1FFFE73A MOVPL R0, #1
ROM:1FFFE73C STRPL R0, [R5,#0x1C] ; 标记CAN2接收到数据
ROM:1FFFE73E LDR R0, [R5,#0x14]
ROM:1FFFE740 CMP R0, #1
ROM:1FFFE742 BNE UART1rx_check ; 标记串口2接收到数据
ROM:1FFFE744 LDR R0, [R7,#4]
ROM:1FFFE746 LSLS R0, R0, #0x15
ROM:1FFFE748 BPL UART1rx_check ; 再次检测到串口1接收脚低电平
ROM:1FFFE74A MOVS R0, #5
ROM:1FFFE74C STR R0, [R6]
ROM:1FFFE74E STR.W R8, [SP,#0x28+var_28]
ROM:1FFFE752 B loc_1FFFE75A
ROM:1FFFE754 ; ---------------------------------------------------------------------------
ROM:1FFFE754
ROM:1FFFE754 loc_1FFFE754 ; CODE XREF: g_sys_init+FCj
ROM:1FFFE754 LDR R0, [SP,#0x28+var_28]
ROM:1FFFE756 SUBS R0, R0, #1
ROM:1FFFE758 STR R0, [SP,#0x28+var_28]
ROM:1FFFE75A
ROM:1FFFE75A loc_1FFFE75A ; CODE XREF: g_sys_init+EAj
ROM:1FFFE75A LDR R0, [R7,#4]
ROM:1FFFE75C LSLS R0, R0, #0x15
ROM:1FFFE75E BPL loc_1FFFE766
ROM:1FFFE760 LDR R0, [SP,#0x28+var_28]
ROM:1FFFE762 CMP R0, #0
ROM:1FFFE764 BNE loc_1FFFE754
ROM:1FFFE766
ROM:1FFFE766 loc_1FFFE766 ; CODE XREF: g_sys_init+F6j
ROM:1FFFE766 LDR R0, [SP,#0x28+var_28]
ROM:1FFFE768 CBZ R0, loc_1FFFE79E
ROM:1FFFE76A LDR R0, [R5,#0x10]
ROM:1FFFE76C CBNZ R0, loc_1FFFE79E
ROM:1FFFE76E LDR R0, [R6,#8]
ROM:1FFFE770 RSB.W R0, R0, #0x80000
ROM:1FFFE774 STR R0, [R5,#0xC]
ROM:1FFFE776 LDR R0, [R5]
ROM:1FFFE778 STR R0, [R5,#8]
ROM:1FFFE77A MOVS R0, #0
ROM:1FFFE77C STR R0, [R6]
ROM:1FFFE77E STR R0, [R6,#8]
ROM:1FFFE780 STR.W R9, [R6,#4]
ROM:1FFFE784 LDR R0, [R5,#0x20]
ROM:1FFFE786 CMP R0, #1
ROM:1FFFE788 BNE loc_1FFFE792
ROM:1FFFE78A BL sub_1FFFCAA0
ROM:1FFFE78E MOVS R0, #0
ROM:1FFFE790 STR R0, [R5,#0x20]
ROM:1FFFE792
ROM:1FFFE792 loc_1FFFE792 ; CODE XREF: g_sys_init+120j
ROM:1FFFE792 LDR R0, =0x444448B4
ROM:1FFFE794 STR R0, [R7]
ROM:1FFFE796 MOV.W R0, #0x400
ROM:1FFFE79A STR R0, [R7,#0xC]
ROM:1FFFE79C B loc_1FFFE802
ROM:1FFFE79E ; ---------------------------------------------------------------------------
ROM:1FFFE79E
ROM:1FFFE79E loc_1FFFE79E ; CODE XREF: g_sys_init+100j
ROM:1FFFE79E ; g_sys_init+104j
ROM:1FFFE79E MOVS R0, #0
ROM:1FFFE7A0 STR R0, [R5,#0x14]
ROM:1FFFE7A2 STR R0, [R6]
ROM:1FFFE7A4 STR R0, [R6,#8]
ROM:1FFFE7A6 STR.W R9, [R6,#4]
ROM:1FFFE7AA
ROM:1FFFE7AA UART1rx_check ; CODE XREF: g_sys_init+DAj
ROM:1FFFE7AA ; g_sys_init+E0j
ROM:1FFFE7AA LDR R0, [R5,#0x18] ; 标记串口2接收到数据
ROM:1FFFE7AC CMP R0, #1
ROM:1FFFE7AE BNE UART2rx_check ; can2 rx接收到数据了吗?
ROM:1FFFE7B0 LDR.W R0, [R10,#8]
ROM:1FFFE7B4 LSLS R0, R0, #0x19
ROM:1FFFE7B6 BPL UART2rx_check ; can2 rx接收到数据了吗?
ROM:1FFFE7B8 MOVS R0, #5
ROM:1FFFE7BA STR R0, [R6]
ROM:1FFFE7BC STR.W R8, [SP,#0x28+var_28]
ROM:1FFFE7C0 B loc_1FFFE7C8
ROM:1FFFE7C2 ; ---------------------------------------------------------------------------
ROM:1FFFE7C2
ROM:1FFFE7C2 loc_1FFFE7C2 ; CODE XREF: g_sys_init+16Cj
ROM:1FFFE7C2 LDR R0, [SP,#0x28+var_28]
ROM:1FFFE7C4 SUBS R0, R0, #1
ROM:1FFFE7C6 STR R0, [SP,#0x28+var_28]
ROM:1FFFE7C8
ROM:1FFFE7C8 loc_1FFFE7C8 ; CODE XREF: g_sys_init+158j
ROM:1FFFE7C8 LDR.W R0, [R10,#8]
ROM:1FFFE7CC LSLS R0, R0, #0x19
ROM:1FFFE7CE BPL loc_1FFFE7D6
ROM:1FFFE7D0 LDR R0, [SP,#0x28+var_28]
ROM:1FFFE7D2 CMP R0, #0
ROM:1FFFE7D4 BNE loc_1FFFE7C2
ROM:1FFFE7D6
ROM:1FFFE7D6 loc_1FFFE7D6 ; CODE XREF: g_sys_init+166j
ROM:1FFFE7D6 LDR R0, [SP,#0x28+var_28]
ROM:1FFFE7D8 CBZ R0, loc_1FFFE80E
ROM:1FFFE7DA LDR R0, [R5,#0x10]
ROM:1FFFE7DC CBNZ R0, loc_1FFFE80E
ROM:1FFFE7DE LDR R0, [R6,#8]
ROM:1FFFE7E0 RSB.W R0, R0, #0x80000
ROM:1FFFE7E4 STR R0, [R5,#0xC]
ROM:1FFFE7E6 LDR R0, [R5,#4]
ROM:1FFFE7E8 STR R0, [R5,#8]
ROM:1FFFE7EA MOVS R0, #0
ROM:1FFFE7EC STR R0, [R6]
ROM:1FFFE7EE STR R0, [R6,#8]
ROM:1FFFE7F0 STR.W R9, [R6,#4]
ROM:1FFFE7F4 LDR R0, [R5,#0x20]
ROM:1FFFE7F6 CMP R0, #1
ROM:1FFFE7F8 BNE loc_1FFFE802
ROM:1FFFE7FA BL sub_1FFFCAA0
ROM:1FFFE7FE MOVS R0, #0
ROM:1FFFE800 STR R0, [R5,#0x20]
ROM:1FFFE802
ROM:1FFFE802 loc_1FFFE802 ; CODE XREF: g_sys_init+134j
ROM:1FFFE802 ; g_sys_init+190j
ROM:1FFFE802 LDR R0, [R4,#4]
ROM:1FFFE804 BIC.W R0, R0, #0x6000000
ROM:1FFFE808 STR R0, [R4,#4]
ROM:1FFFE80A MOVS R0, #1
ROM:1FFFE80C B sys_init_func_ret
ROM:1FFFE80E ; ---------------------------------------------------------------------------
ROM:1FFFE80E
ROM:1FFFE80E loc_1FFFE80E ; CODE XREF: g_sys_init+170j
ROM:1FFFE80E ; g_sys_init+174j
ROM:1FFFE80E MOVS R0, #0
ROM:1FFFE810 STR R0, [R5,#0x18]
ROM:1FFFE812 STR R0, [R6]
ROM:1FFFE814 STR R0, [R6,#8]
ROM:1FFFE816 STR.W R9, [R6,#4]
ROM:1FFFE81A
ROM:1FFFE81A UART2rx_check ; CODE XREF: g_sys_init+146j
ROM:1FFFE81A ; g_sys_init+14Ej
ROM:1FFFE81A LDR R0, [R5,#0x1C] ; can2 rx接收到数据了吗?
ROM:1FFFE81C CMP R0, #1
ROM:1FFFE81E BNE loc_1FFFE82C
ROM:1FFFE820 LDR.W R0, [R11]
ROM:1FFFE824 LSLS R0, R0, #0x1A
ROM:1FFFE826 ITT MI
ROM:1FFFE828 MOVMI R0, #2
ROM:1FFFE82A STRMI R0, [R5,#0x1C] ; 检测can2接收,并记录结果
ROM:1FFFE82C
ROM:1FFFE82C loc_1FFFE82C ; CODE XREF: g_sys_init+1B6j
ROM:1FFFE82C LDR R0, [R5,#0x1C]
ROM:1FFFE82E CMP R0, #2
ROM:1FFFE830 BNE.W start_check ; 0x1FFFEB5C+0x10->0x1fffeb6c->0x00,
ROM:1FFFE834 LDR.W R0, [R11] ; can2接收到数据,走此条路
ROM:1FFFE838 LSLS R0, R0, #0x1A
ROM:1FFFE83A BMI.W start_check ; 0x1FFFEB5C+0x10->0x1fffeb6c->0x00,
ROM:1FFFE83E LDR R0, [R5,#0x10]
ROM:1FFFE840 CMP R0, #0
ROM:1FFFE842 BNE.W re_start_check
ROM:1FFFE846 LDR R0, [R5,#0x20]
ROM:1FFFE848 CMP R0, #1
ROM:1FFFE84A BNE loc_1FFFE854
ROM:1FFFE84C BL sub_1FFFCAA0
ROM:1FFFE850 MOVS R0, #0
ROM:1FFFE852 STR R0, [R5,#0x20]
ROM:1FFFE854
ROM:1FFFE854 loc_1FFFE854 ; CODE XREF: g_sys_init+1E2j
ROM:1FFFE854 LDR R0, [R4]
ROM:1FFFE856 BIC.W R0, R0, #0x4000
ROM:1FFFE85A STR R0, [R4]
ROM:1FFFE85C LDR R0, [R4,#4]
ROM:1FFFE85E BIC.W R0, R0, #0x20000
ROM:1FFFE862 STR R0, [R4,#4]
ROM:1FFFE864 MOVS R0, #2
ROM:1FFFE866 B sys_init_func_ret
ROM:1FFFE868 ; ---------------------------------------------------------------------------
ROM:1FFFE868
ROM:1FFFE868 loc_1FFFE868 ; CODE XREF: g_sys_init+9Cj
ROM:1FFFE868 LDR R0, [R4,#4] ; 复位和时钟控制(RCC)
ROM:1FFFE86A BIC.W R0, R0, #0x6000000
ROM:1FFFE86E STR R0, [R4,#4]
ROM:1FFFE870 LDR R0, [R4]
ROM:1FFFE872 BIC.W R0, R0, #0x4000
ROM:1FFFE876 STR R0, [R4]
ROM:1FFFE878 LDR R0, [R4,#4]
ROM:1FFFE87A BIC.W R0, R0, #0x20000
ROM:1FFFE87E STR R0, [R4,#4]
ROM:1FFFE880 MOVS R0, #3
ROM:1FFFE882
ROM:1FFFE882 sys_init_func_ret ; CODE XREF: g_sys_init+1A4j
ROM:1FFFE882 ; g_sys_init+1FEj
ROM:1FFFE882 POP.W {R1,R4-R11,PC}
ROM:1FFFE882 ; End of function g_sys_init
ROM:1FFFE882
ROM:1FFFE882 ; ---------------------------------------------------------------------------
ROM:1FFFE886 ALIGN 4
ROM:1FFFE888 dword_1FFFE888 DCD 0x4002100C ; DATA XREF: start_work+34r
ROM:1FFFE88C dword_1FFFE88C DCD 0xE000E010 ; DATA XREF: start_work+4Cr
ROM:1FFFE88C ; g_sys_init:loc_1FFFE6B6r
ROM:1FFFE890 dword_1FFFE890 DCD 0x20000208 ; DATA XREF: start_work+54r
ROM:1FFFE894 dword_1FFFE894 DCD 0x40003000 ; DATA XREF: g_sys_init+Cr
ROM:1FFFE898 dword_1FFFE898 DCD 0xE000ED08 ; DATA XREF: g_sys_init+22r
ROM:1FFFE89C dword_1FFFE89C DCD 0x1FFFB000 ; DATA XREF: g_sys_init+24r
ROM:1FFFE8A0 dword_1FFFE8A0 DCD 0x20000188 ; DATA XREF: g_sys_init+28r
ROM:1FFFE8A4 dword_1FFFE8A4 DCD 0x2000FFFC ; DATA XREF: g_sys_init+32r
ROM:1FFFE8A8 dword_1FFFE8A8 DCD 0x20001000 ; DATA XREF: g_sys_init+44r
ROM:1FFFE8AC dword_1FFFE8AC DCD 0x40021018 ; DATA XREF: g_sys_init+5Cr
ROM:1FFFE8B0 dword_1FFFE8B0 DCD 0x40010004 ; DATA XREF: g_sys_init+6Ar
ROM:1FFFE8B4 dword_1FFFE8B4 DCD 0x40010804 ; DATA XREF: g_sys_init+70r
ROM:1FFFE8B8 dword_1FFFE8B8 DCD 0x44444884 ; DATA XREF: g_sys_init+72r
ROM:1FFFE8BC dword_1FFFE8BC DCD 0x2000400 ; DATA XREF: g_sys_init+76r
ROM:1FFFE8C0 dword_1FFFE8C0 DCD 0x40011400 ; DATA XREF: g_sys_init+7Ar
ROM:1FFFE8C4 dword_1FFFE8C4 DCD 0x48B44444 ; DATA XREF: g_sys_init+7Er
ROM:1FFFE8C8 dword_1FFFE8C8 DCD 0x40010C08 ; DATA XREF: g_sys_init+8Er
ROM:1FFFE8CC dword_1FFFE8CC DCD 0x444448B4 ; DATA XREF: g_sys_init:loc_1FFFE792r
ROM:1FFFE8D0 DCW 0x326
ROM:1FFFE8D2 aStmicroelectronics unicode 0, <STMicroelectronics>,0
ROM:1FFFE8F8 DCW 0x335
ROM:1FFFE8FA aStm320x418DfuBootloader unicode 0, <STM32 0x418 DFU Bootloader>,0
ROM:1FFFE930
ROM:1FFFE930 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE930
ROM:1FFFE930
ROM:1FFFE930 sys_create ; CODE XREF: start_S+8p
ROM:1FFFE930 PUSH {R4,LR} ; 寄存器压栈保护
ROM:1FFFE932 LDR R1, =(loc_1FFFE940 - 0x1FFFE938) ; 计算1FFFE940-1FFFE938的相对位置,赋给R1
ROM:1FFFE934 ADD R1, PC ; loc_1FFFE940 ; 当前的PC值+R1,由于流水线的原因,thumb指令+4,
ROM:1FFFE934 ; R1=1FFFE934+4+上条指令计算的相对位置
ROM:1FFFE934 ; =1FFFE940
ROM:1FFFE936 ADDS R1, #0x1C ; 1FFFE940+1C=1FFFE95C
ROM:1FFFE938 LDR R4, =(dword_1FFFE964+2 - 0x1FFFE93E)
ROM:1FFFE93A ADD R4, PC ; bss段的起始位置
ROM:1FFFE93C ADDS R4, #0x1A ; 同样的套路,1FFFE966+1A=1FFFE980,主要目的是创建地址无关的代码
ROM:1FFFE93E CMP R1, R4
ROM:1FFFE940
ROM:1FFFE940 loc_1FFFE940 ; DATA XREF: sys_create+4o
ROM:1FFFE940 ; ROM:off_1FFFE954o
ROM:1FFFE940 BEQ locret_1FFFE950
ROM:1FFFE942
ROM:1FFFE942 loc_1FFFE942 ; CODE XREF: sys_create+1Ej
ROM:1FFFE942 ADDS R0, R1, #4
ROM:1FFFE944 LDR R2, [R1]
ROM:1FFFE946 ADDS R1, R2, R1
ROM:1FFFE948 BLX R1 ; bss_clear ; 参数为0x00000a1c g_data_init
ROM:1FFFE94A MOV R1, R0
ROM:1FFFE94C CMP R1, R4
ROM:1FFFE94E BNE loc_1FFFE942
ROM:1FFFE950
ROM:1FFFE950 locret_1FFFE950 ; CODE XREF: sys_create:loc_1FFFE940j
ROM:1FFFE950 POP {R4,PC}
ROM:1FFFE950 ; End of function sys_create
ROM:1FFFE950
ROM:1FFFE950 ; ---------------------------------------------------------------------------
ROM:1FFFE952 ALIGN 4
ROM:1FFFE954 off_1FFFE954 DCD loc_1FFFE940 - 0x1FFFE938 ; DATA XREF: sys_create+2r
ROM:1FFFE958 off_1FFFE958 DCD dword_1FFFE964+2 - 0x1FFFE93E ; DATA XREF: sys_create+8r
ROM:1FFFE958 ; bss段的起始位置
ROM:1FFFE95C dword_1FFFE95C DCD 0xFFFFD273 ; DATA XREF: sys_create+14r
ROM:1FFFE960 DCD 0xA1C ; bss段大小
ROM:1FFFE964 dword_1FFFE964 DCD 0x20000250 ; DATA XREF: sys_create+Ao
ROM:1FFFE964 ; ROM:off_1FFFE958o
ROM:1FFFE964 ; bss段的起始位置
ROM:1FFFE968 DCD 0 ; bss段描述符的结束指示
ROM:1FFFE96C DCD 0xFFFFD1B3 ; data段初始化函数的偏移地址
ROM:1FFFE970 DCD 0x250 ; data段的长度
ROM:1FFFE974 DCD 0x60 ; data源段位置偏移描述,相对于自己的存储地址
ROM:1FFFE974 ; 在flash中,1FFFE974+0x60
ROM:1FFFE974 ; data_addr = 1FFFE9D4
ROM:1FFFE978 DCD 0x20000000 ; data段数据的目的地址,在内存中
ROM:1FFFE97C DCD 0 ; data段描述符的结束指示
ROM:1FFFE980
ROM:1FFFE980 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE980
ROM:1FFFE980 ; Attributes: noreturn
ROM:1FFFE980
ROM:1FFFE980 ; int __cdecl start_S(int argc, const char **argv, const char **envp)
ROM:1FFFE980 start_S ; CODE XREF: ROM:1FFFE9C8p
ROM:1FFFE980 BL sub_1FFFE996 ; 下面是死机陷井!!!
ROM:1FFFE984 CMP R0, #0
ROM:1FFFE986 BEQ loc_1FFFE98C
ROM:1FFFE988 BL sys_create ; 建立c语言的运行环境,bss清零,data段拷贝
ROM:1FFFE98C
ROM:1FFFE98C loc_1FFFE98C ; CODE XREF: start_S+6j
ROM:1FFFE98C MOVS R0, #0
ROM:1FFFE98E BL start_work
ROM:1FFFE98E ; End of function start_S
ROM:1FFFE98E
ROM:1FFFE992 ; ---------------------------------------------------------------------------
ROM:1FFFE992 BL gansini
ROM:1FFFE996
ROM:1FFFE996 ; =============== S U B R O U T I N E =======================================
ROM:1FFFE996
ROM:1FFFE996 ; 下面是死机陷井!!!
ROM:1FFFE996
ROM:1FFFE996 sub_1FFFE996 ; CODE XREF: start_Sp
ROM:1FFFE996 MOVS R0, #1
ROM:1FFFE998 BX LR
ROM:1FFFE998 ; End of function sub_1FFFE996
ROM:1FFFE998
ROM:1FFFE99A ; ---------------------------------------------------------------------------
ROM:1FFFE99A
ROM:1FFFE99A gansini ; CODE XREF: ROM:1FFFE992j
ROM:1FFFE99A B.W siji
ROM:1FFFE99A ; ---------------------------------------------------------------------------
ROM:1FFFE99E ALIGN 0x10
ROM:1FFFE9A0
ROM:1FFFE9A0 siji ; CODE XREF: ROM:gansinij
ROM:1FFFE9A0 MOV R7, R0
ROM:1FFFE9A2
ROM:1FFFE9A2 die_le ; CODE XREF: ROM:1FFFE9A8j
ROM:1FFFE9A2 MOV R0, R7
ROM:1FFFE9A4 BL die_mcu
ROM:1FFFE9A8 ; ---------------------------------------------------------------------------
ROM:1FFFE9A8 B die_le
ROM:1FFFE9A8 ; ---------------------------------------------------------------------------
ROM:1FFFE9AA ALIGN 4
ROM:1FFFE9AC
ROM:1FFFE9AC ; =============== S U B R O U T I N E =======================================
ROM:1FFFE9AC
ROM:1FFFE9AC ; Attributes: noreturn
ROM:1FFFE9AC
ROM:1FFFE9AC die_mcu ; CODE XREF: ROM:1FFFE9A4p
ROM:1FFFE9AC PUSH {R7,LR}
ROM:1FFFE9AE NOP
ROM:1FFFE9B0 NOP
ROM:1FFFE9B2 LDR R2, =0x20026
ROM:1FFFE9B4
ROM:1FFFE9B4 breakpoint ; CODE XREF: die_mcu+Ej
ROM:1FFFE9B4 MOVS R1, R2
ROM:1FFFE9B6 MOVS R0, #0x18
ROM:1FFFE9B8 BKPT 0xAB
ROM:1FFFE9BA B breakpoint
ROM:1FFFE9BA ; End of function die_mcu
ROM:1FFFE9BA
ROM:1FFFE9BA ; ---------------------------------------------------------------------------
ROM:1FFFE9BC dword_1FFFE9BC DCD 0x20026 ; DATA XREF: die_mcu+6r
ROM:1FFFE9C0 ; ---------------------------------------------------------------------------
ROM:1FFFE9C0
ROM:1FFFE9C0 entry_main
ROM:1FFFE9C0 NOP
ROM:1FFFE9C2 NOP
ROM:1FFFE9C4 NOP
ROM:1FFFE9C6 NOP
ROM:1FFFE9C8 BL start_S
ROM:1FFFE9CC ; ---------------------------------------------------------------------------
ROM:1FFFE9CC
ROM:1FFFE9CC loc_1FFFE9CC
ROM:1FFFE9CC B.W sys_reset
ROM:1FFFE9D0 ; ---------------------------------------------------------------------------
ROM:1FFFE9D0
ROM:1FFFE9D0 OTG_FS_IRQHandler
ROM:1FFFE9D0 B.W usb_fs_int_proc
ROM:1FFFE9D0 ; ---------------------------------------------------------------------------
ROM:1FFFE9D4 g_data DCW 0x34E ; 全局变量区:len=0x250
ROM:1FFFE9D6 aInternalFlash0x0800000012 unicode 0, <@Internal Flash /0x08000000/128*002Kg>,0
ROM:1FFFEA24 DCW 0x348
ROM:1FFFEA26 aOptionBytes0x1ffff8000101 unicode 0, <@Option Bytes /0x1FFFF800/01*016 e>,0
ROM:1FFFEA6E DCW 0
ROM:1FFFEA70 DCD 0x1FFFD4A1
ROM:1FFFEA74 DCD 0x1FFFD4A1
ROM:1FFFEA78 DCD locret_1FFFD4A0+1
ROM:1FFFEA7C DCD locret_1FFFD4A0+1
ROM:1FFFEA80 DCD locret_1FFFD4A0+1
ROM:1FFFEA84 DCD locret_1FFFD4A0+1
ROM:1FFFEA88 DCD locret_1FFFD4A0+1
ROM:1FFFEA8C DCD locret_1FFFD4A0+1
ROM:1FFFEA90 DCD locret_1FFFD4A0+1
ROM:1FFFEA94 DCD locret_1FFFD4A0+1
ROM:1FFFEA98 DCD locret_1FFFD4A0+1
ROM:1FFFEA9C DCD locret_1FFFD4A0+1
ROM:1FFFEAA0 DCD locret_1FFFD4A0+1
ROM:1FFFEAA4 DCD locret_1FFFD4A0+1
ROM:1FFFEAA8 DCD 0
ROM:1FFFEAAC DCD 0x20000240
ROM:1FFFEAB0 DCD 4, 0x1FFFE8D0, 0x26, 0x1FFFE8F8, 0x35, 0x20000214
ROM:1FFFEAB0 DCD 0xC, 0x20000000, 0x4E, 0x20000050, 0x48, 0x1FFFC291
ROM:1FFFEAB0 DCD 0x1FFFC2B1, 0x1FFFC2ED, 0x1FFFC2EF, 0x1FFFC453, 0x1FFFC4DB
ROM:1FFFEAB0 DCD 0x1FFFC5EF, 0x1FFFC5B5, 0x1FFFC5BD, 0x1FFFC5C5, 0
ROM:1FFFEB08 DCD 0x40
ROM:1FFFEB0C DCD 0, 0, 0, 0, 0, 0, 0, 0
ROM:1FFFEB2C DCD 0x8000000, 0x200001AC, 0x24, 0, 0, 0, 0, 0
ROM:1FFFEB4C DCD 0x1000F
ROM:1FFFEB50 DCD 0x10007
ROM:1FFFEB54 DCD 0x10003
ROM:1FFFEB58 DCD 0x10001
ROM:1FFFEB5C DCD 0x40013800
ROM:1FFFEB60 DCD 0x40004400
ROM:1FFFEB64 DCD 0x40013800
ROM:1FFFEB68 DCD 0
ROM:1FFFEB6C DCD 0
ROM:1FFFEB70 DCD 0
ROM:1FFFEB74 DCD 0
ROM:1FFFEB78 DCD 0
ROM:1FFFEB7C DCD 0
ROM:1FFFEB80 DCD 0x240209
ROM:1FFFEB84 DCD 0xC0000101, 0x40932, 0x1FE0000, 0x4090402, 0xFE000100
ROM:1FFFEB84 DCD 0x9050201, 0xFF0B21, 0x11A0800, 0x1FFFD4A1, 0x1FFFC2D1
ROM:1FFFEB84 DCD 0x1FFFD4A1, 0x1FFFD4A1, 0x1FFFD4A1, 0x1FFFD4A1, 0x1FFFD4A1
ROM:1FFFEB84 DCD 0x1FFFD4A1, 0x1FFFC2E3, 0x1000112, 0x40000000, 0xDF110483
ROM:1FFFEB84 DCD 0x2012200, 0x103, 0, 0
ROM:1FFFEBE4 DCD 0x8000000, 0x53030C, 0x4D0054, 0x320033, 0x2010022
ROM:1FFFEBE4 DCD 0x63432105, 0x928273, 0
ROM:1FFFEC04 DCD 0x4FFFFF
ROM:1FFFEC08 DCD 0x200001F4
ROM:1FFFEC0C DCD 0x12
ROM:1FFFEC10 DCD 0xB000000
ROM:1FFFEC14 DCD 0x4090304
ROM:1FFFEC18 DCD 0x22
ROM:1FFFEC1C DCD 0x101
ROM:1FFFEC20 DCD 0x1804
ROM:1FFFEC24 DCD 0xFFFFFFFF
ROM:1FFFEC28 DCD 0xFFFFFFFF
ROM:1FFFEC2C DCD 0xFFFFFFFF
ROM:1FFFEC30 DCD 0xFFFFFFFF
ROM:1FFFEC34 DCD 0xFFFFFFFF
ROM:1FFFEC38 DCD 0xFFFFFFFF
ROM:1FFFEC3C DCD 0xFFFFFFFF
ROM:1FFFEC40 DCD 0xFFFFFFFF
ROM:1FFFEC44 DCD 0xFFFFFFFF
ROM:1FFFEC48 DCD 0xFFFFFFFF
ROM:1FFFEC4C DCD 0xFFFFFFFF
ROM:1FFFEC50 DCD 0xFFFFFFFF
ROM:1FFFEC54 DCD 0xFFFFFFFF
ROM:1FFFEC58 DCD 0xFFFFFFFF
ROM:1FFFEC5C DCD 0xFFFFFFFF
ROM:1FFFEC60 DCD 0xFFFFFFFF
ROM:1FFFEC64 DCD 0xFFFFFFFF
ROM:1FFFEC68 DCD 0xFFFFFFFF
ROM:1FFFEC6C DCD 0xFFFFFFFF
ROM:1FFFEC70 DCD 0xFFFFFFFF
ROM:1FFFEC74 DCD 0xFFFFFFFF
ROM:1FFFEC78 DCD 0xFFFFFFFF
ROM:1FFFEC7C DCD 0xFFFFFFFF
ROM:1FFFEC80 DCD 0xFFFFFFFF
ROM:1FFFEC84 DCD 0xFFFFFFFF
ROM:1FFFEC88 DCD 0xFFFFFFFF
ROM:1FFFEC8C DCD 0xFFFFFFFF
ROM:1FFFEC90 DCD 0xFFFFFFFF
ROM:1FFFEC94 DCD 0xFFFFFFFF
ROM:1FFFEC98 DCD 0xFFFFFFFF
ROM:1FFFEC9C DCD 0xFFFFFFFF
ROM:1FFFECA0 DCD 0xFFFFFFFF
ROM:1FFFECA4 DCD 0xFFFFFFFF
ROM:1FFFECA8 DCD 0xFFFFFFFF
ROM:1FFFECAC DCD 0xFFFFFFFF
ROM:1FFFECB0 DCD 0xFFFFFFFF
ROM:1FFFECB4 DCD 0xFFFFFFFF
ROM:1FFFECB8 DCD 0xFFFFFFFF
ROM:1FFFECBC DCD 0xFFFFFFFF
ROM:1FFFECC0 DCD 0xFFFFFFFF
ROM:1FFFECC4 DCD 0xFFFFFFFF
ROM:1FFFECC8 DCD 0xFFFFFFFF
ROM:1FFFECCC DCD 0xFFFFFFFF
ROM:1FFFECD0 DCD 0xFFFFFFFF
ROM:1FFFECD4 DCD 0xFFFFFFFF
ROM:1FFFECD8 DCD 0xFFFFFFFF
ROM:1FFFECDC DCD 0xFFFFFFFF
ROM:1FFFECE0 DCD 0xFFFFFFFF
ROM:1FFFECE4 DCD 0xFFFFFFFF
ROM:1FFFECE8 DCD 0xFFFFFFFF
ROM:1FFFECEC DCD 0xFFFFFFFF
ROM:1FFFECF0 DCD 0xFFFFFFFF
ROM:1FFFECF4 DCD 0xFFFFFFFF
ROM:1FFFECF8 DCD 0xFFFFFFFF
ROM:1FFFECFC DCD 0xFFFFFFFF
ROM:1FFFED00 DCD 0xFFFFFFFF
ROM:1FFFED04 DCD 0xFFFFFFFF
ROM:1FFFED08 DCD 0xFFFFFFFF
ROM:1FFFED0C DCD 0xFFFFFFFF
ROM:1FFFED10 DCD 0xFFFFFFFF
ROM:1FFFED14 DCD 0xFFFFFFFF
ROM:1FFFED18 DCD 0xFFFFFFFF
ROM:1FFFED1C DCD 0xFFFFFFFF
ROM:1FFFED20 DCD 0xFFFFFFFF
ROM:1FFFED24 DCD 0xFFFFFFFF
ROM:1FFFED28 DCD 0xFFFFFFFF
ROM:1FFFED2C DCD 0xFFFFFFFF
ROM:1FFFED30 DCD 0xFFFFFFFF
ROM:1FFFED34 DCD 0xFFFFFFFF
ROM:1FFFED38 DCD 0xFFFFFFFF
ROM:1FFFED3C DCD 0xFFFFFFFF
ROM:1FFFED40 DCD 0xFFFFFFFF
ROM:1FFFED44 DCD 0xFFFFFFFF
ROM:1FFFED48 DCD 0xFFFFFFFF
ROM:1FFFED4C DCD 0xFFFFFFFF
ROM:1FFFED50 DCD 0xFFFFFFFF
ROM:1FFFED54 DCD 0xFFFFFFFF
ROM:1FFFED58 DCD 0xFFFFFFFF
ROM:1FFFED5C DCD 0xFFFFFFFF
ROM:1FFFED60 DCD 0xFFFFFFFF
ROM:1FFFED64 DCD 0xFFFFFFFF
ROM:1FFFED68 DCD 0xFFFFFFFF
ROM:1FFFED6C DCD 0xFFFFFFFF
ROM:1FFFED70 DCD 0xFFFFFFFF
ROM:1FFFED74 DCD 0xFFFFFFFF
ROM:1FFFED78 DCD 0xFFFFFFFF
ROM:1FFFED7C DCD 0xFFFFFFFF
ROM:1FFFED80 DCD 0xFFFFFFFF
ROM:1FFFED84 DCD 0xFFFFFFFF
ROM:1FFFED88 DCD 0xFFFFFFFF
ROM:1FFFED8C DCD 0xFFFFFFFF
ROM:1FFFED90 DCD 0xFFFFFFFF
ROM:1FFFED94 DCD 0xFFFFFFFF
ROM:1FFFED98 DCD 0xFFFFFFFF
ROM:1FFFED9C DCD 0xFFFFFFFF
ROM:1FFFEDA0 DCD 0xFFFFFFFF
ROM:1FFFEDA4 DCD 0xFFFFFFFF
ROM:1FFFEDA8 DCD 0xFFFFFFFF
ROM:1FFFEDAC DCD 0xFFFFFFFF
ROM:1FFFEDB0 DCD 0xFFFFFFFF
ROM:1FFFEDB4 DCD 0xFFFFFFFF
ROM:1FFFEDB8 DCD 0xFFFFFFFF
ROM:1FFFEDBC DCD 0xFFFFFFFF
ROM:1FFFEDC0 DCD 0xFFFFFFFF
ROM:1FFFEDC4 DCD 0xFFFFFFFF
ROM:1FFFEDC8 DCD 0xFFFFFFFF
ROM:1FFFEDCC DCD 0xFFFFFFFF
ROM:1FFFEDD0 DCD 0xFFFFFFFF
ROM:1FFFEDD4 DCD 0xFFFFFFFF
ROM:1FFFEDD8 DCD 0xFFFFFFFF
ROM:1FFFEDDC DCD 0xFFFFFFFF
ROM:1FFFEDE0 DCD 0xFFFFFFFF
ROM:1FFFEDE4 DCD 0xFFFFFFFF
ROM:1FFFEDE8 DCD 0xFFFFFFFF
ROM:1FFFEDEC DCD 0xFFFFFFFF
ROM:1FFFEDF0 DCD 0xFFFFFFFF
ROM:1FFFEDF4 DCD 0xFFFFFFFF
ROM:1FFFEDF8 DCD 0xFFFFFFFF
ROM:1FFFEDFC DCD 0xFFFFFFFF
ROM:1FFFEE00 DCD 0xFFFFFFFF
ROM:1FFFEE04 DCD 0xFFFFFFFF
ROM:1FFFEE08 DCD 0xFFFFFFFF
ROM:1FFFEE0C DCD 0xFFFFFFFF
ROM:1FFFEE10 DCD 0xFFFFFFFF
ROM:1FFFEE14 DCD 0xFFFFFFFF
ROM:1FFFEE18 DCD 0xFFFFFFFF
ROM:1FFFEE1C DCD 0xFFFFFFFF
ROM:1FFFEE20 DCD 0xFFFFFFFF
ROM:1FFFEE24 DCD 0xFFFFFFFF
ROM:1FFFEE28 DCD 0xFFFFFFFF
ROM:1FFFEE2C DCD 0xFFFFFFFF
ROM:1FFFEE30 DCD 0xFFFFFFFF
ROM:1FFFEE34 DCD 0xFFFFFFFF
ROM:1FFFEE38 DCD 0xFFFFFFFF
ROM:1FFFEE3C DCD 0xFFFFFFFF
ROM:1FFFEE40 DCD 0xFFFFFFFF
ROM:1FFFEE44 DCD 0xFFFFFFFF
ROM:1FFFEE48 DCD 0xFFFFFFFF
ROM:1FFFEE4C DCD 0xFFFFFFFF
ROM:1FFFEE50 DCD 0xFFFFFFFF
ROM:1FFFEE54 DCD 0xFFFFFFFF
ROM:1FFFEE58 DCD 0xFFFFFFFF
ROM:1FFFEE5C DCD 0xFFFFFFFF
ROM:1FFFEE60 DCD 0xFFFFFFFF
ROM:1FFFEE64 DCD 0xFFFFFFFF
ROM:1FFFEE68 DCD 0xFFFFFFFF
ROM:1FFFEE6C DCD 0xFFFFFFFF
ROM:1FFFEE70 DCD 0xFFFFFFFF
ROM:1FFFEE74 DCD 0xFFFFFFFF
ROM:1FFFEE78 DCD 0xFFFFFFFF
ROM:1FFFEE7C DCD 0xFFFFFFFF
ROM:1FFFEE80 DCD 0xFFFFFFFF
ROM:1FFFEE84 DCD 0xFFFFFFFF
ROM:1FFFEE88 DCD 0xFFFFFFFF
ROM:1FFFEE8C DCD 0xFFFFFFFF
ROM:1FFFEE90 DCD 0xFFFFFFFF
ROM:1FFFEE94 DCD 0xFFFFFFFF
ROM:1FFFEE98 DCD 0xFFFFFFFF
ROM:1FFFEE9C DCD 0xFFFFFFFF
ROM:1FFFEEA0 DCD 0xFFFFFFFF
ROM:1FFFEEA4 DCD 0xFFFFFFFF
ROM:1FFFEEA8 DCD 0xFFFFFFFF
ROM:1FFFEEAC DCD 0xFFFFFFFF
ROM:1FFFEEB0 DCD 0xFFFFFFFF
ROM:1FFFEEB4 DCD 0xFFFFFFFF
ROM:1FFFEEB8 DCD 0xFFFFFFFF
ROM:1FFFEEBC DCD 0xFFFFFFFF
ROM:1FFFEEC0 DCD 0xFFFFFFFF
ROM:1FFFEEC4 DCD 0xFFFFFFFF
ROM:1FFFEEC8 DCD 0xFFFFFFFF
ROM:1FFFEECC DCD 0xFFFFFFFF
ROM:1FFFEED0 DCD 0xFFFFFFFF
ROM:1FFFEED4 DCD 0xFFFFFFFF
ROM:1FFFEED8 DCD 0xFFFFFFFF
ROM:1FFFEEDC DCD 0xFFFFFFFF
ROM:1FFFEEE0 DCD 0xFFFFFFFF
ROM:1FFFEEE4 DCD 0xFFFFFFFF
ROM:1FFFEEE8 DCD 0xFFFFFFFF
ROM:1FFFEEEC DCD 0xFFFFFFFF
ROM:1FFFEEF0 DCD 0xFFFFFFFF
ROM:1FFFEEF4 DCD 0xFFFFFFFF
ROM:1FFFEEF8 DCD 0xFFFFFFFF
ROM:1FFFEEFC DCD 0xFFFFFFFF
ROM:1FFFEF00 DCD 0xFFFFFFFF
ROM:1FFFEF04 DCD 0xFFFFFFFF
ROM:1FFFEF08 DCD 0xFFFFFFFF
ROM:1FFFEF0C DCD 0xFFFFFFFF
ROM:1FFFEF10 DCD 0xFFFFFFFF
ROM:1FFFEF14 DCD 0xFFFFFFFF
ROM:1FFFEF18 DCD 0xFFFFFFFF
ROM:1FFFEF1C DCD 0xFFFFFFFF
ROM:1FFFEF20 DCD 0xFFFFFFFF
ROM:1FFFEF24 DCD 0xFFFFFFFF
ROM:1FFFEF28 DCD 0xFFFFFFFF
ROM:1FFFEF2C DCD 0xFFFFFFFF
ROM:1FFFEF30 DCD 0xFFFFFFFF
ROM:1FFFEF34 DCD 0xFFFFFFFF
ROM:1FFFEF38 DCD 0xFFFFFFFF
ROM:1FFFEF3C DCD 0xFFFFFFFF
ROM:1FFFEF40 DCD 0xFFFFFFFF
ROM:1FFFEF44 DCD 0xFFFFFFFF
ROM:1FFFEF48 DCD 0xFFFFFFFF
ROM:1FFFEF4C DCD 0xFFFFFFFF
ROM:1FFFEF50 DCD 0xFFFFFFFF
ROM:1FFFEF54 DCD 0xFFFFFFFF
ROM:1FFFEF58 DCD 0xFFFFFFFF
ROM:1FFFEF5C DCD 0xFFFFFFFF
ROM:1FFFEF60 DCD 0xFFFFFFFF
ROM:1FFFEF64 DCD 0xFFFFFFFF
ROM:1FFFEF68 DCD 0xFFFFFFFF
ROM:1FFFEF6C DCD 0xFFFFFFFF
ROM:1FFFEF70 DCD 0xFFFFFFFF
ROM:1FFFEF74 DCD 0xFFFFFFFF
ROM:1FFFEF78 DCD 0xFFFFFFFF
ROM:1FFFEF7C DCD 0xFFFFFFFF
ROM:1FFFEF80 DCD 0xFFFFFFFF
ROM:1FFFEF84 DCD 0xFFFFFFFF
ROM:1FFFEF88 DCD 0xFFFFFFFF
ROM:1FFFEF8C DCD 0xFFFFFFFF
ROM:1FFFEF90 DCD 0xFFFFFFFF
ROM:1FFFEF94 DCD 0xFFFFFFFF
ROM:1FFFEF98 DCD 0xFFFFFFFF
ROM:1FFFEF9C DCD 0xFFFFFFFF
ROM:1FFFEFA0 DCD 0xFFFFFFFF
ROM:1FFFEFA4 DCD 0xFFFFFFFF
ROM:1FFFEFA8 DCD 0xFFFFFFFF
ROM:1FFFEFAC DCD 0xFFFFFFFF
ROM:1FFFEFB0 DCD 0xFFFFFFFF
ROM:1FFFEFB4 DCD 0xFFFFFFFF
ROM:1FFFEFB8 DCD 0xFFFFFFFF
ROM:1FFFEFBC DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFEFBC DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFEFBC DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFEFBC DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFEFBC DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
ROM:1FFFF018 DCD 0xFFFFFFFF
ROM:1FFFF404 DCD 0xFFFFFFFF
ROM:1FFFF408 DCD 0xFFFFFFFF
ROM:1FFFF40C DCD 0xFFFFFFFF
ROM:1FFFF410 DCD 0xFFFFFFFF
ROM:1FFFF414 DCD 0xFFFFFFFF
ROM:1FFFF418 DCD 0xFFFFFFFF
ROM:1FFFF41C DCD 0xFFFFFFFF
ROM:1FFFF420 DCD 0xFFFFFFFF
ROM:1FFFF424 DCD 0xFFFFFFFF
ROM:1FFFF428 DCD 0xFFFFFFFF
ROM:1FFFF42C DCD 0xFFFFFFFF
ROM:1FFFF430 DCD 0xFFFFFFFF
ROM:1FFFF434 DCD 0xFFFFFFFF
ROM:1FFFF438 DCD 0xFFFFFFFF
ROM:1FFFF43C DCD 0xFFFFFFFF
ROM:1FFFF440 DCD 0xFFFFFFFF
ROM:1FFFF444 DCD 0xFFFFFFFF
ROM:1FFFF448 DCD 0xFFFFFFFF
ROM:1FFFF44C DCD 0xFFFFFFFF
ROM:1FFFF450 DCD 0xFFFFFFFF
ROM:1FFFF454 DCD 0xFFFFFFFF
ROM:1FFFF458 DCD 0xFFFFFFFF
ROM:1FFFF45C DCD 0xFFFFFFFF
ROM:1FFFF460 DCD 0xFFFFFFFF
ROM:1FFFF464 DCD 0xFFFFFFFF
ROM:1FFFF468 DCD 0xFFFFFFFF
ROM:1FFFF46C DCD 0xFFFFFFFF
ROM:1FFFF470 DCD 0xFFFFFFFF
ROM:1FFFF474 DCD 0xFFFFFFFF
ROM:1FFFF478 DCD 0xFFFFFFFF
ROM:1FFFF47C DCD 0xFFFFFFFF
ROM:1FFFF480 DCD 0xFFFFFFFF
ROM:1FFFF484 DCD 0xFFFFFFFF
ROM:1FFFF488 DCD 0xFFFFFFFF
ROM:1FFFF48C DCD 0xFFFFFFFF
ROM:1FFFF490 DCD 0xFFFFFFFF
ROM:1FFFF494 DCD 0xFFFFFFFF
ROM:1FFFF498 DCD 0xFFFFFFFF
ROM:1FFFF49C DCD 0xFFFFFFFF
ROM:1FFFF4A0 DCD 0xFFFFFFFF
ROM:1FFFF4A4 DCD 0xFFFFFFFF
ROM:1FFFF4A8 DCD 0xFFFFFFFF
ROM:1FFFF4AC DCD 0xFFFFFFFF
ROM:1FFFF4B0 DCD 0xFFFFFFFF
ROM:1FFFF4B4 DCD 0xFFFFFFFF
ROM:1FFFF4B8 DCD 0xFFFFFFFF
ROM:1FFFF4BC DCD 0xFFFFFFFF
ROM:1FFFF4C0 DCD 0xFFFFFFFF
ROM:1FFFF4C4 DCD 0xFFFFFFFF
ROM:1FFFF4C8 DCD 0xFFFFFFFF
ROM:1FFFF4CC DCD 0xFFFFFFFF
ROM:1FFFF4D0 DCD 0xFFFFFFFF
ROM:1FFFF4D4 DCD 0xFFFFFFFF
ROM:1FFFF4D8 DCD 0xFFFFFFFF
ROM:1FFFF4DC DCD 0xFFFFFFFF
ROM:1FFFF4E0 DCD 0xFFFFFFFF
ROM:1FFFF4E4 DCD 0xFFFFFFFF
ROM:1FFFF4E8 DCD 0xFFFFFFFF
ROM:1FFFF4EC DCD 0xFFFFFFFF
ROM:1FFFF4F0 DCD 0xFFFFFFFF
ROM:1FFFF4F4 DCD 0xFFFFFFFF
ROM:1FFFF4F8 DCD 0xFFFFFFFF
ROM:1FFFF4FC DCD 0xFFFFFFFF
ROM:1FFFF500 DCD 0xFFFFFFFF
ROM:1FFFF504 DCD 0xFFFFFFFF
ROM:1FFFF508 DCD 0xFFFFFFFF
ROM:1FFFF50C DCD 0xFFFFFFFF
ROM:1FFFF510 DCD 0xFFFFFFFF
ROM:1FFFF514 DCD 0xFFFFFFFF
ROM:1FFFF518 DCD 0xFFFFFFFF
ROM:1FFFF51C DCD 0xFFFFFFFF
ROM:1FFFF520 DCD 0xFFFFFFFF
ROM:1FFFF524 DCD 0xFFFFFFFF
ROM:1FFFF528 DCD 0xFFFFFFFF
ROM:1FFFF52C DCD 0xFFFFFFFF
ROM:1FFFF530 DCD 0xFFFFFFFF
ROM:1FFFF534 DCD 0xFFFFFFFF
ROM:1FFFF538 DCD 0xFFFFFFFF
ROM:1FFFF53C DCD 0xFFFFFFFF
ROM:1FFFF540 DCD 0xFFFFFFFF
ROM:1FFFF544 DCD 0xFFFFFFFF
ROM:1FFFF548 DCD 0xFFFFFFFF
ROM:1FFFF54C DCD 0xFFFFFFFF
ROM:1FFFF550 DCD 0xFFFFFFFF
ROM:1FFFF554 DCD 0xFFFFFFFF
ROM:1FFFF558 DCD 0xFFFFFFFF
ROM:1FFFF55C DCD 0xFFFFFFFF
ROM:1FFFF560 DCD 0xFFFFFFFF
ROM:1FFFF564 DCD 0xFFFFFFFF
ROM:1FFFF568 DCD 0xFFFFFFFF
ROM:1FFFF56C DCD 0xFFFFFFFF
ROM:1FFFF570 DCD 0xFFFFFFFF
ROM:1FFFF574 DCD 0xFFFFFFFF
ROM:1FFFF578 DCD 0xFFFFFFFF
ROM:1FFFF57C DCD 0xFFFFFFFF
ROM:1FFFF580 DCD 0xFFFFFFFF
ROM:1FFFF584 DCD 0xFFFFFFFF
ROM:1FFFF588 DCD 0xFFFFFFFF
ROM:1FFFF58C DCD 0xFFFFFFFF
ROM:1FFFF590 DCD 0xFFFFFFFF
ROM:1FFFF594 DCD 0xFFFFFFFF
ROM:1FFFF598 DCD 0xFFFFFFFF
ROM:1FFFF59C DCD 0xFFFFFFFF
ROM:1FFFF5A0 DCD 0xFFFFFFFF
ROM:1FFFF5A4 DCD 0xFFFFFFFF
ROM:1FFFF5A8 DCD 0xFFFFFFFF
ROM:1FFFF5AC DCD 0xFFFFFFFF
ROM:1FFFF5B0 DCD 0xFFFFFFFF
ROM:1FFFF5B4 DCD 0xFFFFFFFF
ROM:1FFFF5B8 DCD 0xFFFFFFFF
ROM:1FFFF5BC DCD 0xFFFFFFFF
ROM:1FFFF5C0 DCD 0xFFFFFFFF
ROM:1FFFF5C4 DCD 0xFFFFFFFF
ROM:1FFFF5C8 DCD 0xFFFFFFFF
ROM:1FFFF5CC DCD 0xFFFFFFFF
ROM:1FFFF5D0 DCD 0xFFFFFFFF
ROM:1FFFF5D4 DCD 0xFFFFFFFF
ROM:1FFFF5D8 DCD 0xFFFFFFFF
ROM:1FFFF5DC DCD 0xFFFFFFFF
ROM:1FFFF5E0 DCD 0xFFFFFFFF
ROM:1FFFF5E4 DCD 0xFFFFFFFF
ROM:1FFFF5E8 DCD 0xFFFFFFFF
ROM:1FFFF5EC DCD 0xFFFFFFFF
ROM:1FFFF5F0 DCD 0xFFFFFFFF
ROM:1FFFF5F4 DCD 0xFFFFFFFF
ROM:1FFFF5F8 DCD 0xFFFFFFFF
ROM:1FFFF5FC DCD 0xFFFFFFFF
ROM:1FFFF600 DCD 0xFFFFFFFF
ROM:1FFFF604 DCD 0xFFFFFFFF
ROM:1FFFF608 DCD 0xFFFFFFFF
ROM:1FFFF60C DCD 0xFFFFFFFF
ROM:1FFFF610 DCD 0xFFFFFFFF
ROM:1FFFF614 DCD 0xFFFFFFFF
ROM:1FFFF618 DCD 0xFFFFFFFF
ROM:1FFFF61C DCD 0xFFFFFFFF
ROM:1FFFF620 DCD 0xFFFFFFFF
ROM:1FFFF624 DCD 0xFFFFFFFF
ROM:1FFFF628 DCD 0xFFFFFFFF
ROM:1FFFF62C DCD 0xFFFFFFFF
ROM:1FFFF630 DCD 0xFFFFFFFF
ROM:1FFFF634 DCD 0xFFFFFFFF
ROM:1FFFF638 DCD 0xFFFFFFFF
ROM:1FFFF63C DCD 0xFFFFFFFF
ROM:1FFFF640 DCD 0xFFFFFFFF
ROM:1FFFF644 DCD 0xFFFFFFFF
ROM:1FFFF648 DCD 0xFFFFFFFF
ROM:1FFFF64C DCD 0xFFFFFFFF
ROM:1FFFF650 DCD 0xFFFFFFFF
ROM:1FFFF654 DCD 0xFFFFFFFF
ROM:1FFFF658 DCD 0xFFFFFFFF
ROM:1FFFF65C DCD 0xFFFFFFFF
ROM:1FFFF660 DCD 0xFFFFFFFF
ROM:1FFFF664 DCD 0xFFFFFFFF
ROM:1FFFF668 DCD 0xFFFFFFFF
ROM:1FFFF66C DCD 0xFFFFFFFF
ROM:1FFFF670 DCD 0xFFFFFFFF
ROM:1FFFF674 DCD 0xFFFFFFFF
ROM:1FFFF678 DCD 0xFFFFFFFF
ROM:1FFFF67C DCD 0xFFFFFFFF
ROM:1FFFF680 DCD 0xFFFFFFFF
ROM:1FFFF684 DCD 0xFFFFFFFF
ROM:1FFFF688 DCD 0xFFFFFFFF
ROM:1FFFF68C DCD 0xFFFFFFFF
ROM:1FFFF690 DCD 0xFFFFFFFF
ROM:1FFFF694 DCD 0xFFFFFFFF
ROM:1FFFF698 DCD 0xFFFFFFFF
ROM:1FFFF69C DCD 0xFFFFFFFF
ROM:1FFFF6A0 DCD 0xFFFFFFFF
ROM:1FFFF6A4 DCD 0xFFFFFFFF
ROM:1FFFF6A8 DCD 0xFFFFFFFF
ROM:1FFFF6AC DCD 0xFFFFFFFF
ROM:1FFFF6B0 DCD 0xFFFFFFFF
ROM:1FFFF6B4 DCD 0xFFFFFFFF
ROM:1FFFF6B8 DCD 0xFFFFFFFF
ROM:1FFFF6BC DCD 0xFFFFFFFF
ROM:1FFFF6C0 DCD 0xFFFFFFFF
ROM:1FFFF6C4 DCD 0xFFFFFFFF
ROM:1FFFF6C8 DCD 0xFFFFFFFF
ROM:1FFFF6CC DCD 0xFFFFFFFF
ROM:1FFFF6D0 DCD 0xFFFFFFFF
ROM:1FFFF6D4 DCD 0xFFFFFFFF
ROM:1FFFF6D8 DCD 0xFFFFFFFF
ROM:1FFFF6DC DCD 0xFFFFFFFF
ROM:1FFFF6E0 DCD 0xFFFFFFFF
ROM:1FFFF6E4 DCD 0xFFFFFFFF
ROM:1FFFF6E8 DCD 0xFFFFFFFF
ROM:1FFFF6EC DCD 0xFFFFFFFF
ROM:1FFFF6F0 DCD 0xFFFFFFFF
ROM:1FFFF6F4 DCD 0xFFFFFFFF
ROM:1FFFF6F8 DCD 0xFFFFFFFF
ROM:1FFFF6FC DCD 0xFFFFFFFF
ROM:1FFFF700 DCD 0xFFFFFFFF
ROM:1FFFF704 DCD 0xFFFFFFFF
ROM:1FFFF708 DCD 0xFFFFFFFF
ROM:1FFFF70C DCD 0xFFFFFFFF
ROM:1FFFF710 DCD 0xFFFFFFFF
ROM:1FFFF714 DCD 0xFFFFFFFF
ROM:1FFFF718 DCD 0xFFFFFFFF
ROM:1FFFF71C DCD 0xFFFFFFFF
ROM:1FFFF720 DCD 0xFFFFFFFF
ROM:1FFFF724 DCD 0xFFFFFFFF
ROM:1FFFF728 DCD 0xFFFFFFFF
ROM:1FFFF72C DCD 0xFFFFFFFF
ROM:1FFFF730 DCD 0xFFFFFFFF
ROM:1FFFF734 DCD 0xFFFFFFFF
ROM:1FFFF738 DCD 0xFFFFFFFF
ROM:1FFFF73C DCD 0xFFFFFFFF
ROM:1FFFF740 DCD 0xFFFFFFFF
ROM:1FFFF744 DCD 0xFFFFFFFF
ROM:1FFFF748 DCD 0xFFFFFFFF
ROM:1FFFF74C DCD 0xFFFFFFFF
ROM:1FFFF750 DCD 0xFFFFFFFF
ROM:1FFFF754 DCD 0xFFFFFFFF
ROM:1FFFF758 DCD 0xFFFFFFFF
ROM:1FFFF75C DCD 0xFFFFFFFF
ROM:1FFFF760 DCD 0xFFFFFFFF
ROM:1FFFF764 DCD 0xFFFFFFFF
ROM:1FFFF768 DCD 0xFFFFFFFF
ROM:1FFFF76C DCD 0xFFFFFFFF
ROM:1FFFF770 DCD 0xFFFFFFFF
ROM:1FFFF774 DCD 0xFFFFFFFF
ROM:1FFFF778 DCD 0xFFFFFFFF
ROM:1FFFF77C DCD 0xFFFFFFFF
ROM:1FFFF780 DCD 0xFFFFFFFF
ROM:1FFFF784 DCD 0xFFFFFFFF
ROM:1FFFF788 DCD 0xFFFFFFFF
ROM:1FFFF78C DCD 0xFFFFFFFF
ROM:1FFFF790 DCD 0xFFFFFFFF
ROM:1FFFF794 DCD 0xFFFFFFFF
ROM:1FFFF798 DCD 0xFFFFFFFF
ROM:1FFFF79C DCD 0xFFFFFFFF
ROM:1FFFF7A0 DCD 0xFFFFFFFF
ROM:1FFFF7A4 DCD 0xFFFFFFFF
ROM:1FFFF7A8 DCD 0xFFFFFFFF
ROM:1FFFF7AC DCD 0xFFFFFFFF
ROM:1FFFF7B0 DCD 0xFFFFFFFF
ROM:1FFFF7B4 DCD 0xFFFFFFFF
ROM:1FFFF7B8 DCD 0xFFFFFFFF
ROM:1FFFF7BC DCD 0xFFFFFFFF
ROM:1FFFF7C0 DCD 0xFFFFFFFF
ROM:1FFFF7C4 DCD 0xFFFFFFFF
ROM:1FFFF7C8 DCD 0xFFFFFFFF
ROM:1FFFF7CC DCD 0xFFFFFFFF
ROM:1FFFF7D0 DCD 0xFFFFFFFF
ROM:1FFFF7D4 DCD 0xFFFFFFFF
ROM:1FFFF7D8 DCD 0xFFFFFFFF
ROM:1FFFF7DC DCD 0xFFFFFFFF
ROM:1FFFF7E0 DCD 0xFFFF0080
ROM:1FFFF7E4 DCD 0x51F06D5
ROM:1FFFF7E8 DCD 0x5D9FF33
ROM:1FFFF7EC DCD 0x3938504D
ROM:1FFFF7F0 DCD 0x43134141
ROM:1FFFF7F4 DCD 0xFFFCF0FF
ROM:1FFFF7F8 DCD 0xFF9768
ROM:1FFFF7FC DCD 0x7F80BE41
ROM:1FFFF7FC ; ROM ends
ROM:1FFFF7FC
ROM:1FFFF7FC END