?? main.lst
字號:
1 .code 16 2 .file "main.c" 10 .Ltext0: 11 .global state_mmc 12 .data 15 state_mmc: 16 0000 01 .byte 1 17 .global ch2 18 .bss 21 ch2: 22 0000 00 .space 1 23 .global ch1 26 ch1: 27 0001 00 .space 1 28 .global m_pRSTC 29 .data 30 0001 000000 .align 2 33 m_pRSTC: 34 0004 00FDFFFF .word -768 35 .global m_pADC 36 .align 2 39 m_pADC: 40 0008 0080FDFF .word -163840 41 .global m_pSys 42 .align 2 45 m_pSys: 46 000c 00F0FFFF .word -4096 47 .global m_pAic 48 .align 2 51 m_pAic: 52 0010 00F0FFFF .word -4096 53 .global m_pMC 54 .align 2 57 m_pMC: 58 0014 00FFFFFF .word -256 59 .global m_pPDC 60 .align 2 63 m_pPDC: 64 0018 0001FCFF .word -261888 65 .global m_pUSART 66 .align 2 69 m_pUSART: 70 001c 0000FCFF .word -262144 71 .global m_pPMC 72 .align 2 75 m_pPMC: 76 0020 00FCFFFF .word -1024 77 .global m_pPioB 78 .align 2 81 m_pPioB: 82 0024 00F6FFFF .word -2560 83 .global m_pPioA 84 .align 2 87 m_pPioA: 88 0028 00F4FFFF .word -3072 89 .text 90 .align 2 91 .global Delay 92 .code 16 93 .thumb_func 95 Delay: 96 .LFB2: 97 .file 1 "main.c" 1:main.c **** //#include "ioat91sam7x256.h"
2:main.c **** #include "include/include.h"
3:main.c ****
4:main.c ****
5:main.c **** #include "string.h"
6:main.c ****
7:main.c ****
8:main.c ****
9:main.c **** //MAIN POINTER
10:main.c **** AT91PS_PIO m_pPioA = AT91C_BASE_PIOA;
11:main.c **** AT91PS_PIO m_pPioB = AT91C_BASE_PIOB;
12:main.c **** AT91PS_PMC m_pPMC = AT91C_BASE_PMC;
13:main.c **** AT91PS_USART m_pUSART = AT91C_BASE_US0;
14:main.c **** AT91PS_PDC m_pPDC = AT91C_BASE_PDC_US0;
15:main.c **** AT91PS_MC m_pMC = AT91C_BASE_MC;
16:main.c **** AT91PS_AIC m_pAic = AT91C_BASE_AIC;
17:main.c **** AT91PS_SYS m_pSys = AT91C_BASE_SYS;
18:main.c **** AT91PS_ADC m_pADC = AT91C_BASE_ADC;
19:main.c **** AT91PS_RSTC m_pRSTC = AT91C_BASE_RSTC;
20:main.c ****
21:main.c **** #define LCD_RESET_LOW m_pPioA->PIO_CODR = BIT2
22:main.c **** #define LCD_RESET_HIGH m_pPioA->PIO_SODR = BIT2
23:main.c ****
24:main.c **** //it's a simple delay
25:main.c **** void Delay (unsigned long a) { while (--a!=0); }
98 .loc 1 25 0 99 .LVL0: 100 @ lr needed for prologue 101 .loc 1 25 0 102 0000 0023 mov r3, #0 103 .L3: 104 0002 0133 add r3, r3, #1 105 0004 8342 cmp r3, r0 106 0006 FCD1 bne .L3 107 @ sp needed for prologue 108 0008 7047 bx lr 109 .LFE2: 111 000a 0000 .align 2 112 .global main 113 .code 16 114 .thumb_func 116 main: 117 .LFB3: 26:main.c ****
27:main.c ****
28:main.c **** extern char mmc_buffer[512];
29:main.c ****
30:main.c **** unsigned char ch1 = 0x0;
31:main.c **** unsigned char ch2 = 0x0;
32:main.c ****
33:main.c **** char mmc_buffer_test_1[512];
34:main.c **** char mmc_buffer_test_2[512];
35:main.c ****
36:main.c **** char state_mmc = 1;
37:main.c ****
38:main.c **** // loop variable
39:main.c **** unsigned int i;
40:main.c ****
41:main.c **** int main()
42:main.c **** {
118 .loc 1 42 0 119 000c F0B5 push {r4, r5, r6, r7, lr} 120 .LCFI0: 121 .LVL1: 43:main.c ****
44:main.c **** // Freq init
45:main.c **** InitFrec();
46:main.c ****
47:main.c **** // Init periphery
48:main.c **** InitPeriphery();
49:main.c ****
50:main.c **** //AT91C_BASE_PMC->PMC_PCER = ( 1 << AT91C_ID_PIOA ) | ( 1 << AT91C_ID_PIOB ) | ( 1 << AT91C_ID_US 51:main.c **** //AT91C_BASE_PMC->PMC_PCER = ( 1 << AT91C_ID_US0 );
52:main.c **** //uart0_init();
53:main.c **** //uart0_puts("\n\nHI! INIT...OK\n");
54:main.c ****
55:main.c **** AT91C_BASE_PIOB->PIO_OER = (AT91B_LCD_BL); // set to output
122 .loc 1 55 0 123 000e 2E4F ldr r7, .L17 124 0010 8026 mov r6, #128 125 0012 7603 lsl r6, r6, #13 126 .loc 1 45 0 127 0014 FFF7FEFF bl InitFrec 128 .loc 1 48 0 129 0018 FFF7FEFF bl InitPeriphery 130 .loc 1 55 0 131 001c 3E61 str r6, [r7, #16] 56:main.c **** AT91C_BASE_PIOB->PIO_PER = (AT91B_LCD_BL); // set to PIO mode
132 .loc 1 56 0 133 001e 3E60 str r6, [r7] 57:main.c **** AT91C_BASE_PIOB->PIO_PPUDR = (AT91B_LCD_BL); // disable pull up
134 .loc 1 57 0 135 0020 3E66 str r6, [r7, #96] 58:main.c ****
59:main.c ****
60:main.c ****
61:main.c **** /**** MMC CARD ****/
62:main.c **** if (initMMC() == MMC_SUCCESS) // card found
136 .loc 1 62 0 137 0022 FFF7FEFF bl initMMC 138 0026 051C mov r5, r0 139 0028 0028 cmp r0, #0 140 002a 4CD1 bne .L9 63:main.c **** {
64:main.c **** //card_state |= 1;
65:main.c **** memset(&mmc_buffer,0,512);
141 .loc 1 65 0 142 002c 274C ldr r4, .L17+4 143 002e 8022 mov r2, #128 144 0030 9200 lsl r2, r2, #2 145 0032 0021 mov r1, #0 146 0034 201C mov r0, r4 147 0036 FFF7FEFF bl memset 66:main.c **** mmcReadRegister (10, 16);
148 .loc 1 66 0 149 003a 1021 mov r1, #16 150 003c 0A20 mov r0, #10 151 003e FFF7FEFF bl mmcReadRegister 67:main.c **** mmc_buffer[7]=0;
68:main.c ****
69:main.c **** // Fill first Block (0) with 'A'
70:main.c **** memset(&mmc_buffer,'0',512); //set breakpoint and trace mmc_buffer contents
152 .loc 1 70 0 153 0042 8022 mov r2, #128 154 0044 3021 mov r1, #48 155 0046 9200 lsl r2, r2, #2 156 .loc 1 67 0 157 0048 E571 strb r5, [r4, #7] 158 .loc 1 70 0 159 004a 201C mov r0, r4 160 004c FFF7FEFF bl memset 71:main.c **** mmcWriteBlock(0);
161 .loc 1 71 0 162 0050 0020 mov r0, #0 163 0052 FFF7FEFF bl mmcWriteBlock 72:main.c **** // Fill second Block (1)-AbsAddr 512 with 'B'
73:main.c **** memset(&mmc_buffer,'1',512);
164 .loc 1 73 0 165 0056 8022 mov r2, #128 166 0058 3121 mov r1, #49 167 005a 9200 lsl r2, r2, #2 168 005c 201C mov r0, r4 169 005e FFF7FEFF bl memset 74:main.c **** mmcWriteBlock(512);
170 .loc 1 74 0 171 0062 8020 mov r0, #128 172 0064 8000 lsl r0, r0, #2 173 0066 FFF7FEFF bl mmcWriteBlock 75:main.c ****
76:main.c **** // Read first Block back to buffer
77:main.c **** memset(&mmc_buffer,0x00,512);
174 .loc 1 77 0 175 006a 8022 mov r2, #128 176 006c 9200 lsl r2, r2, #2 177 006e 0021 mov r1, #0 178 0070 201C mov r0, r4 179 0072 FFF7FEFF bl memset 78:main.c **** mmcReadBlock(0,512);
180 .loc 1 78 0 181 0076 8021 mov r1, #128 182 0078 8900 lsl r1, r1, #2 183 007a 0020 mov r0, #0 184 007c FFF7FEFF bl mmcReadBlock 79:main.c **** if(strncmp(&mmc_buffer[0], &mmc_buffer_test_1[0], 512)) AT91C_BASE_PIOB->PIO_SODR = AT91B_LCD_B 185 .loc 1 79 0 186 0080 8022 mov r2, #128 187 0082 1349 ldr r1, .L17+8 188 0084 201C mov r0, r4 189 0086 9200 lsl r2, r2, #2 190 0088 FFF7FEFF bl strncmp 191 008c 0028 cmp r0, #0 192 008e 00D0 beq .L11 193 0090 3E63 str r6, [r7, #48] 194 .L11: 80:main.c ****
81:main.c **** // Read first Block back to buffer
82:main.c **** memset(&mmc_buffer,0x00,512);
195 .loc 1 82 0 196 0092 8022 mov r2, #128 197 0094 9200 lsl r2, r2, #2 198 0096 0021 mov r1, #0 199 0098 201C mov r0, r4 200 009a FFF7FEFF bl memset 83:main.c **** mmcReadBlock(512,512);
201 .loc 1 83 0 202 009e 8020 mov r0, #128 203 00a0 8000 lsl r0, r0, #2 204 00a2 011C mov r1, r0 205 00a4 FFF7FEFF bl mmcReadBlock 84:main.c **** if(strncmp(&mmc_buffer[0], &mmc_buffer_test_2[0], 512)) AT91C_BASE_PIOB->PIO_SODR = AT91B_LCD_B 206 .loc 1 84 0 207 00a8 8022 mov r2, #128 208 00aa 0A49 ldr r1, .L17+12 209 00ac 201C mov r0, r4 210 00ae 9200 lsl r2, r2, #2 211 00b0 FFF7FEFF bl strncmp 212 00b4 0028 cmp r0, #0 213 00b6 00D0 beq .L13 214 00b8 3E63 str r6, [r7, #48] 215 .L13: 85:main.c ****
86:main.c **** memset(&mmc_buffer,0x00,512);
216 .loc 1 86 0 217 00ba 8022 mov r2, #128 218 00bc 201C mov r0, r4 219 00be 0021 mov r1, #0 220 00c0 9200 lsl r2, r2, #2 221 00c2 FFF7FEFF bl memset 222 .L9: 223 .L16: 224 00c6 FEE7 b .L16 225 .L18: 226 .align 2 227 .L17: 228 00c8 00F6FFFF .word -2560 229 00cc 00000000 .word mmc_buffer 230 00d0 00000000 .word mmc_buffer_test_1 231 00d4 00000000 .word mmc_buffer_test_2 232 .LFE3: 234 .comm i,4,4 235 .comm mmc_buffer_test_2,512,1 236 .comm mmc_buffer_test_1,512,1 284 .Letext0:DEFINED SYMBOLS *ABS*:00000000 main.c/cygdrive/c/DOCUME~1/Dima/LOCALS~1/Temp/ccZxUDNH.s:1 .text:00000000 $t/cygdrive/c/DOCUME~1/Dima/LOCALS~1/Temp/ccZxUDNH.s:15 .data:00000000 state_mmc/cygdrive/c/DOCUME~1/Dima/LOCALS~1/Temp/ccZxUDNH.s:21 .bss:00000000 ch2 .bss:00000000 $d/cygdrive/c/DOCUME~1/Dima/LOCALS~1/Temp/ccZxUDNH.s:26 .bss:00000001 ch1/cygdrive/c/DOCUME~1/Dima/LOCALS~1/Temp/ccZxUDNH.s:33 .data:00000004 m_pRSTC/cygdrive/c/DOCUME~1/Dima/LOCALS~1/Temp/ccZxUDNH.s:34 .data:00000004 $d/cygdrive/c/DOCUME~1/Dima/LOCALS~1/Temp/ccZxUDNH.s:39 .data:00000008 m_pADC/cygdrive/c/DOCUME~1/Dima/LOCALS~1/Temp/ccZxUDNH.s:45 .data:0000000c m_pSys/cygdrive/c/DOCUME~1/Dima/LOCALS~1/Temp/ccZxUDNH.s:51 .data:00000010 m_pAic/cygdrive/c/DOCUME~1/Dima/LOCALS~1/Temp/ccZxUDNH.s:57 .data:00000014 m_pMC/cygdrive/c/DOCUME~1/Dima/LOCALS~1/Temp/ccZxUDNH.s:63 .data:00000018 m_pPDC/cygdrive/c/DOCUME~1/Dima/LOCALS~1/Temp/ccZxUDNH.s:69 .data:0000001c m_pUSART/cygdrive/c/DOCUME~1/Dima/LOCALS~1/Temp/ccZxUDNH.s:75 .data:00000020 m_pPMC/cygdrive/c/DOCUME~1/Dima/LOCALS~1/Temp/ccZxUDNH.s:81 .data:00000024 m_pPioB/cygdrive/c/DOCUME~1/Dima/LOCALS~1/Temp/ccZxUDNH.s:87 .data:00000028 m_pPioA/cygdrive/c/DOCUME~1/Dima/LOCALS~1/Temp/ccZxUDNH.s:95 .text:00000000 Delay/cygdrive/c/DOCUME~1/Dima/LOCALS~1/Temp/ccZxUDNH.s:116 .text:0000000c main/cygdrive/c/DOCUME~1/Dima/LOCALS~1/Temp/ccZxUDNH.s:228 .text:000000c8 $d *COM*:00000200 mmc_buffer_test_1 *COM*:00000200 mmc_buffer_test_2 *COM*:00000004 iUNDEFINED SYMBOLSInitFrecInitPeripheryinitMMCmemsetmmcReadRegistermmcWriteBlockmmcReadBlockstrncmpmmc_buffer
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -