Ответ: вроде заработало Когда стал делать заново по шагам - заработало. День потратил на 10-кратную перекомпиляцию, чтобы разобраться, почему заработало. Явно сказать не могу, но, похоже, именно release не может после загрузки запуститься. И дело здесь даже не в том, включена ли отладка через Ethernet, или нет. Просто release, если оно было только что через Ethernet загружено, запуститься не может. А вот debug может.
Привожу логи BootLoader'а для рабочей и не рабочей версии:
Рабочая:
Press [ENTER] to boot from flash
Press [SPACE] to open menu
Boot from flash after 1 seconds.
7
FlashVPPUp(); done
EraseRegFlash(); done
FlashVPPDown() done
goto DOWNLOAD
InitSpecifiedEthDevice(EthDevice = 6)
RTL8139 PCI card found: device 19, function 0
Ethernet Physical Base = 13E12000
Ethernet Virtual Base = BBE12000
RTL8139Init enter
RTL8139Init: ioaddr = 0xBBE12000
RTL8139CheckRam enter
RTL8139CheckRam exit
RTL8139Init:: MAC = 00-00-60-DA-E3-CB
### Connection status: 100Mbps full-duplex ###
RTL8139InitDMABuffer enter
RTL8139InitDMABuffer exit
RTL8139Init exit
RTL8139 Ethernet controller initialized.
====== ISRTL8139PCICard == TRUE
Device identification: XSC1BD58315
Boot loop
Sent BOOTME to 255.255.255.255
Locked Down Link 1
Src IP 192.168.200.154 Port 0400 Dest IP 192.168.200.254 Port 077F
EthDown::TFTPD_OPEN::boot.bin
Downloading .BIN file
Downloading operating system image for SDRAM target.
Image start: 0x80240000 length: 0x0087E458 cache location: 0x80240000
Got EDBG_CMD_JUMPIMG
Got EDBG_CMD_CONFIG, flags:0x00000000
Network Transfer Complete
Verify checksums.
Checksums verified correct.
Verify checksums.
Checksums verified correct.
2----Download successful! Jumping
Нерабочая:
Press [ENTER] to boot from flash
Press [SPACE] to open menu
Boot from flash after 1 seconds.
7
FlashVPPUp(); done
EraseRegFlash(); done
FlashVPPDown() done
goto DOWNLOAD
InitSpecifiedEthDevice(EthDevice = 6)
RTL8139 PCI card found: device 19, function 0
Ethernet Physical Base = 13E12000
Ethernet Virtual Base = BBE12000
RTL8139Init enter
RTL8139Init: ioaddr = 0xBBE12000
RTL8139CheckRam enter
RTL8139CheckRam exit
RTL8139Init:: MAC = 00-00-60-DA-E3-CB
### Connection status: 100Mbps full-duplex ###
RTL8139InitDMABuffer enter
RTL8139InitDMABuffer exit
RTL8139Init exit
RTL8139 Ethernet controller initialized.
====== ISRTL8139PCICard == TRUE
Device identification: XSC1BD58315
Boot loop
Sent BOOTME to 255.255.255.255
Locked Down Link 1
Src IP 192.168.200.154 Port 0400 Dest IP 192.168.200.254 Port 0771
EthDown::TFTPD_OPEN::boot.bin
Downloading .BIN file
Downloading operating system image for SDRAM target.
Image start: 0x80240000 length: 0x003F72F4 cache location: 0x80240000
Got EDBG_CMD_JUMPIMG
Got EDBG_CMD_CONFIG, flags:0x00000000
Network Transfer Complete
Verify checksums.
Checksums verified correct.
Verify checksums.
Checksums verified correct.
2----Download successful! Jumping to image at 80241000h...
Они отличаются только номерами портов и размерами образа. Это, скорее всего, не причина. А вот адрес старта - очень интересно. В рабочей версии он просто говорит "Jumping" и запускается. А в нерабочей указывает адрес, куда, и после этого благополучно зависает. Не знаю, почему BootLoader не может корректно определить точку старта для release версии OS...
-
- ясна. короче нада разбираться плотнее., чтобы понять эту проблему. MemoryTest(46 знак., 12.01.2006 10:06, )