📄 app.lst
字号:
##############################################################################
# #
# IAR ARM ANSI C/C++ Compiler V4.42A/W32 KICKSTART 10/Jan/2008 16:48:26 #
# Copyright 1999-2005 IAR Systems. All rights reserved. #
# #
# Cpu mode = arm #
# Endian = little #
# Stack alignment = 4 #
# Source file = D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software #
# \EvalBoards\NXP\LPC2468-EA\IAR\OS-View\app.c #
# Command line = D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software #
# \EvalBoards\NXP\LPC2468-EA\IAR\OS-View\app.c -lCN #
# D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software #
# \EvalBoards\NXP\LPC2468-EA\IAR\OS-View\Flash\List\ #
# -o D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Softw #
# are\EvalBoards\NXP\LPC2468-EA\IAR\OS-View\Flash\Obj\ #
# -z3 --no_cse --no_unroll --no_inline #
# --no_code_motion --no_tbaa --no_clustering #
# --no_scheduling --debug --cpu_mode arm --endian #
# little --cpu ARM7TDMI-S --stack_align 4 -e --fpu #
# None --dlib_config "C:\Program Files\IAR #
# Systems\Embedded Workbench 4.0 #
# Kickstart\arm\LIB\dl4tpannl8n.h" -I #
# D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software #
# \EvalBoards\NXP\LPC2468-EA\IAR\OS-View\ -I #
# D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software #
# \EvalBoards\NXP\LPC2468-EA\IAR\OS-View\..\..\..\..\. #
# .\ucos-ii\ports\arm\generic\iar\ -I #
# D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software #
# \EvalBoards\NXP\LPC2468-EA\IAR\OS-View\..\..\..\..\. #
# .\ucos-ii\source\ -I D:\work\资料\嵌入式操作系统\UCO #
# S-II\Micrium\Software\EvalBoards\NXP\LPC2468-EA\IAR\ #
# OS-View\..\..\..\..\..\ucosview\source\ -I #
# D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software #
# \EvalBoards\NXP\LPC2468-EA\IAR\OS-View\..\..\..\..\. #
# .\ucosview\ports\arm7\lpc2468\iar\ -I #
# D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software #
# \EvalBoards\NXP\LPC2468-EA\IAR\OS-View\..\..\..\..\. #
# .\uc-lib\ -I D:\work\资料\嵌入式操作系统\UCOS-II\Mic #
# rium\Software\EvalBoards\NXP\LPC2468-EA\IAR\OS-View\ #
# ..\..\..\..\..\uc-cpu\ -I #
# D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software #
# \EvalBoards\NXP\LPC2468-EA\IAR\OS-View\..\..\..\..\. #
# .\uc-cpu\arm\IAR\ -I D:\work\资料\嵌入式操作系统\UCO #
# S-II\Micrium\Software\EvalBoards\NXP\LPC2468-EA\IAR\ #
# OS-View\..\BSP\ -I "C:\Program Files\IAR #
# Systems\Embedded Workbench 4.0 Kickstart\arm\INC\" #
# List file = D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software #
# \EvalBoards\NXP\LPC2468-EA\IAR\OS-View\Flash\List\ap #
# p.lst #
# Object file = D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software #
# \EvalBoards\NXP\LPC2468-EA\IAR\OS-View\Flash\Obj\app #
# .r79 #
# #
# #
##############################################################################
D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software\EvalBoards\NXP\LPC2468-EA\IAR\OS-View\app.c
1 /*
2 *********************************************************************************************************
3 * EXAMPLE CODE
4 *
5 * (c) Copyright 2003-2006; Micrium, Inc.; Weston, FL
6 *
7 * All rights reserved. Protected by international copyright laws.
8 * Knowledge of the source code may NOT be used to develop a similar product.
9 * Please help us continue to provide the Embedded community with the finest
10 * software available. Your honesty is greatly appreciated.
11 *********************************************************************************************************
12 */
13
14 /*
15 *********************************************************************************************************
16 *
17 * EXAMPLE CODE
18 *
19 * NXP LPC2468
20 * on the
21 * Embedded Artists LPC2468 OEM Board
22 *
23 * Filename : app.c
24 * Version : V1.00
25 * Programmer(s) : Brian Nagel
26 *********************************************************************************************************
27 */
28
29 #include <includes.h>
30
31 /*
32 *********************************************************************************************************
33 * #DEFINE CONSTANTS
34 *********************************************************************************************************
35 */
36
37 /*
38 *********************************************************************************************************
39 * LOCAL VARIABLES
40 *********************************************************************************************************
41 */
42
\ In segment DATA_Z, align 4, align-sorted
43 static OS_STK AppTaskStartStk[APP_TASK_START_STK_SIZE];
\ AppTaskStartStk:
\ 00000000 DS8 2048
\ In segment DATA_Z, align 4, align-sorted
44 static OS_STK AppTaskKbdStk[APP_TASK_KBD_STK_SIZE];
\ AppTaskKbdStk:
\ 00000000 DS8 2048
45
\ In segment DATA_Z, align 4, align-sorted
46 static void *AppKbdQStorage[16];
\ AppKbdQStorage:
\ 00000000 DS8 64
\ In segment DATA_Z, align 4, align-sorted
47 static OS_EVENT *AppKbdQ;
\ AppKbdQ:
\ 00000000 DS8 4
48
49 /*
50 *********************************************************************************************************
51 * LOCAL FUNCTION PROTOTYPES
52 *********************************************************************************************************
53 */
54
55 static void AppTaskCreate (void);
56 static void AppTaskStart (void *p_arg);
57 static void AppTaskKbd (void *p_arg);
58
59 #if OS_VIEW_MODULE > 0
60 static void AppTerminalRx (CPU_INT08U rx_data);
61 #endif
62
63 /*
64 *********************************************************************************************************
65 * main()
66 *
67 * Description : This is the standard entry point for C code. It is assumed that your code will call
68 * main() once you have performed all necessary 68HC12 and C initialization.
69 *
70 * Arguments : none
71 *
72 * Returns : none
73 *********************************************************************************************************
74 */
75
\ In segment CODE, align 4, keep-with-next
76 void main (void)
77 {
\ main:
\ 00000000 00402DE9 PUSH {LR}
\ 00000004 04D04DE2 SUB SP,SP,#+4
78 CPU_INT08U err;
79
80
81 BSP_IntDisAll(); /* Disable all interrupts until we are ready to accept them */
\ 00000008 ........ _BLF BSP_IntDisAll,??BSP_IntDisAll??rA
82
83 OSInit(); /* Initialize "uC/OS-II, The Real-Time Kernel" */
\ 0000000C ........ _BLF OSInit,??OSInit??rA
84
85 OSTaskCreateExt(AppTaskStart, /* Create the start task */
86 (void *)0,
87 (OS_STK *)&AppTaskStartStk[APP_TASK_START_STK_SIZE - 1],
88 APP_TASK_START_PRIO,
89 APP_TASK_START_PRIO,
90 (OS_STK *)&AppTaskStartStk[0],
91 APP_TASK_START_STK_SIZE,
92 (void *)0,
93 OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);
\ 00000010 0300A0E3 MOV R0,#+3
\ 00000014 01002DE9 PUSH {R0}
\ 00000018 0000A0E3 MOV R0,#+0
\ 0000001C 01002DE9 PUSH {R0}
\ 00000020 800FA0E3 MOV R0,#+512
\ 00000024 01002DE9 PUSH {R0}
\ 00000028 3C009FE5 LDR R0,??main_0 ;; AppTaskStartStk
\ 0000002C 01002DE9 PUSH {R0}
\ 00000030 0100A0E3 MOV R0,#+1
\ 00000034 01002DE9 PUSH {R0}
\ 00000038 0130A0E3 MOV R3,#+1
\ 0000003C 2C209FE5 LDR R2,??main_0+0x4 ;; AppTaskStartStk + 2044
\ 00000040 0010A0E3 MOV R1,#+0
\ 00000044 28009FE5 LDR R0,??main_0+0x8 ;; AppTaskStart
\ 00000048 ........ _BLF OSTaskCreateExt,??OSTaskCreateExt??rA
\ 0000004C 14D08DE2 ADD SP,SP,#+20 ;; stack cleaning
94
95 #if OS_TASK_NAME_SIZE > 13
96 OSTaskNameSet(APP_TASK_START_PRIO, "Start Task", &err);
\ 00000050 0D20B0E1 MOVS R2,SP
\ 00000054 1C109FE5 LDR R1,??main_0+0xC ;; `?<Constant "Start Task">`
\ 00000058 0100A0E3 MOV R0,#+1
\ 0000005C ........ _BLF OSTaskNameSet,??OSTaskNameSet??rA
97 #endif
98
99 OSStart(); /* Start multitasking (i.e. give control to uC/OS-II) */
\ 00000060 ........ _BLF OSStart,??OSStart??rA
100 }
\ 00000064 04D08DE2 ADD SP,SP,#+4 ;; stack cleaning
\ 00000068 0080BDE8 POP {PC} ;; return
\ ??main_0:
\ 0000006C ........ DC32 AppTaskStartStk
\ 00000070 ........ DC32 AppTaskStartStk + 2044
\ 00000074 ........ DC32 AppTaskStart
\ 00000078 ........ DC32 `?<Constant "Start Task">`
101
102 /*
103 *********************************************************************************************************
104 * STARTUP TASK
105 *
106 * Description : This is an example of a startup task. As mentioned in the book's text, you MUST
107 * initialize the ticker only once multitasking has started.
108 *
109 * Arguments : p_arg is the argument passed to 'AppStartTask()' by 'OSTaskCreate()'.
110 *
111 * Returns : none
112 *
113 * Notes : 1) The first line of code is used to prevent a compiler warning because 'p_arg' is not
114 * used. The compiler should not generate any code for this statement.
115 *********************************************************************************************************
116 */
117
\ In segment CODE, align 4, keep-with-next
118 static void AppTaskStart (void *p_arg)
119 {
\ AppTaskStart:
\ 00000000 70402DE9 PUSH {R4-R6,LR}
\ 00000004 04D04DE2 SUB SP,SP,#+4
120 CPU_INT08U i;
121 CPU_INT08U j;
122 void *msg;
123 CPU_INT08U err;
124 CPU_INT08U led;
125 CPU_INT32U leds;
126 CPU_INT32U delay0;
127 CPU_INT32U delay1;
128
129
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -