⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nand.lst

📁 au1200下的boot代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
 999 0684 0000000C 		jal	gpioWrite 1000 0688 01000524 		li	$5,1			# 0x1 1001              	 243:/mnt/hgfs/boot/booter/source/nand.c ****  244:/mnt/hgfs/boot/booter/source/nand.c ****     return bytes; 245:/mnt/hgfs/boot/booter/source/nand.c **** } 1002              		.loc 1 245 0 1003 068c 21100002 		move	$2,$16GAS LISTING /tmp/cc4NTrNa.s 			page 23 1004 0690 2400BF8F 		lw	$31,36($sp) 1005 0694 2000B48F 		lw	$20,32($sp) 1006 0698 1C00B38F 		lw	$19,28($sp) 1007 069c 1800B28F 		lw	$18,24($sp) 1008 06a0 1400B18F 		lw	$17,20($sp) 1009 06a4 1000B08F 		lw	$16,16($sp) 1010 06a8 0800E003 		j	$31 1011 06ac 2800BD27 		addiu	$sp,$sp,40 1012              	 1013              	$L84: 1014              		.loc 1 228 0 1015 06b0 00004296 		lhu	$2,0($18) 1016              		.loc 1 230 0 1017 06b4 02001026 		addiu	$16,$16,2 1018              		.loc 1 229 0 1019 06b8 02005226 		addiu	$18,$18,2 1020              		.loc 1 228 0 1021 06bc 200082A4 		sh	$2,32($4) 1022              		.loc 1 218 0 1023 06c0 95010008 		j	$L92 1024 06c4 2A101302 		slt	$2,$16,$19 1025              	 1026              		.set	macro 1027              		.set	reorder 1028              	$LFE13: 1029              		.end	nand_program 1030              		.align	2 1031              		.globl	nand_read 1032              		.ent	nand_read 1033              		.type	nand_read, @function 1034              	nand_read: 1035              	$LFB14: 246:/mnt/hgfs/boot/booter/source/nand.c ****  247:/mnt/hgfs/boot/booter/source/nand.c **** int nand_read(char* dest, int size, int page, int offset) 248:/mnt/hgfs/boot/booter/source/nand.c **** { 1036              		.loc 1 248 0 1037              		.frame	$sp,48,$31		# vars= 0, regs= 7/0, args= 16, gp= 0 1038              		.mask	0x803f0000,-8 1039              		.fmask	0x00000000,0 1040              		.set	noreorder 1041              		.set	nomacro 1042              		 1043 06c8 D0FFBD27 		addiu	$sp,$sp,-48 1044              	$LCFI21: 1045 06cc 1C00B3AF 		sw	$19,28($sp) 1046              	$LCFI22: 1047 06d0 1800B2AF 		sw	$18,24($sp) 1048              	$LCFI23: 1049 06d4 1400B1AF 		sw	$17,20($sp) 1050              	$LCFI24: 1051 06d8 2198A000 		move	$19,$5 1052 06dc 21888000 		move	$17,$4 249:/mnt/hgfs/boot/booter/source/nand.c ****     int bytes; 250:/mnt/hgfs/boot/booter/source/nand.c ****  251:/mnt/hgfs/boot/booter/source/nand.c ****     gpioWrite(NAND_CE0, 0); 1053              		.loc 1 251 0 1054 06e0 21280000 		move	$5,$0GAS LISTING /tmp/cc4NTrNa.s 			page 24 1055 06e4 15000424 		li	$4,21			# 0x15 252:/mnt/hgfs/boot/booter/source/nand.c ****  253:/mnt/hgfs/boot/booter/source/nand.c ****     if (nand_device.page_size == 512) 1056              		.loc 1 253 0 1057 06e8 0000123C 		lui	$18,%hi(nand_device) 1058              		.loc 1 248 0 1059 06ec 2000B4AF 		sw	$20,32($sp) 1060              	$LCFI25: 1061 06f0 1000B0AF 		sw	$16,16($sp) 1062              	$LCFI26: 1063 06f4 2800BFAF 		sw	$31,40($sp) 1064              	$LCFI27: 1065 06f8 2400B5AF 		sw	$21,36($sp) 1066              	$LCFI28: 1067              		.loc 1 248 0 1068 06fc 21A0C000 		move	$20,$6 1069              		.loc 1 251 0 1070 0700 0000000C 		jal	gpioWrite 1071 0704 2180E000 		move	$16,$7 1072              	 1073              		.loc 1 253 0 1074 0708 04004326 		addiu	$3,$18,%lo(nand_device) 1075 070c 0400648C 		lw	$4,4($3) 1076 0710 00020224 		li	$2,512			# 0x200 254:/mnt/hgfs/boot/booter/source/nand.c ****     { 255:/mnt/hgfs/boot/booter/source/nand.c ****         if (offset < 256) 1077              		.loc 1 255 0 1078              		.loc 1 253 0 1079 0714 2F008210 		beq	$4,$2,$L111 1080 0718 0001022A 		slt	$2,$16,256 1081              	 256:/mnt/hgfs/boot/booter/source/nand.c ****             NAND_REG_CMD = NAND_CMD_READ1; 257:/mnt/hgfs/boot/booter/source/nand.c ****         else if (offset < 512) 258:/mnt/hgfs/boot/booter/source/nand.c ****             NAND_REG_CMD = NAND_CMD_READ2; 259:/mnt/hgfs/boot/booter/source/nand.c ****         else 260:/mnt/hgfs/boot/booter/source/nand.c ****             NAND_REG_CMD = NAND_CMD_READ3; 261:/mnt/hgfs/boot/booter/source/nand.c ****     } 262:/mnt/hgfs/boot/booter/source/nand.c ****     else 263:/mnt/hgfs/boot/booter/source/nand.c ****         NAND_REG_CMD = NAND_CMD_READ1; 1082              		.loc 1 263 0 1083 071c 0000153C 		lui	$21,%hi(nand_virtual_address) 1084              	$L115: 1085 0720 0000A28E 		lw	$2,%lo(nand_virtual_address)($21) 1086 0724 000040A4 		sh	$0,0($2) 1087              	$L100: 264:/mnt/hgfs/boot/booter/source/nand.c ****     nand_set_column_address(offset); 1088              		.loc 1 264 0 1089 0728 0000000C 		jal	nand_set_column_address 1090 072c 21200002 		move	$4,$16 1091              	 265:/mnt/hgfs/boot/booter/source/nand.c ****     nand_set_page_address(page); 1092              		.loc 1 265 0 1093 0730 0000000C 		jal	nand_set_page_address 1094 0734 21208002 		move	$4,$20 1095              	 266:/mnt/hgfs/boot/booter/source/nand.c ****  267:/mnt/hgfs/boot/booter/source/nand.c ****     for(bytes = 0; bytes < size; )GAS LISTING /tmp/cc4NTrNa.s 			page 25 1096              		.loc 1 267 0 1097 0738 1200601A 		blez	$19,$L109 1098 073c 21800000 		move	$16,$0 1099              	 1100 0740 08000424 		li	$4,8			# 0x8 1101 0744 D8010008 		j	$L106 1102 0748 10000524 		li	$5,16			# 0x10 1103              	 1104              	$L112: 268:/mnt/hgfs/boot/booter/source/nand.c ****     { 269:/mnt/hgfs/boot/booter/source/nand.c ****         switch(nand_device.data_width) 1105              		.loc 1 269 0 1106 074c 2C004510 		beq	$2,$5,$L105 1107 0750 00000000 		nop 1108              	 1109              	$L101: 1110              		.loc 1 267 0 1111 0754 2A101302 		slt	$2,$16,$19 270:/mnt/hgfs/boot/booter/source/nand.c ****         { 271:/mnt/hgfs/boot/booter/source/nand.c ****         case  8: 272:/mnt/hgfs/boot/booter/source/nand.c ****             *((char*)dest) = NAND_REG_DATA; 273:/mnt/hgfs/boot/booter/source/nand.c ****             dest += 1; 274:/mnt/hgfs/boot/booter/source/nand.c ****             bytes += 1; 275:/mnt/hgfs/boot/booter/source/nand.c ****             break; 276:/mnt/hgfs/boot/booter/source/nand.c ****         case 16: 277:/mnt/hgfs/boot/booter/source/nand.c ****             *((short*)dest) = NAND_REG_DATA; 278:/mnt/hgfs/boot/booter/source/nand.c ****             dest += 2; 279:/mnt/hgfs/boot/booter/source/nand.c ****             bytes += 2; 280:/mnt/hgfs/boot/booter/source/nand.c ****             break; 281:/mnt/hgfs/boot/booter/source/nand.c ****         } 282:/mnt/hgfs/boot/booter/source/nand.c ****     } 283:/mnt/hgfs/boot/booter/source/nand.c ****  284:/mnt/hgfs/boot/booter/source/nand.c ****     if (nand_device.page_size == 2048) 1112              		.loc 1 284 0 1113              		.loc 1 267 0 1114 0758 0B004010 		beq	$2,$0,$L114 1115 075c 04004226 		addiu	$2,$18,%lo(nand_device) 1116              	 1117              	$L106: 1118              		.loc 1 269 0 1119 0760 0400428E 		lw	$2,%lo(nand_device)($18) 1120              		.loc 1 272 0 1121              		.loc 1 269 0 1122 0764 F9FF4414 		bne	$2,$4,$L112 1123 0768 0000A38E 		lw	$3,%lo(nand_virtual_address)($21) 1124              	 1125              		.loc 1 274 0 1126 076c 01001026 		addiu	$16,$16,1 1127              		.loc 1 272 0 1128 0770 20006294 		lhu	$2,32($3) 1129 0774 000022A2 		sb	$2,0($17) 1130              		.loc 1 267 0 1131 0778 2A101302 		slt	$2,$16,$19 1132              		.loc 1 273 0 1133              		.loc 1 267 0 1134 077c F8FF4014 		bne	$2,$0,$L106 1135 0780 01003126 		addiu	$17,$17,1GAS LISTING /tmp/cc4NTrNa.s 			page 26 1136              	 1137              	$L109: 1138              		.loc 1 284 0 1139 0784 04004226 		addiu	$2,$18,%lo(nand_device) 1140              	$L114: 1141 0788 0400448C 		lw	$4,4($2) 1142 078c 00080324 		li	$3,2048			# 0x800 285:/mnt/hgfs/boot/booter/source/nand.c ****         NAND_REG_CMD = NAND_CMD_READ_COMFIRM; 1143              		.loc 1 285 0 1144              		.loc 1 284 0 1145 0790 20008310 		beq	$4,$3,$L113 1146 0794 0000A38E 		lw	$3,%lo(nand_virtual_address)($21) 1147              	 286:/mnt/hgfs/boot/booter/source/nand.c ****  287:/mnt/hgfs/boot/booter/source/nand.c ****     nand_wait_busy(); 1148              		.loc 1 287 0 1149 0798 0000000C 		jal	nand_wait_busy 1150 079c 00000000 		nop 1151              	 288:/mnt/hgfs/boot/booter/source/nand.c ****  289:/mnt/hgfs/boot/booter/source/nand.c ****     gpioWrite(NAND_CE0, 1); 1152              		.loc 1 289 0 1153 07a0 15000424 		li	$4,21			# 0x15 1154 07a4 0000000C 		jal	gpioWrite 1155 07a8 01000524 		li	$5,1			# 0x1 1156              	 290:/mnt/hgfs/boot/booter/source/nand.c ****  291:/mnt/hgfs/boot/booter/source/nand.c ****     return bytes; 292:/mnt/hgfs/boot/booter/source/nand.c **** } 1157              		.loc 1 292 0 1158 07ac 21100002 		move	$2,$16 1159 07b0 2800BF8F 		lw	$31,40($sp) 1160 07b4 2400B58F 		lw	$21,36($sp) 1161 07b8 2000B48F 		lw	$20,32($sp) 1162 07bc 1C00B38F 		lw	$19,28($sp) 1163 07c0 1800B28F 		lw	$18,24($sp) 1164 07c4 1400B18F 		lw	$17,20($sp) 1165 07c8 1000B08F 		lw	$16,16($sp) 1166 07cc 0800E003 		j	$31 1167 07d0 3000BD27 		addiu	$sp,$sp,48 1168              	 1169              	$L111: 1170              		.loc 1 263 0 1171              		.loc 1 255 0 1172 07d4 D2FF4014 		bne	$2,$0,$L115 1173 07d8 0000153C 		lui	$21,%hi(nand_virtual_address) 1174              	 1175              		.loc 1 257 0 1176 07dc 0002022A 		slt	$2,$16,512 1177              		.loc 1 260 0 1178              		.loc 1 257 0 1179 07e0 1D004010 		beq	$2,$0,$L98 1180 07e4 0000A38E 		lw	$3,%lo(nand_virtual_address)($21) 1181              	 1182              		.loc 1 258 0 1183 07e8 0000153C 		lui	$21,%hi(nand_virtual_address) 1184 07ec 0000A38E 		lw	$3,%lo(nand_virtual_address)($21)GAS LISTING /tmp/cc4NTrNa.s 			page 27 1185 07f0 01000224 		li	$2,1 1186              		.loc 1 260 0 1187 07f4 000062A4 		sh	$2,0($3) 1188 07f8 CA010008 		j	$L100 1189 07fc 00000000 		nop 1190              	 1191              	$L105: 1192              		.loc 1 279 0 1193 0800 02001026 		addiu	$16,$16,2 1194              		.loc 1 277 0 1195 0804 20006294 		lhu	$2,32($3) 1196 0808 000022A6 		sh	$2,0($17) 1197              		.loc 1 278 0 1198 080c D5010008 		j	$L101 1199 0810 02003126 		addiu	$17,$17,2 1200              	 1201              	$L113: 1202              		.loc 1 285 0 1203 0814 30000224 		li	$2,48 1204 0818 000062A4 		sh	$2,0($3) 1205              		.loc 1 287 0 1206 081c 0000000C 		jal	nand_wait_busy 1207 0820 00000000 		nop 1208              	 1209              		.loc 1 289 0 1210 0824 15000424 		li	$4,21			# 0x15 1211 0828 0000000C 		jal	gpioWrite 1212 082c 01000524 		li	$5,1			# 0x1 1213              	 1214              		.loc 1 292 0 1215 0830 21100002 		move	$2,$16 1216 0834 2800BF8F 		lw	$31,40($sp) 1217 0838 2400B58F 		lw	$21,36($sp) 1218 083c 2000B48F 		lw	$20,32($sp) 1219 0840 1C00B38F 		lw	$19,28($sp) 1220 0844 1800B28F 		lw	$18,24($sp) 1221 0848 1400B18F 		lw	$17,20($sp) 1222 084c 1000B08F 		lw	$16,16($sp) 1223 0850 0800E003 		j	$31 1224 0854 3000BD27 		addiu	$sp,$sp,48 1225              	 1226              	$L98: 1227              		.loc 1 260 0 1228 0858 50000224 		li	$2,80 1229 085c 000062A4 		sh	$2,0($3) 1230 0860 CA010008 		j	$L100 1231 0864 00000000 		nop 1232              	 1233              		.set	macro 1234              		.set	reorder 1235              	$LFE14: 1236              		.end	nand_read 1237              	 1238              		.comm	nand_virtual_address,4,4 1239              		.local	nand_irq_fired 1240              		.comm	nand_irq_fired,4,4 1241              		.local	nand_deviceGAS LISTING /tmp/cc4NTrNa.s 			page 28 1242              		.comm	nand_device,12,4 1243              		.section	.debug_frame,"",@progbits 1244              	$Lframe0: 1245 0000 0C000000 		.4byte	$LECIE0-$LSCIE0 1246              	$LSCIE0: 1247 0004 FFFFFFFF 		.4byte	0xffffffff 1248 0008 01       		.byte	0x1 1249 0009 00       		.ascii	"\000" 1250 000a 01       		.uleb128 0x1 1251 000b 04       		.sleb128 4 1252 000c 1F       		.byte	0x1f 1253 000d 0C       		.byte	0xc 1254 000e 1D       		.uleb128 0x1d 1255 000f 00       		.uleb128 0x0 1256              		.align	2 1257              	$LECIE0: 125

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -