📄 os_dcc.lst
字号:
##############################################################################
# #
# IAR ARM ANSI C/C++ Compiler V4.42A/W32 KICKSTART 10/Jan/2008 14:56:30 #
# Copyright 1999-2005 IAR Systems. All rights reserved. #
# #
# Cpu mode = arm #
# Endian = little #
# Stack alignment = 4 #
# Source file = D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software #
# \uCOS-II\Ports\ARM\Generic\IAR\os_dcc.c #
# Command line = D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software #
# \uCOS-II\Ports\ARM\Generic\IAR\os_dcc.c -lCN #
# D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software #
# \EvalBoards\NXP\LPC2468-EA\IAR\OS-View\RAM\List\ -o #
# D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software #
# \EvalBoards\NXP\LPC2468-EA\IAR\OS-View\RAM\Obj\ -z2 #
# --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\..\..\..\..\..\uc-lib\ -I #
# D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software #
# \EvalBoards\NXP\LPC2468-EA\IAR\OS-View\..\..\..\..\. #
# .\uc-cpu\ -I D:\work\资料\嵌入式操作系统\UCOS-II\Mic #
# rium\Software\EvalBoards\NXP\LPC2468-EA\IAR\OS-View\ #
# ..\..\..\..\..\uc-cpu\arm\IAR\ -I #
# D:\work\资料\嵌入式操作系统\UCOS-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\RAM\List\os_d #
# cc.lst #
# Object file = D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software #
# \EvalBoards\NXP\LPC2468-EA\IAR\OS-View\RAM\Obj\os_dc #
# c.r79 #
# #
# #
##############################################################################
D:\work\资料\嵌入式操作系统\UCOS-II\Micrium\Software\uCOS-II\Ports\ARM\Generic\IAR\os_dcc.c
1 /*
2 *********************************************************************************************************
3 * uC/OS-II
4 * The Real-Time Kernel
5 *
6 *
7 * (c) Copyright 1992-2007, Micrium, Weston, FL
8 * All Rights Reserved
9 *
10 * Generic ARM Port
11 * DCC Communication
12 *
13 * File : OS_DCC.C
14 * Version : V1.82
15 *
16 * For : ARM7 or ARM9
17 * Mode : ARM or Thumb
18 * Toolchain : IAR's EWARM V4.40a and higher
19 *********************************************************************************************************
20 */
21
22 #include <ucos_ii.h>
23 /* This directive suppresses warnings for non-... */
24 #pragma diag_suppress=Pe940 /* ...void functions with no return values. */
25
26 #if OS_CPU_ARM_DCC_EN > 0
27
28 /*
29 *********************************************************************************************************
30 * CONSTANTS
31 *********************************************************************************************************
32 */
33
34 #define OS_DCC_OP_READ_U32 0x01000000
35 #define OS_DCC_OP_READ_U16 0x02000000
36 #define OS_DCC_OP_READ_U8 0x04000000
37 #define OS_DCC_OP_GET_CAPS 0x08000000
38 #define OS_DCC_OP_WRITE_U32 0x10000000
39 #define OS_DCC_OP_WRITE_U16 0x20000000
40 #define OS_DCC_OP_WRITE_U8 0x40000000
41 #define OS_DCC_OP_ODD_ADDR 0x80000000
42 #define OS_DCC_OP_COMMAND 0x00000001
43
44 #define OS_DCC_COMM_CTRL_RD 0x00000001
45 #define OS_DCC_COMM_CTRL_WR 0x00000002
46
47 #define OS_DCC_SIGNATURE 0x91CA0000
48 #define OS_DCC_CONFIG 0x00000077
49
50 /*
51 *********************************************************************************************************
52 * LOCAL VARIABLES
53 *********************************************************************************************************
54 */
55
\ In segment DATA_Z, align 4, align-sorted
56 static INT32U OSDCC_Cmd;
\ OSDCC_Cmd:
\ 00000000 DS8 4
\ In segment DATA_Z, align 4, align-sorted
57 static INT32U OSDCC_Addr;
\ OSDCC_Addr:
\ 00000000 DS8 4
\ In segment DATA_Z, align 4, align-sorted
58 static INT32U OSDCC_ItemCnt;
\ OSDCC_ItemCnt:
\ 00000000 DS8 4
\ In segment DATA_Z, align 4, align-sorted
59 static INT32U OSDCC_Data;
\ OSDCC_Data:
\ 00000000 DS8 4
60
61 /*
62 *********************************************************************************************************
63 * OSDCC_ReadCtrl()
64 *
65 * Description: This function retrieves data from the comms control register.
66 *
67 * Arguments : none
68 *
69 * Returns : The contents of the comms control register
70 *
71 * Notes : 1) This function uses a coprocessor register transfer instruction to place the contents
72 * of the comms control register in R0. Thus, the function does not contain an
73 * explicit return statement. "#pragma diag_suppress=Pe940", which appears at the
74 * top of this file, is used to suppress the warning that normally results from non-
75 * void functions lacking return statements.
76 *********************************************************************************************************
77 */
78
\ In segment CODE, align 4, keep-with-next
79 static __arm INT32U OSDCC_ReadCtrl (void)
80 {
81 __asm("mrc P14,0,R0,C0,C0");
\ OSDCC_ReadCtrl:
\ 00000000 100E10EE mrc P14,0,R0,C0,C0
82 }
\ 00000004 0EF0A0E1 MOV PC,LR ;; return
83
84 /*
85 *********************************************************************************************************
86 * OSDCC_Read()
87 *
88 * Description: This function retrieves data from the comms data read register.
89 *
90 * Arguments : none
91 *
92 * Returns : The contents of the comms data read register
93 *
94 * Notes : 1) This function uses a coprocessor register transfer instruction to place the contents
95 * of the comms data read register in R0. Thus, the function does not contain an
96 * explicit return statement. "#pragma diag_suppress=Pe940", which appears at the
97 * top of this file, is used to suppress the warning that normally results from non-
98 * void functions lacking return statements.
99 *********************************************************************************************************
100 */
101
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -