📄 main.s79
字号:
DATA
??main_0:
DC32 Main_TaskStk + 252
DC32 Main_Task
CFI EndBlock cfiBlock1
// 28 }
RSEG CODE:CODE:NOROOT(2)
CFI Block cfiBlock2 Using cfiCommon0
CFI NoFunction
ARM
??Main_Task??rA:
ADD R12,PC,#+1
BX R12
CFI EndBlock cfiBlock2
REQUIRE Main_Task
// 29
// 30 /*******************************************************************************
// 31 *名称: Main_Task()
// 32 *功能: 主任务,输出PWM
// 33 *******************************************************************************/
RSEG CODE:CODE:NOROOT(2)
CFI Block cfiBlock3 Using cfiCommon1
CFI Function Main_Task
THUMB
// 34 void Main_Task(void *pdata)
// 35 { INT32U pwmdata; //PWM占空比控制变量
Main_Task:
PUSH {R4,LR}
CFI ?RET Frame(CFA, -4)
CFI R4 Frame(CFA, -8)
CFI CFA R13+8
MOVS R4,R0
// 36 pdata=pdata;
// 37 PINSEL0=0x00080000; //设置PWM6连接到P0.9引脚
LDR R0,??Main_Task_0 ;; 0xe002c000
MOVS R1,#+128
LSLS R1,R1,#+12 ;; #+524288
STR R1,[R0, #+0]
// 38 PINSEL1=0x00000000; //其他引脚设置为GPIO
LDR R0,??Main_Task_0+0x4 ;; 0xe002c004
MOVS R1,#+0
STR R1,[R0, #+0]
// 39 BSP_Init(); //目标板初始化
_BLF BSP_Init,??BSP_Init??rT
// 40 OSTaskCreate(Task0, (void *)0, &Task0Stk[TASK_STK_SIZE - 1],2);
MOVS R3,#+2
LDR R2,??Main_Task_0+0x8 ;; Task0Stk + 252
MOVS R1,#+0
LDR R0,??Main_Task_0+0xC ;; Task0
_BLF OSTaskCreate,??OSTaskCreate??rT
// 41
// 42 pwmdata=1382;
LDR R0,??Main_Task_0+0x10 ;; 0x566
// 43 while(1)
// 44 { PWMMR0=2765; //设置PWM周期
??Main_Task_1:
LDR R1,??Main_Task_0+0x14 ;; 0xe0014018
LDR R2,??Main_Task_0+0x18 ;; 0xacd
STR R2,[R1, #+0]
// 45 PWMMR6=pwmdata; //设置PWM占空比
LDR R1,??Main_Task_0+0x1C ;; 0xe0014048
STR R0,[R1, #+0]
// 46 PWMLER=0x41; //PWMMR0,PWMMR6锁存,更新PWM占空比
LDR R1,??Main_Task_0+0x20 ;; 0xe0014050
MOVS R2,#+65
STR R2,[R1, #+0]
// 47 //OSTaskSuspend(OS_PRIO_SELF);
// 48 pwmdata+=100; //改变PWM占空比控制变量
ADDS R0,R0,#+100
// 49 if(pwmdata>=2764)pwmdata=0;
LDR R1,??Main_Task_0+0x24 ;; 0xacc
CMP R0,R1
BCC ??Main_Task_1
MOVS R0,#+0
B ??Main_Task_1
DATA
??Main_Task_0:
DC32 0xe002c000
DC32 0xe002c004
DC32 Task0Stk + 252
DC32 Task0
DC32 0x566
DC32 0xe0014018
DC32 0xacd
DC32 0xe0014048
DC32 0xe0014050
DC32 0xacc
CFI EndBlock cfiBlock3
// 50 }
// 51
// 52 }
RSEG CODE:CODE:NOROOT(2)
CFI Block cfiBlock4 Using cfiCommon0
CFI NoFunction
ARM
??Task0??rA:
ADD R12,PC,#+1
BX R12
CFI EndBlock cfiBlock4
REQUIRE Task0
// 53 /*******************************************************************************
// 54 *名称: Task0()
// 55 *功能: 按键控制
// 56 *******************************************************************************/
RSEG CODE:CODE:NOROOT(2)
CFI Block cfiBlock5 Using cfiCommon1
CFI Function Task0
THUMB
// 57 void Task0(void *pdata)
// 58 { INT32U i;
Task0:
PUSH {LR}
CFI ?RET Frame(CFA, -4)
CFI CFA R13+4
// 59 pdata=pdata;
// 60 while(1)
// 61 { while((IOPIN&KEY1)!=0); //等待KEY1键按下
??Task0_0:
LDR R0,??Task0_1 ;; 0xe0028000
LDR R0,[R0, #+0]
LSLS R0,R0,#+17
BMI ??Task0_0
// 62 for(i=0;i<50;i++); //延时去抖
MOVS R0,#+0
B ??Task0_2
??Task0_3:
ADDS R0,R0,#+1
??Task0_2:
CMP R0,#+50
BCC ??Task0_3
// 63 if((IOPIN&KEY1)==0)break;
LDR R0,??Task0_1 ;; 0xe0028000
LDR R0,[R0, #+0]
LSLS R0,R0,#+17
BMI ??Task0_0
// 64 }
// 65 //OSTaskResume(0);
// 66 while((IOPIN&KEY1)==0); //等待KEY1键放开
??Task0_4:
LDR R0,??Task0_1 ;; 0xe0028000
LDR R0,[R0, #+0]
LSLS R0,R0,#+17
BPL ??Task0_4
// 67 }
POP {R0}
BX R0 ;; return
DATA
??Task0_1:
DC32 0xe0028000
CFI EndBlock cfiBlock5
RSEG CODE:CODE:NOROOT(2)
CFI Block cfiBlock6 Using cfiCommon1
CFI NoFunction
THUMB
??OSInit??rT:
LDR R3,??Subroutine3_0 ;; OSInit
BX R3
DATA
??Subroutine3_0:
DC32 OSInit
CFI EndBlock cfiBlock6
RSEG CODE:CODE:NOROOT(2)
CFI Block cfiBlock7 Using cfiCommon1
CFI NoFunction
THUMB
??OSTaskCreate??rT:
PUSH {R3}
CFI CFA R13+4
LDR R3,??Subroutine4_0 ;; OSTaskCreate
MOV R12,R3
POP {R3}
CFI CFA R13+0
BX R12
Nop
DATA
??Subroutine4_0:
DC32 OSTaskCreate
CFI EndBlock cfiBlock7
RSEG CODE:CODE:NOROOT(2)
CFI Block cfiBlock8 Using cfiCommon1
CFI NoFunction
THUMB
??OSStart??rT:
LDR R3,??Subroutine5_0 ;; OSStart
BX R3
DATA
??Subroutine5_0:
DC32 OSStart
CFI EndBlock cfiBlock8
RSEG CODE:CODE:NOROOT(2)
CFI Block cfiBlock9 Using cfiCommon1
CFI NoFunction
THUMB
??BSP_Init??rT:
LDR R3,??Subroutine6_0 ;; BSP_Init
BX R3
DATA
??Subroutine6_0:
DC32 BSP_Init
CFI EndBlock cfiBlock9
RSEG INITTAB:CODE:ROOT(2)
DATA
?init?tab?DATA_Z:
DCD sfe(DATA_Z) - sfb(DATA_Z), sfb(DATA_Z), sfb(DATA_Z)
END
// 68
//
// 248 bytes in segment CODE
// 12 bytes in segment DATA_AN
// 512 bytes in segment DATA_Z
// 12 bytes in segment INITTAB
//
// 184 bytes of CODE memory (+ 76 bytes shared)
// 512 bytes of DATA memory (+ 12 bytes shared)
//
//Errors: none
//Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -