📄 ecp_init.lst
字号:
###############################################################################
# #
# IAR Systems MSP430 Assembler V3.42A/W32 29/Jun/2007 14:45:59 #
# Copyright 1996-2006 IAR Systems. All rights reserved. #
# #
# Target option = MSP430 #
# Source file = C:\Data\DM350MSP430\VA3\ECP_Init.s43 #
# List file = C:\Data\DM350MSP430\VA3\Debug\List\ECP_Init.lst #
# Object file = C:\Data\DM350MSP430\VA3\Debug\Obj\ECP_Init.r43 #
# Command line = C:\Data\DM350MSP430\VA3\ECP_Init.s43 #
# -OC:\Data\DM350MSP430\VA3\Debug\Obj\ -s+ -M<> #
# -w+ -LC:\Data\DM350MSP430\VA3\Debug\List\ -t8 #
# -r -D__MSP430F155__ #
# -IC:\Program Files\IAR Systems\Embedded Workbench 4.0\430\INC\ #
# #
###############################################################################
1 000000 #include <msp430x15x.h>
2 000000 #include "ECP.h"
3 000000 EXTERN ECPCommand
4 000000 EXTERN ECPStatus
5 000000 EXTERN SetupSVS
6 000000 EXTERN ReadPS
7 000000 EXTERN SWDelay100ms
8 000000
9 000000 RSEG INIT_CODE
10 000000 ; **********************************************
******************************
11 000000 ; Function: DriveCPLDOption
12 000000 ;
13 000000 ; Purpose: This function reads the user option
jumper and drives it to
14 000000 ; the CPLD
15 000000 ;
16 000000 ; Inputs: None
17 000000 ;
18 000000 ; Returns: None
19 000000 ; **********************************************
******************************
20 000000 PUBLIC DriveCPLDOption
21 000000 0412 DriveCPLDOption push R4
; Save Regs
22 000002 54423000 mov.b &P5IN,R4
; Read Port
5
23 000006 4411 rra.b R4
; One shift right
24 000008 74E3 inv.b R4
; Invert
25 00000A 74F04000 and.b #CPLD_OPT,R4
; Mask out the CPLD_OPT
26 00000E C2D43100 bis.b R4,&P5OUT
; Write out to
Port 5
27 000012 3441 pop R4
; Restore regs
28 000014 3041 ret
29 000016
30 000016 ; **********************************************
******************************
31 000016 ; Function: ConfigureECPClocks
32 000016 ;
33 000016 ; Purpose: Configures the MSP430 Clock
Module
34 000016 ;
35 000016 ; Inputs: None
36 000016 ;
37 000016 ; Returns: None
38 000016 ; **********************************************
******************************
39 000000 PUBLIC ConfigECPClocks
40 000016 0F12 ConfigECPClocks push R15
; Save R15
41 000018 F2C080005700 bic.b #XT2OFF,&BCSCTL1
; Use the XT2 osc
42 00001E F2C040005700 bic.b #XTS,&BCSCTL1
; Put LFXT1 low freq
43 000024 F2C030005700 bic.b #DIVA1+DIVA0,&BCSCTL1
; Divide ACLK by 1
44 00002A F2D080005800 bis.b #SELM1,&BCSCTL2
; MCLK source XT2CLK
45 000030 F2C030005800 bic.b #DIVM1+DIVM0,&BCSCTL2
; Divide MCLK by 1
46 000036 F2D25800 bis.b #SELS,&BCSCTL2
; SMCLK source XT2
47 00003A F2C006005800 bic.b #DIVS1+DIVS0,&BCSCTL2
; Divide SMCLK by 1
48 000040 E2C30200 OscTestLoop1 bic.b #OFIFG,&IFG1
; Clear osc fault flag
49 000044 3F40FF00 mov #0xff,R15
; Delay
50 000048 1F83 OscTestLoop2 dec R15
51 00004A FE23 jnz OscTestLoop2
52 00004C E2B30200 bit.b #OFIFG,&IFG1
; Retest osc fault fl
53 000050 F723 jnz OscTestLoop1
; Osc start?
54 000052 3F41 pop R15
; Restore R15
55 000054 3041 ret
56 000056
57 000056 ; **********************************************
******************************
58 000056 ; Function: InitECPRegisters
59 000056 ;
60 000056 ; Purpose: Initializes the ECP config registers
to the default state
61 000056 ;
62 000056 ; Inputs: None
63 000056 ;
64 000056 ; Returns: None
65 000056 ; **********************************************
******************************
66 000000 PUBLIC InitECPRegisters
67 000056 C043.... InitECPRegisters mov.b #0x00,ECPCommand
68 00005A C043.... mov.b #0x00,ECPStatus
69 00005E 3041 ret
70 000060
71 000060 ; **********************************************
******************************
72 000060 ; Function: ConfigureIOPorts
73 000060 ;
74 000060 ; Purpose: Sets up the default IO state for
each IO buffer. This function
75 000060 ; also enables the output ports not
dependant on enabled EVM power
76 000060 ; supplies.
77 000060 ;
78 000060 ; Inputs: None
79 000060 ;
80 000060 ; Returns: None
81 000060 ; **********************************************
******************************
82 000000 PUBLIC ConfigureIOPorts
83 000060 0343 ConfigureIOPorts nop
; Make room for comments
84 000062
85 000062 ; Port 1 Built into MSP430
86 000062 F2C003002200 bic.b #RST_INz+DM350_RST_INz,&
P1DIR ; Inputs
87 000068 E2C22200 bic.b #IR_IN, &P1DIR
; Inputs
88 00006C // bic.b #DEEPSLEEP, &P1OUT
; Default 0
89 00006C F2D22100 bis.b #DEEPSLEEP, &P1OUT
; Default 1
90 000070 F2C010002100 bic.b #ETHERNET_RSTz, &P1OUT
; Default 0
91 000076 F2C020002100 bic.b #SYSTEM_RSTz, &P1OUT
; Default 0
92 00007C
93 00007C ; Port 2 Built into MSP430
94 00007C E2C32A00 bic.b #SDMMC0_WPz,&P2DIR
; Inputs
95 000080 E2C22A00 bic.b #SDMMC0_INSz, &P2DIR
; Inputs
96 000084 F2C22A00 bic.b #SDMMC1_WPz, &P2DIR
; Inputs
97 000088 F2C010002A00 bic.b #SDMMC1_INSz, &P2DIR
; Inputs
98 00008E F2C040002900 bic.b #DM350_RST_OUTz, &P2OUT
; Default 0
99 000094 F2C080002900 bic.b #AIC33_RSTz, &P2OUT
; Default 0
100 00009A
101 00009A ; Port 3 Built into MSP430
102 00009A D2C31900 bic.b #DC5_RSTz, &P3OUT
; Default 0
103 00009E E2C21900 bic.b #TV_RSTz, &P3OUT
; Default 0
104 0000A2 F2C010001900 bic.b #NOR_FLASH_RSTz, &P3OUT
; Default 0
105 0000A8 F2C020001900 bic.b #IMAGER_RSTz, &P3OUT
; Default 0
106 0000AE F2C040001900 bic.b #CPLD_RSTz, &P3OUT
; Default 0
107 0000B4 F2C080001900 bic.b #MUX_IMAG_5146z, &P3OUT
; Default 0
108 0000BA
109 0000BA ; Port 4 Built into MSP430
110 0000BA F2C0F0001D00 bic.b #LED7+LED6+LED5+LED4,
&P4OUT ; Default ON
111 0000C0 F2C00F001D00 bic.b #LED3+LED2+LED1+LED0,
&P4OUT ; Default ON
112 0000C6 F2D0F0001E00 bis.b #LED7+LED6+LED5+LED4,
&P4DIR ; Always on
113 0000CC F2D00F001E00 bis.b #LED3+LED2+LED1+LED0,
&P4DIR ; Always on
114 0000D2
115 0000D2 ; Port 5 Built into MSP430
116 0000D2 F2C00F003200 bic.b #SW3+SW2+SW1+SW0, &P5DIR
; Inputs
117 0000D8 F2C090003200 bic.b #NTSC_PALz+USER_OPT,
&P5DIR ; Inputs
118 0000DE F2D020003100 bis.b #MSP430_INT, &P5OUT
; Default 1
119 0000E4 F2C040003100 bic.b #CPLD_OPT, &P5OUT
; Default 0
120 0000EA
121 0000EA ; Port 6 Built into MSP430
122 0000EA F2C0F0003600 bic.b #SW14+SW13+SW12+SW11,
&P6DIR ; Inputs
123 0000F0 F2C23600 bic.b #SW10,&P6DIR
; Inputs
124 0000F4 3041 ret
125 0000F6
126 0000F6
127 0000F6 ; **********************************************
******************************
128 0000F6 ; Function: InitADC
129 0000F6 ;
130 0000F6 ; Purpose: Performs a bogus read of the ADC to
initlize it and get around
131 0000F6 ; garbage on the first convert
132 0000F6 ;
133 0000F6 ; Inputs: None
134 0000F6 ;
135 0000F6 ; Returns: None
136 0000F6 ; **********************************************
******************************
137 000000 PUBLIC InitADC
138 0000F6 B012.... InitADC call #ReadPS
; Go read PS voltages
139 0000FA B012.... call #SWDelay100ms
140 0000FE 3041 ret
141 000100 END
##############################
# CRC:5621 #
# Errors: 0 #
# Warnings: 0 #
# Bytes: 256 #
##############################
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -