📄 main.s79
字号:
??main_0:
DC32 TaskStartStk + 252
DC32 TaskStart
CFI EndBlock cfiBlock1
// 20 }
RSEG CODE:CODE:NOROOT(2)
CFI Block cfiBlock2 Using cfiCommon0
CFI NoFunction
ARM
??TaskStart??rA:
ADD R12,PC,#+1
BX R12
CFI EndBlock cfiBlock2
REQUIRE TaskStart
// 21
// 22 /*********************************************************************************************************
// 23 ** 函数名称: TaskStart
// 24 ** 功能描述: μCOS-II的第一个任务,通常由它初始化目标板和建立其它任务
// 25 ********************************************************************************************************/
RSEG DATA_C:CONST:SORT:NOROOT(2)
// 26 INT8U const ShowTable[11] = {
ShowTable:
DATA
DC8 63, 6, 91, 79, 102, 109, 125, 7, 127, 111, 0, 0
// 27 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x00};
RSEG CODE:CODE:NOROOT(2)
CFI Block cfiBlock3 Using cfiCommon1
CFI Function TaskStart
THUMB
// 28 void TaskStart(void *pdata)
// 29 {
TaskStart:
PUSH {R4,R5,LR}
CFI ?RET Frame(CFA, -4)
CFI R5 Frame(CFA, -8)
CFI R4 Frame(CFA, -12)
CFI CFA R13+12
SUB SP,SP,#+4
CFI CFA R13+16
// 30 INT8U temp,i;
// 31
// 32 pdata = pdata; /* 避免编译警告 */
// 33
// 34 BSP_Init(); /* 目标板初始化 */
_BLF BSP_Init,??BSP_Init??rT
// 35 PINSEL0 = (PINSEL0 & 0xfffcfff0);
LDR R0,??TaskStart_0 ;; 0xe002c000
LDR R1,[R0, #+0]
LDR R2,??TaskStart_0+0x4 ;; 0xfffcfff0
ANDS R2,R2,R1
STR R2,[R0, #+0]
// 36 IODIR = HC595_CS;
LDR R0,??TaskStart_0+0x8 ;; 0xe0028008
MOVS R1,#+128
LSLS R1,R1,#+1 ;; #+256
STR R1,[R0, #+0]
// 37
// 38 for (;;)
// 39 {
// 40 for (i = 0; i < 10; i++)
??TaskStart_1:
LDR R4,??TaskStart_0+0xC ;; ShowTable
MOVS R5,#+10
// 41 {
// 42 SPIStart();
??TaskStart_2:
_BLF SPIStart,??SPIStart??rT
// 43 IOCLR = HC595_CS;
LDR R0,??TaskStart_0+0x10 ;; 0xe002800c
MOVS R1,#+128
LSLS R1,R1,#+1 ;; #+256
STR R1,[R0, #+0]
// 44 SPIRW(&temp, ~ShowTable[i]);
LDRB R0,[R4, #+0]
MVNS R1,R0
LSLS R1,R1,#+24
LSRS R1,R1,#+24
MOV R0,SP
_BLF SPIRW,??SPIRW??rT
// 45 IOSET = HC595_CS;
LDR R0,??TaskStart_0+0x14 ;; 0xe0028004
MOVS R1,#+128
LSLS R1,R1,#+1 ;; #+256
STR R1,[R0, #+0]
// 46 SPIEnd();
_BLF SPIEnd,??SPIEnd??rT
// 47 OSTimeDly(OS_TICKS_PER_SEC / 5);
MOVS R0,#+20
_BLF OSTimeDly,??OSTimeDly??rT
// 48
// 49 }
ADDS R4,R4,#+1
SUBS R5,R5,#+1
BEQ ??TaskStart_1
B ??TaskStart_2
Nop
DATA
??TaskStart_0:
DC32 0xe002c000
DC32 0xfffcfff0
DC32 0xe0028008
DC32 ShowTable
DC32 0xe002800c
DC32 0xe0028004
CFI EndBlock cfiBlock3
// 50 }
// 51 }
RSEG CODE:CODE:NOROOT(2)
CFI Block cfiBlock4 Using cfiCommon1
CFI NoFunction
THUMB
??OSInit??rT:
LDR R3,??Subroutine2_0 ;; OSInit
BX R3
DATA
??Subroutine2_0:
DC32 OSInit
CFI EndBlock cfiBlock4
RSEG CODE:CODE:NOROOT(2)
CFI Block cfiBlock5 Using cfiCommon1
CFI NoFunction
THUMB
??OSTaskCreate??rT:
PUSH {R3}
CFI CFA R13+4
LDR R3,??Subroutine3_0 ;; OSTaskCreate
MOV R12,R3
POP {R3}
CFI CFA R13+0
BX R12
Nop
DATA
??Subroutine3_0:
DC32 OSTaskCreate
CFI EndBlock cfiBlock5
RSEG CODE:CODE:NOROOT(2)
CFI Block cfiBlock6 Using cfiCommon1
CFI NoFunction
THUMB
??OSStart??rT:
LDR R3,??Subroutine4_0 ;; OSStart
BX R3
DATA
??Subroutine4_0:
DC32 OSStart
CFI EndBlock cfiBlock6
RSEG CODE:CODE:NOROOT(2)
CFI Block cfiBlock7 Using cfiCommon1
CFI NoFunction
THUMB
??BSP_Init??rT:
LDR R3,??Subroutine5_0 ;; BSP_Init
BX R3
DATA
??Subroutine5_0:
DC32 BSP_Init
CFI EndBlock cfiBlock7
RSEG CODE:CODE:NOROOT(2)
CFI Block cfiBlock8 Using cfiCommon1
CFI NoFunction
THUMB
??SPIStart??rT:
LDR R3,??Subroutine6_0 ;; SPIStart
BX R3
DATA
??Subroutine6_0:
DC32 SPIStart
CFI EndBlock cfiBlock8
RSEG CODE:CODE:NOROOT(2)
CFI Block cfiBlock9 Using cfiCommon1
CFI NoFunction
THUMB
??SPIRW??rT:
LDR R3,??Subroutine7_0 ;; SPIRW
BX R3
DATA
??Subroutine7_0:
DC32 SPIRW
CFI EndBlock cfiBlock9
RSEG CODE:CODE:NOROOT(2)
CFI Block cfiBlock10 Using cfiCommon1
CFI NoFunction
THUMB
??SPIEnd??rT:
LDR R3,??Subroutine8_0 ;; SPIEnd
BX R3
DATA
??Subroutine8_0:
DC32 SPIEnd
CFI EndBlock cfiBlock10
RSEG CODE:CODE:NOROOT(2)
CFI Block cfiBlock11 Using cfiCommon1
CFI NoFunction
THUMB
??OSTimeDly??rT:
LDR R3,??Subroutine9_0 ;; OSTimeDly
BX R3
DATA
??Subroutine9_0:
DC32 OSTimeDly
CFI EndBlock cfiBlock11
RSEG INITTAB:CODE:ROOT(2)
DATA
?init?tab?DATA_Z:
DCD sfe(DATA_Z) - sfb(DATA_Z), sfb(DATA_Z), sfb(DATA_Z)
END
// 52
// 53 /*********************************************************************************************************
// 54 ** End Of File
// 55 ********************************************************************************************************/
//
// 232 bytes in segment CODE
// 16 bytes in segment DATA_AN
// 12 bytes in segment DATA_C
// 256 bytes in segment DATA_Z
// 12 bytes in segment INITTAB
//
// 144 bytes of CODE memory (+ 100 bytes shared)
// 12 bytes of CONST memory
// 256 bytes of DATA memory (+ 16 bytes shared)
//
//Errors: none
//Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -