📄 os_viewc.txt
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 903] for uVision
; commandline ArmCC [--debug -c --asm --interleave -oos_viewc.o --depend=os_viewc.d --device=DARMP --apcs=interwork -I. -I..\BSP -I..\..\..\..\..\uCOS-II\Ports\ARM\Generic\RVMDK -I..\..\..\..\..\uCOS-II\Source -I..\..\..\..\..\uC-CPU -I..\..\..\..\..\uC-CPU\ARM\RVMDK -I..\..\..\..\..\uC-LIB -I..\..\..\..\..\uCOSView\Source -I..\..\..\..\..\uCOSView\Ports\ARM7\LPC2468\IAR -Id:\Keil\ARM\INC\Philips ..\..\..\..\..\uCOSView\Ports\ARM7\LPC2468\RVMDK\os_viewc.c]
ARM
AREA ||.text||, CODE, READONLY, ALIGN=2
OSView_Exit PROC
;;;47 ;
;;;48 }
000000 e12fff1e BX lr
ENDP
OSView_GetCPUName PROC
;;;62 void OSView_GetCPUName (INT8U *s)
;;;63 {
000004 e92d4070 PUSH {r4-r6,lr}
000008 e1a04000 MOV r4,r0
;;;64 INT8U cpu_clk_freq;
;;;65
;;;66
;;;67 cpu_clk_freq = (INT8U)(BSP_CPU_ClkFreq() / 1000000L);
00000c ebfffffe BL BSP_CPU_ClkFreq
000010 e1a06000 MOV r6,r0
000014 e59f11e4 LDR r1,|L1.512|
000018 ebfffffe BL __aeabi_uidivmod
00001c e20050ff AND r5,r0,#0xff
;;;68 (void)OS_StrCopy(s, "NXP LPC2468 (xx MHz)");
000020 e28f1f77 ADR r1,|L1.516|
000024 e1a00004 MOV r0,r4
000028 ebfffffe BL OS_StrCopy
;;;69 s[13] = cpu_clk_freq / 10 + '0';
00002c e3a0100a MOV r1,#0xa
000030 e1a00005 MOV r0,r5
000034 ebfffffe BL __aeabi_idivmod
000038 e2800030 ADD r0,r0,#0x30
00003c e5c4000d STRB r0,[r4,#0xd]
;;;70 s[14] = cpu_clk_freq % 10 + '0';
000040 e3a0100a MOV r1,#0xa
000044 e1a00005 MOV r0,r5
000048 ebfffffe BL __aeabi_idivmod
00004c e2810030 ADD r0,r1,#0x30
000050 e5c4000e STRB r0,[r4,#0xe]
;;;71 }
000054 e8bd4070 POP {r4-r6,lr}
000058 e12fff1e BX lr
ENDP
OSView_GetIntStkBase PROC
;;;88 {
;;;89 return (0); /* We are not using an ISR stack */
00005c e3a00000 MOV r0,#0
;;;90 }
000060 e12fff1e BX lr
ENDP
OSView_GetIntStkSize PROC
;;;94 {
;;;95 return (0); /* We are not using an ISR stack */
000064 e3a00000 MOV r0,#0
;;;96 }
000068 e12fff1e BX lr
ENDP
OSView_RxTxISRHandler PROC
;;;261 void OSView_RxTxISRHandler (void)
;;;262 {
00006c e92d4070 PUSH {r4-r6,lr}
;;;263 volatile INT8U rx_data;
;;;264 volatile INT8U lsr;
;;;265 volatile INT8U iir;
;;;266
;;;267
;;;268 #if OS_VIEW_COMM_SEL == OS_VIEW_UART_0
;;;269 iir = U0IIR & 0x0F;
;;;270 while (iir != 1) {
;;;271 switch (iir) {
;;;272 case 0: /* Modem interrupt? */
;;;273 break;
;;;274
;;;275 case 2: /* Transmitted character? */
;;;276 OSView_TxHandler();
;;;277 break;
;;;278
;;;279 case 4: /* Received a character? */
;;;280 lsr = U0LSR;
;;;281 rx_data = U0RBR;
;;;282 OSView_RxHandler(rx_data); /* Call the generic Rx handler */
;;;283 break;
;;;284
;;;285 case 6: /* Receive Line Status interrupt? */
;;;286 break;
;;;287
;;;288 case 12: /* CTI interrupt? */
;;;289 break;
;;;290 }
;;;291 iir = U0IIR & 0x0F;
;;;292 }
;;;293 #endif
;;;294
;;;295 #if OS_VIEW_COMM_SEL == OS_VIEW_UART_1
;;;296 iir = U1IIR & 0x0F;
000070 e59f01a4 LDR r0,|L1.540|
000074 e5900008 LDR r0,[r0,#8]
000078 e200600f AND r6,r0,#0xf
;;;297 while (iir != 1) {
00007c ea000023 B |L1.272|
|L1.128|
;;;298 switch (iir) {
000080 e3560004 CMP r6,#4
000084 0a00000f BEQ |L1.200|
000088 ca000004 BGT |L1.160|
00008c e3560000 CMP r6,#0
000090 0a000007 BEQ |L1.180|
000094 e3560002 CMP r6,#2
000098 1a000018 BNE |L1.256|
00009c ea000006 B |L1.188|
|L1.160|
0000a0 e3560006 CMP r6,#6
0000a4 0a000011 BEQ |L1.240|
0000a8 e356000c CMP r6,#0xc
0000ac 1a000013 BNE |L1.256|
0000b0 ea000010 B |L1.248|
|L1.180|
;;;299 case 0: /* Modem interrupt? */
0000b4 e1a00000 MOV r0,r0
;;;300 break;
0000b8 ea000010 B |L1.256|
|L1.188|
;;;301
;;;302 case 2: /* Transmitted character? */
0000bc e1a00000 MOV r0,r0
;;;303 OSView_TxHandler();
0000c0 ebfffffe BL OSView_TxHandler
;;;304 break;
0000c4 ea00000d B |L1.256|
|L1.200|
;;;305
;;;306 case 4: /* Received a character? */
0000c8 e1a00000 MOV r0,r0
;;;307 lsr = U1LSR;
0000cc e59f0148 LDR r0,|L1.540|
0000d0 e5900014 LDR r0,[r0,#0x14]
0000d4 e20050ff AND r5,r0,#0xff
;;;308 rx_data = U1RBR;
0000d8 e59f013c LDR r0,|L1.540|
0000dc e5900000 LDR r0,[r0,#0]
0000e0 e20040ff AND r4,r0,#0xff
;;;309 OSView_RxHandler(rx_data); /* Call the generic Rx handler */
0000e4 e1a00004 MOV r0,r4
0000e8 ebfffffe BL OSView_RxHandler
;;;310 break;
0000ec ea000003 B |L1.256|
|L1.240|
;;;311
;;;312 case 6: /* Receive Line Status interrupt? */
0000f0 e1a00000 MOV r0,r0
;;;313 break;
0000f4 ea000001 B |L1.256|
|L1.248|
;;;314
;;;315 case 12: /* CTI interrupt? */
0000f8 e1a00000 MOV r0,r0
;;;316 break;
0000fc e1a00000 MOV r0,r0
|L1.256|
000100 e1a00000 MOV r0,r0
;;;317 }
;;;318 iir = U1IIR & 0x0F;
000104 e59f0110 LDR r0,|L1.540|
000108 e5900008 LDR r0,[r0,#8]
00010c e200600f AND r6,r0,#0xf
|L1.272|
000110 e3560001 CMP r6,#1
000114 1affffd9 BNE |L1.128|
;;;319 }
;;;320 #endif
;;;321 }
000118 e8bd4070 POP {r4-r6,lr}
00011c e12fff1e BX lr
ENDP
OSView_InitTarget PROC
;;;117 void OSView_InitTarget (INT32U baud_rate)
;;;118 {
000120 e92d5ff0 PUSH {r4-r12,lr}
000124 e1a04000 MOV r4,r0
;;;119 INT16U div; /* Baud rate divisor */
;;;120 INT8U divlo;
;;;121 INT8U divhi;
;;;122 INT8U lcr; /* Line Control Register */
;;;123 INT32U p_clk_freq;
;;;124 INT32U pinsel;
;;;125
;;;126
;;;127 #if OS_CRITICAL_METHOD == 3 /* Allocate storage for CPU status register */
;;;128 OS_CPU_SR cpu_sr = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -