Посморел с утреца - проигнорил ошибку (закоментил проверку длины блока в исходниках) и как ни странно все работает даже с ext2 с которой Юра воевал :) Посмотрел как там сделана расшифровка csd - и почесал репу - так не делается :) похоже тут собака порылась - там структура с битовыми полями которая накладывается прямо на буфер который прочитан с карты. В linux сделано правильное вычисление на уровне битов через макросы, битовые поля непереносимы - компилятор мог как угодно выровнять поля структуры и в итоге нет никакой гарантии что они попадают именно туда куда мы хотим.
так-так.. я тут в командес уехал, а они междусобойчиком тихой сапой u-boot грызут :)
что с usb умеет грузиться - это я еще для версии 1.3.4 написал
и про херь с CSD тоже писал.. и с 2ГБ SD грузится и не чихает
зы сижу в галимой жадной гостинице (Бета) с платным инетом и халявным файфаем в фое..
зы2 с нандом я пока плотно не сражался - запаян такой же чип как у Павла, болтаются 13 бэдов, но никакой настройки параметров Uboot под него не проводил (страницы, тайминги), были безуспешные попытки потереть бэды..
Привет всем! Надеюсь на помощь. Есть такая ситуация:
U-Boot 1.3.4 (Mar 2 2009 - 11:50:39)
I2C: ready
DRAM: 128 MB
NAND: NAND device: Manufacturer ID: 0xec, Chip ID: 0xd3 (Samsung NAND 1GiB 3,3V
8-bit)
Bad block table found at page 524224, version 0x01
Bad block table found at page 524160, version 0x01
NAND device: Manufacturer ID: 0xec, Chip ID: 0xd3 (Samsung NAND 1GiB 3,3V 8-bit)
Bad block table found at page 524224, version 0x01
Bad block table found at page 524160, version 0x01
2048 MiB
In: serial
Out: serial
Err: serial
Ethernet PHY: GENERIC @ 0x00
Hit any key to stop autoboot: 0
DM365 EVM :>setenv ipaddr 192.168.0.81
DM365 EVM :>saveenv
Saving Environment to NAND... Erasing Nand...
Skipping bad block at 0x00380000
В этой версии uboot проверяет бэды только при стирании, в более поздних версиях (по крайней мере 2010.03 если вы читали всю ветку) появился пропуск бэдблоков при чтении/записи.
Проблема u-boot environment at bad black. Если у нас хотя бы какой-нибудь один адрес bad block совпадают с адресным пространством переменных u-boot сохранить их не получиться!!!!!!