📄 mci_sd.lst
字号:
145 if( Try_time++ >Try_Time_Max)
\ 00000050 381C MOV R0,R7
\ 00000052 071C MOV R7,R0
\ 00000054 7F1C ADD R7,#+0x1
\ 00000056 6528 CMP R0,#+0x65
\ 00000058 F6D3 BCC ??MCI_SendCommand_5
146 break ;
147 }
148 AT91C_BASE_MCI->MCI_CMDR =CMDR_param ; //开始发送 (是否只是发送数据块时用到???)
\ ??MCI_SendCommand_6:
\ 0000005A .... LDR R0,??DataTable15 ;; 0xfffac014
\ 0000005C 0660 STR R6,[R0, #+0]
149 delay() ;
\ 0000005E ........ BL delay
150 delay() ;
\ 00000062 ........ BL delay
151 delay() ;
\ 00000066 ........ BL delay
152
153 Try_time=0 ;
\ 0000006A 0020 MOV R0,#+0
\ 0000006C 071C MOV R7,R0
154 while((AT91C_BASE_MCI->MCI_SR & AT91C_MCI_CMDRDY)==0) //等待CMDRDY
\ ??MCI_SendCommand_7:
\ 0000006E .... LDR R0,??DataTable17 ;; 0xfffac040
\ 00000070 0068 LDR R0,[R0, #+0]
\ 00000072 C007 LSL R0,R0,#+0x1F
\ 00000074 04D4 BMI ??MCI_SendCommand_8
155 {
156 if( Try_time++ >Try_Time_Max)
\ 00000076 381C MOV R0,R7
\ 00000078 071C MOV R7,R0
\ 0000007A 7F1C ADD R7,#+0x1
\ 0000007C 6528 CMP R0,#+0x65
\ 0000007E F6D3 BCC ??MCI_SendCommand_7
157 break ;
158 }
159 GetState=AT91C_BASE_MCI->MCI_SR ;
\ ??MCI_SendCommand_8:
\ 00000080 .... LDR R0,??DataTable17 ;; 0xfffac040
\ 00000082 0068 LDR R0,[R0, #+0]
\ 00000084 0090 STR R0,[SP, #+0]
160 //while ((GetState & AT91C_MCI_TXRDY)==0) //等待数据send完成 ****************************************************
161 // GetState=AT91C_BASE_MCI->MCI_SR ;
162 //******检测错误**************************
163 //if((GetState & 0x007F0000)!= 0) // 有错误,转错误处理
164 // return (-1) ;
165 if((GetState & AT91C_MCI_CMDRDY)==AT91C_MCI_CMDRDY) // 当有需要的时候,读取 响应寄存器
\ 00000086 0098 LDR R0,[SP, #+0]
\ 00000088 C007 LSL R0,R0,#+0x1F
\ 0000008A 74D5 BPL ??MCI_SendCommand_9
166 {
167 ResponedType=Responed_Type ;
\ 0000008C .... LDR R0,??DataTable18 ;; ResponedType
\ 0000008E 0560 STR R5,[R0, #+0]
168 //return 0 ;
169
170
171 switch (Responed_Type)
\ 00000090 281C MOV R0,R5
\ 00000092 0028 CMP R0,#+0
\ 00000094 04D0 BEQ ??MCI_SendCommand_10
\ 00000096 0128 CMP R0,#+0x1
\ 00000098 06D0 BEQ ??MCI_SendCommand_11
\ 0000009A 0228 CMP R0,#+0x2
\ 0000009C 28D0 BEQ ??MCI_SendCommand_12
\ 0000009E 6AE0 B ??MCI_SendCommand_9
172 {
173 case 0: // 无响应,不处理
174 {
175 Read_CMD_Respond(No_Respond) ;
\ ??MCI_SendCommand_10:
\ 000000A0 0020 MOV R0,#+0
\ 000000A2 ........ BL Read_CMD_Respond
176 break ;
\ 000000A6 66E0 B ??MCI_SendCommand_9
177
178 }
179 case 1: // 48 bit 响应
180 {
181 Read_CMD_Respond(Respond_Len_48) ; // 48 bit响应
\ ??MCI_SendCommand_11:
\ 000000A8 0120 MOV R0,#+0x1
\ 000000AA ........ BL Read_CMD_Respond
182 TRACE_INFO("____48 Responed0 DATA____") ;
\ 000000AE .... LDR R0,??DataTable54 ;; _Stdout
\ 000000B0 0028 CMP R0,#+0
\ 000000B2 03D0 BEQ ??MCI_SendCommand_13
\ 000000B4 3349 LDR R1,??MCI_SendCommand_0+0x4 ;; `?<Constant "____48 Responed0 DATA...">`
\ 000000B6 .... LDR R0,??DataTable54 ;; _Stdout
\ 000000B8 ........ _BLF fprintf,fprintf??rT
183 TRACE_INFO("\r\n %d \r\n " ,AT91C_BASE_MCI->MCI_RSPR[0]) ;
^
Remark[Pe181]: argument is incompatible with corresponding format string
conversion
\ ??MCI_SendCommand_13:
\ 000000BC .... LDR R0,??DataTable54 ;; _Stdout
\ 000000BE 0028 CMP R0,#+0
\ 000000C0 05D0 BEQ ??MCI_SendCommand_14
\ 000000C2 .... LDR R0,??DataTable34 ;; 0xfffac020
\ 000000C4 0268 LDR R2,[R0, #+0]
\ 000000C6 .... LDR R1,??DataTable53 ;; `?<Constant "\\r\\n %d \\r\\n ">`
\ 000000C8 .... LDR R0,??DataTable54 ;; _Stdout
\ 000000CA ........ _BLF fprintf,fprintf??rT
184 TRACE_INFO("____48 Responed1 DATA____") ;
\ ??MCI_SendCommand_14:
\ 000000CE .... LDR R0,??DataTable54 ;; _Stdout
\ 000000D0 0028 CMP R0,#+0
\ 000000D2 03D0 BEQ ??MCI_SendCommand_15
\ 000000D4 2C49 LDR R1,??MCI_SendCommand_0+0x8 ;; `?<Constant "____48 Responed1 DATA...">`
\ 000000D6 .... LDR R0,??DataTable54 ;; _Stdout
\ 000000D8 ........ _BLF fprintf,fprintf??rT
185 TRACE_INFO("\r\n %d \r\n " ,AT91C_BASE_MCI->MCI_RSPR[1]) ;
^
Remark[Pe181]: argument is incompatible with corresponding format string
conversion
\ ??MCI_SendCommand_15:
\ 000000DC .... LDR R0,??DataTable54 ;; _Stdout
\ 000000DE 0028 CMP R0,#+0
\ 000000E0 49D0 BEQ ??MCI_SendCommand_9
\ 000000E2 .... LDR R0,??DataTable40 ;; 0xfffac024
\ 000000E4 0268 LDR R2,[R0, #+0]
\ 000000E6 .... LDR R1,??DataTable53 ;; `?<Constant "\\r\\n %d \\r\\n ">`
\ 000000E8 .... LDR R0,??DataTable54 ;; _Stdout
\ 000000EA ........ _BLF fprintf,fprintf??rT
\ 000000EE 42E0 B ??MCI_SendCommand_9
186
187 break ;
188 }
189 case 2:
190 {
191 Read_CMD_Respond(Respond_Len_136) ; // 136 bit响应
\ ??MCI_SendCommand_12:
\ 000000F0 0220 MOV R0,#+0x2
\ 000000F2 ........ BL Read_CMD_Respond
192 TRACE_INFO("____Responed0 DATA____") ;
\ 000000F6 .... LDR R0,??DataTable54 ;; _Stdout
\ 000000F8 0028 CMP R0,#+0
\ 000000FA 03D0 BEQ ??MCI_SendCommand_16
\ 000000FC 2349 LDR R1,??MCI_SendCommand_0+0xC ;; `?<Constant "____Responed0 DATA____">`
\ 000000FE .... LDR R0,??DataTable54 ;; _Stdout
\ 00000100 ........ _BLF fprintf,fprintf??rT
193 TRACE_INFO("\r\n %d \r\n " ,AT91C_BASE_MCI->MCI_RSPR[0]) ;
^
Remark[Pe181]: argument is incompatible with corresponding format string
conversion
\ ??MCI_SendCommand_16:
\ 00000104 .... LDR R0,??DataTable54 ;; _Stdout
\ 00000106 0028 CMP R0,#+0
\ 00000108 05D0 BEQ ??MCI_SendCommand_17
\ 0000010A .... LDR R0,??DataTable34 ;; 0xfffac020
\ 0000010C 0268 LDR R2,[R0, #+0]
\ 0000010E .... LDR R1,??DataTable53 ;; `?<Constant "\\r\\n %d \\r\\n ">`
\ 00000110 .... LDR R0,??DataTable54 ;; _Stdout
\ 00000112 ........ _BLF fprintf,fprintf??rT
194 TRACE_INFO("____Responed1 DATA____") ;
\ ??MCI_SendCommand_17:
\ 00000116 .... LDR R0,??DataTable54 ;; _Stdout
\ 00000118 0028 CMP R0,#+0
\ 0000011A 03D0 BEQ ??MCI_SendCommand_18
\ 0000011C 1C49 LDR R1,??MCI_SendCommand_0+0x10 ;; `?<Constant "____Responed1 DATA____">`
\ 0000011E .... LDR R0,??DataTable54 ;; _Stdout
\ 00000120 ........ _BLF fprintf,fprintf??rT
195 TRACE_INFO("\r\n %d \r\n " ,AT91C_BASE_MCI->MCI_RSPR[1]) ;
^
Remark[Pe181]: argument is incompatible with corresponding format string
conversion
\ ??MCI_SendCommand_18:
\ 00000124 .... LDR R0,??DataTable54 ;; _Stdout
\ 00000126 0028 CMP R0,#+0
\ 00000128 05D0 BEQ ??MCI_SendCommand_19
\ 0000012A .... LDR R0,??DataTable40 ;; 0xfffac024
\ 0000012C 0268 LDR R2,[R0, #+0]
\ 0000012E .... LDR R1,??DataTable53 ;; `?<Constant "\\r\\n %d \\r\\n ">`
\ 00000130 .... LDR R0,??DataTable54 ;; _Stdout
\ 00000132 ........ _BLF fprintf,fprintf??rT
196 TRACE_INFO("____Responed2 DATA____") ;
\ ??MCI_SendCommand_19:
\ 00000136 .... LDR R0,??DataTable54 ;; _Stdout
\ 00000138 0028 CMP R0,#+0
\ 0000013A 03D0 BEQ ??MCI_SendCommand_20
\ 0000013C 1549 LDR R1,??MCI_SendCommand_0+0x14 ;; `?<Constant "____Responed2 DATA____">`
\ 0000013E .... LDR R0,??DataTable54 ;; _Stdout
\ 00000140 ........ _BLF fprintf,fprintf??rT
197 TRACE_INFO("\r\n %d \r\n " ,AT91C_BASE_MCI->MCI_RSPR[2]) ;
^
Remark[Pe181]: argument is incompatible with corresponding format string
conversion
\ ??MCI_SendCommand_20:
\ 00000144 .... LDR R0,??DataTable54 ;; _Stdout
\ 00000146 0028 CMP R0,#+0
\ 00000148 05D0 BEQ ??MCI_SendCommand_21
\ 0000014A .... LDR R0,??DataTable46 ;; 0xfffac028
\ 0000014C 0268 LDR R2,[R0, #+0]
\ 0000014E .... LDR R1,??DataTable53 ;; `?<Constant "\\r\\n %d \\r\\n ">`
\ 00000150 .... LDR R0,??DataTable54 ;; _Stdout
\ 00000152 ........ _BLF fprintf,fprintf??rT
198 TRACE_INFO("____Responed3 DATA____") ;
\ ??MCI_SendCommand_21:
\ 00000156 .... LDR R0,??DataTable54 ;; _Stdout
\ 00000158 0028 CMP R0,#+0
\ 0000015A 03D0 BEQ ??MCI_SendCommand_22
\ 0000015C 0E49 LDR R1,??MCI_SendCommand_0+0x18 ;; `?<Constant "____Responed3 DATA____">`
\ 0000015E .... LDR R0,??DataTable54 ;; _Stdout
\ 00000160 ........ _BLF fprintf,fprintf??rT
199 TRACE_INFO("\r\n %d \r\n " ,AT91C_BASE_MCI->MCI_RSPR[3]) ;
^
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -