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

📄 nand.lst

📁 au1200下的boot代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
 199              		.loc 1 96 0 200              		.loc 1 42 0 201 0124 4400A210 		beq	$5,$2,$L53 202 0128 1000023C 		li	$2,1048576			# 0x100000 203              	 204 012c A600A228 		slt	$2,$5,166 205 0130 33004014 		bne	$2,$0,$L45 206 0134 A3000224 		li	$2,163			# 0xa3 207              	 208 0138 AA000224 		li	$2,170			# 0xaa 209              		.loc 1 78 0 210              		.loc 1 42 0 211 013c 5900A210 		beq	$5,$2,$L54 212 0140 0200023C 		li	$2,131072			# 0x20000 213              	 214 0144 AC000224 		li	$2,172			# 0xac 215 0148 5C00A210 		beq	$5,$2,$L55 216 014c 00000000 		nop 217              	 218              	$L34: 219              		.loc 1 99 0 220 0150 0000023C 		lui	$2,%hi(nand_device) 221              		.loc 1 102 0 222 0154 21200000 		move	$4,$0 223              		.loc 1 100 0 224 0158 04004324 		addiu	$3,$2,%lo(nand_device) 225              		.loc 1 99 0 226 015c 040040AC 		sw	$0,%lo(nand_device)($2) 227              		.loc 1 106 0 228 0160 21108000 		move	$2,$4 229              		.loc 1 101 0 230 0164 080060AC 		sw	$0,8($3)GAS LISTING /tmp/cc4NTrNa.s 			page 7 231              		.loc 1 100 0 232              		.loc 1 106 0 233 0168 0800E003 		j	$31 234 016c 040060AC 		sw	$0,4($3) 235              	 236              	$L39: 237              		.loc 1 76 0 238              		.loc 1 42 0 239 0170 4B00A210 		beq	$5,$2,$L27 240 0174 0000043C 		lui	$4,%hi(nand_device) 241              	 242 0178 DB00A228 		slt	$2,$5,219 243 017c 2A004014 		bne	$2,$0,$L46 244 0180 D5000224 		li	$2,213			# 0xd5 245              	 246 0184 DC000224 		li	$2,220			# 0xdc 247              		.loc 1 84 0 248              		.loc 1 42 0 249 0188 4D00A210 		beq	$5,$2,$L56 250 018c 0400023C 		li	$2,262144			# 0x40000 251              	 252 0190 F1000224 		li	$2,241			# 0xf1 253 0194 EEFFA214 		bne	$5,$2,$L34 254 0198 00000000 		nop 255              	 256              	$L49: 257              		.loc 1 72 0 258 019c 0100023C 		li	$2,65536			# 0x10000 259              		.loc 1 71 0 260 01a0 04008524 		addiu	$5,$4,%lo(nand_device) 261              		.loc 1 94 0 262 01a4 08000324 		li	$3,8			# 0x8 263              		.loc 1 96 0 264 01a8 0800A2AC 		sw	$2,8($5) 265              		.loc 1 94 0 266 01ac 040083AC 		sw	$3,%lo(nand_device)($4) 267              		.loc 1 95 0 268 01b0 00080224 		li	$2,2048			# 0x800 269              	$L48: 270              		.loc 1 105 0 271 01b4 01000424 		li	$4,1			# 0x1 272              		.loc 1 95 0 273 01b8 41000008 		j	$L14 274 01bc 0400A2AC 		sw	$2,4($5) 275              	 276              	$L36: 277              		.loc 1 58 0 278              		.loc 1 42 0 279 01c0 2600A210 		beq	$5,$2,$L57 280 01c4 0000043C 		lui	$4,%hi(nand_device) 281              	 282 01c8 7700A228 		slt	$2,$5,119 283 01cc 2A004014 		bne	$2,$0,$L47 284 01d0 75000224 		li	$2,117			# 0x75 285              	 286 01d4 88FFA224 		addiu	$2,$5,-120 287 01d8 0200422C 		sltu	$2,$2,2GAS LISTING /tmp/cc4NTrNa.s 			page 8 288 01dc DCFF4010 		beq	$2,$0,$L34 289 01e0 00000000 		nop 290              	 291              		.loc 1 66 0 292 01e4 0400023C 		li	$2,262144			# 0x40000 293              		.loc 1 65 0 294 01e8 04008524 		addiu	$5,$4,%lo(nand_device) 295              		.loc 1 54 0 296 01ec 0800A2AC 		sw	$2,8($5) 297              		.loc 1 52 0 298 01f0 08000324 		li	$3,8			# 0x8 299              		.loc 1 53 0 300 01f4 00020224 		li	$2,512			# 0x200 301              		.loc 1 52 0 302 01f8 3F000008 		j	$L43 303 01fc 040083AC 		sw	$3,%lo(nand_device)($4) 304              	 305              	$L45: 306              		.loc 1 42 0 307 0200 D3FFA214 		bne	$5,$2,$L34 308 0204 00000000 		nop 309              	 310              		.loc 1 88 0 311 0208 0000043C 		lui	$4,%hi(nand_device) 312              	$L52: 313              		.loc 1 90 0 314 020c 0800023C 		li	$2,524288			# 0x80000 315              		.loc 1 89 0 316 0210 04008524 		addiu	$5,$4,%lo(nand_device) 317              		.loc 1 96 0 318 0214 0800A2AC 		sw	$2,8($5) 319              		.loc 1 94 0 320 0218 08000324 		li	$3,8			# 0x8 321              		.loc 1 95 0 322 021c 00080224 		li	$2,2048			# 0x800 323              		.loc 1 94 0 324 0220 6D000008 		j	$L48 325 0224 040083AC 		sw	$3,%lo(nand_device)($4) 326              	 327              	$L46: 328              		.loc 1 42 0 329 0228 C9FFA214 		bne	$5,$2,$L34 330 022c 00000000 		nop 331              	 332              		.loc 1 94 0 333 0230 0000043C 		lui	$4,%hi(nand_device) 334              		.loc 1 96 0 335 0234 1000023C 		li	$2,1048576			# 0x100000 336              	$L53: 337              		.loc 1 95 0 338 0238 04008524 		addiu	$5,$4,%lo(nand_device) 339              		.loc 1 96 0 340 023c 0800A2AC 		sw	$2,8($5) 341              		.loc 1 94 0 342 0240 08000324 		li	$3,8			# 0x8 343              		.loc 1 95 0 344 0244 00080224 		li	$2,2048			# 0x800GAS LISTING /tmp/cc4NTrNa.s 			page 9 345              		.loc 1 94 0 346 0248 6D000008 		j	$L48 347 024c 040083AC 		sw	$3,%lo(nand_device)($4) 348              	 349              	$L37: 350              		.loc 1 42 0 351 0250 BFFFA214 		bne	$5,$2,$L34 352 0254 00000000 		nop 353              	 354              		.loc 1 58 0 355 0258 0000043C 		lui	$4,%hi(nand_device) 356              	$L57: 357              		.loc 1 60 0 358 025c 0200023C 		li	$2,131072			# 0x20000 359              		.loc 1 59 0 360 0260 04008524 		addiu	$5,$4,%lo(nand_device) 361              		.loc 1 54 0 362 0264 0800A2AC 		sw	$2,8($5) 363              		.loc 1 52 0 364 0268 08000324 		li	$3,8			# 0x8 365              		.loc 1 53 0 366 026c 00020224 		li	$2,512			# 0x200 367              		.loc 1 52 0 368 0270 3F000008 		j	$L43 369 0274 040083AC 		sw	$3,%lo(nand_device)($4) 370              	 371              	$L47: 372              		.loc 1 42 0 373 0278 B5FFA214 		bne	$5,$2,$L34 374 027c 00000000 		nop 375              	 376              		.loc 1 52 0 377 0280 0000043C 		lui	$4,%hi(nand_device) 378              		.loc 1 54 0 379 0284 0100023C 		li	$2,65536			# 0x10000 380              	$L51: 381              		.loc 1 53 0 382 0288 04008524 		addiu	$5,$4,%lo(nand_device) 383              		.loc 1 54 0 384 028c 0800A2AC 		sw	$2,8($5) 385              		.loc 1 52 0 386 0290 08000324 		li	$3,8			# 0x8 387              		.loc 1 53 0 388 0294 00020224 		li	$2,512			# 0x200 389              		.loc 1 52 0 390 0298 3F000008 		j	$L43 391 029c 040083AC 		sw	$3,%lo(nand_device)($4) 392              	 393              	$L27: 394              		.loc 1 78 0 395 02a0 0200023C 		li	$2,131072			# 0x20000 396              	$L54: 397              		.loc 1 77 0 398 02a4 04008524 		addiu	$5,$4,%lo(nand_device) 399              		.loc 1 96 0 400 02a8 0800A2AC 		sw	$2,8($5) 401              		.loc 1 94 0GAS LISTING /tmp/cc4NTrNa.s 			page 10 402 02ac 08000324 		li	$3,8			# 0x8 403              		.loc 1 95 0 404 02b0 00080224 		li	$2,2048			# 0x800 405              		.loc 1 94 0 406 02b4 6D000008 		j	$L48 407 02b8 040083AC 		sw	$3,%lo(nand_device)($4) 408              	 409              	$L55: 410              		.loc 1 84 0 411 02bc 0400023C 		li	$2,262144			# 0x40000 412              	$L56: 413              		.loc 1 83 0 414 02c0 04008524 		addiu	$5,$4,%lo(nand_device) 415              		.loc 1 96 0 416 02c4 0800A2AC 		sw	$2,8($5) 417              		.loc 1 94 0 418 02c8 08000324 		li	$3,8			# 0x8 419              		.loc 1 95 0 420 02cc 00080224 		li	$2,2048			# 0x800 421              		.loc 1 94 0 422 02d0 6D000008 		j	$L48 423 02d4 040083AC 		sw	$3,%lo(nand_device)($4) 424              	 425              		.set	macro 426              		.set	reorder 427              	$LFE4: 428              		.end	nand_load_device 429              		.align	2 430              		.globl	nand_config 431              		.ent	nand_config 432              		.type	nand_config, @function 433              	nand_config: 434              	$LFB5: 107:/mnt/hgfs/boot/booter/source/nand.c ****  108:/mnt/hgfs/boot/booter/source/nand.c **** /* 109:/mnt/hgfs/boot/booter/source/nand.c **** Nand config sets device type and width.  Timings does not reflect absolute min values for a 110:/mnt/hgfs/boot/booter/source/nand.c **** Typical NAND device.  NAND Support exists on NANDCS0 and NANDCS1 only. 111:/mnt/hgfs/boot/booter/source/nand.c **** */ 112:/mnt/hgfs/boot/booter/source/nand.c **** void nand_config() 113:/mnt/hgfs/boot/booter/source/nand.c **** { 435              		.loc 1 113 0 436              		.frame	$sp,24,$31		# vars= 0, regs= 1/0, args= 16, gp= 0 437              		.mask	0x80000000,-8 438              		.fmask	0x00000000,0 439              		.set	noreorder 440              		.set	nomacro 441              		 442 02d8 E8FFBD27 		addiu	$sp,$sp,-24 443              	$LCFI0: 114:/mnt/hgfs/boot/booter/source/nand.c ****     //NAND devices requires GPIO ouput High 115:/mnt/hgfs/boot/booter/source/nand.c ****     gpioWrite(NAND_CE0, 1); 444              		.loc 1 115 0 445 02dc 15000424 		li	$4,21			# 0x15 446              		.loc 1 113 0 447 02e0 1000BFAF 		sw	$31,16($sp) 448              	$LCFI1: 449              		.loc 1 115 0GAS LISTING /tmp/cc4NTrNa.s 			page 11 450 02e4 0000000C 		jal	gpioWrite 451 02e8 01000524 		li	$5,1			# 0x1 452              	 116:/mnt/hgfs/boot/booter/source/nand.c ****     gpioWrite(NAND_CE1, 1); 453              		.loc 1 116 0 454 02ec 14000424 		li	$4,20			# 0x14 455 02f0 0000000C 		jal	gpioWrite 456 02f4 01000524 		li	$5,1			# 0x1 457              	 117:/mnt/hgfs/boot/booter/source/nand.c ****  118:/mnt/hgfs/boot/booter/source/nand.c ****     //Map physical address to TLB virtual address 119:/mnt/hgfs/boot/booter/source/nand.c ****     nand_virtual_address = mapPhysicalAddress (NAND_PHYS_ADDR, NAND_ADDR_SPACE_SIZE, 0); 458              		.loc 1 119 0 459 02f8 0020043C 		li	$4,536870912			# 0x20000000 460 02fc 21280000 		move	$5,$0 461 0300 FF030624 		li	$6,1023			# 0x3ff 462 0304 0000000C 		jal	mapPhysicalAddress 463 0308 21380000 		move	$7,$0 464              	 465 030c 0000033C 		lui	$3,%hi(nand_virtual_address) 120:/mnt/hgfs/boot/booter/source/nand.c ****  121:/mnt/hgfs/boot/booter/source/nand.c ****     //Configure Static Bus 122:/mnt/hgfs/boot/booter/source/nand.c ****     NAND_SB_REG_CTRL   = NAND_CTRL_INTERRUPT; 466              		.loc 1 122 0 467 0310 00B4093C 		li	$9,-1275068416			# 0xffffffffb4000000 468              		.loc 1 119 0 469 0314 000062AC 		sw	$2,%lo(nand_virtual_address)($3) 123:/mnt/hgfs/boot/booter/source/nand.c ****     NAND_SB_REG_CONFIG = SMC_NAND | SMC_NAND_WIDTH(1); 470              		.loc 1 123 0 471 0318 4000023C 		li	$2,4194304			# 0x400000 472              		.loc 1 122 0 473 031c 00112A35 		ori	$10,$9,0x1100 474              		.loc 1 123 0 475 0320 10102B35 		ori	$11,$9,0x1010 476 0324 05004234 		ori	$2,$2,0x5 477              		.loc 1 122 0 478 0328 00010824 		li	$8,256			# 0x100 479 032c 000048AD 		sw	$8,0($10) 480              		.loc 1 123 0 481 0330 000062AD 		sw	$2,0($11) 124:/mnt/hgfs/boot/booter/source/nand.c ****     NAND_SB_REG_TIMING = NAND_TIMING; 125:/mnt/hgfs/boot/booter/source/nand.c ****     NAND_SB_REG_ADDR   = NAND_SB_ENABLE | NAND_SB_CSBA(NAND_PHYS_ADDR) | NAND_SB_CSMASK(NAND_ADDR_S 482              		.loc 1 125 0 483 0334 0012023C 		li	$2,301989888			# 0x12000000 484 0338 18102C35 		ori	$12,$9,0x1018 485              		.loc 1 124 0 486 033c 74770324 		li	$3,30580			# 0x7774 126:/mnt/hgfs/boot/booter/source/nand.c ****  127:/mnt/hgfs/boot/booter/source/nand.c ****     //Enable interrupt for Nand Ready/Not Busy signal 128:/mnt/hgfs/boot/booter/source/nand.c ****     nand_irq_fired = 0; 129:/mnt/hgfs/boot/booter/source/nand.c ****  130:/mnt/hgfs/boot/booter/source/nand.c ****     cpuIrqEnable(NAND_IRQ_ID, NAND_POLARITY, (void *)nand_irq_handler, 0); 487              		.loc 1 130 0

⌨️ 快捷键说明

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