Цитата(dch @ Apr 12 2010, 15:04)

попробуйте специфицировать область тестирования, но там достаточно плохо, у u-boot-а стэк лежит в SDRAM и сам он тоже тамже находится, если память сбойная Вы как бы в промпт можете с какойто вероятностью влететь, а вот дальше результат непредсказуем, хотя при загрузке по tftp должны контрольные суммы считаться, этот момент может быть конечно опущен при разработке u-boot-а, пропущенные куски файлов там переповторяются это точно, хотя если стэк бъется то ситуация трудно прогнозируема.
Похоже, что проблема у меня с DataFlash. Хочу подчеркнуть, что именно у меня с ней, а в ней самой. Из SAM-BA я ее прекрасно вижу, для чистоты эксперимента вытер ее полностью командой Erase all в SAM-BA. Потом заново залил bootstrap и u-boot. Все стартонуло, но при попытке залить ядро по сети я снова увидел ненавистную мне надпись:
Код
Verifying Checksum ... Bad Data CRC
ERROR: can't get kernel image!
Далее попробовал залить ядро через последовательный порт:
Код
U-Boot> loadb 22200000
## Ready for binary (kermit) download to 0x22200000 at 115200 bps...
ядро нормально залилось в SDRAM:
Код
## Total Size = 0x0012f454 = 1242196 Bytes
## Start Addr = 0x22200000
но при попытке скпировать его в DataFlash я вижу ошибку:
Код
U-Boot> cp.b 22200000 D0040000 200000
Copy to DataFlash... Can't write to protected/invalid DataFlash sectors
попробовал отключить защиту (поскольку хелп в u-boot отвратительный, то пришлось практически подбирать синтаксис команды protect экспериментальным путем), сработала команда только на сектор 0, остальные писали об ошибке:
Код
U-Boot> protect off 0
Un-Protect 1 DataFlash Sectors
Код
U-Boot> protect off 1
Bad DataFlash sector specification
В общем, пока воюю...
еще обратил внимание, что при старте u-boot пишет:
Код
U-Boot 1.3.4 (Jun 2 2009 - 18:04:39)
DRAM: 64 MB
DataFlash:AT45DB321
Nb pages: 8192
Page Size: 528
Size= 4325376 bytes
Logical address: 0xD0000000
Area 0: D0000000 to D00041FF (RO) Bootstrap
Area 1: D0004200 to D00083FF Environment
Area 2: D0008400 to D0041FFF (RO) U-Boot
Area 3: D0042000 to D0251FFF Kernel
Area 4: D0252000 to D041FFFF FS
*** Warning - bad CRC, using default environment
Похоже, что проблема все-таки в DataFlash