Прошу совета, господа инженеры.
У меня плата с AT91SAM9G45, с подключенной для хранения загрузчика и ядра линукса AT45DB321 на spi0 CS0. Кроме dataflash к чипу подключены и nand для rootfs, и micro-SD для отладочных целей, загрузка с micro-SD проходит успешно, грузится at91bootstrap в готовой конфигурации с гита, сейчас бы самое время перейти на загрузку бутстрапа с dataflash, который будет распаковывать и загружать ядро из той же dataflash, в конце подцепляя rootfs из nandflash. Но проблема: процессор не грузит загрузчик.
Загрузчик пробовал и сам собирать для платы SAM9M10G45 конфигом at91sam9m10g45df_linux_zimage_defconfig, и скачивать готовые бинарии с at91.com.
Записываю его сам-бой в dataflash по инструкции для SAM9M10G45-EK.
Пробовал вручную исправлять вектор 6 (в собранных мной бинариях там не просто длина образа, а 0x30xxxx, где xxxx - длина образа в байтах, ...
Но все бесполезно :(
В консоль выводится текст ROMBoot,
процессор читает по spi данных, по MISO идут правильные байты, примерно 28, то есть, похоже, что ROMBOOT читает векторы, но на этом останавливается и остальной образ загрузчика не читает.
Подскажите, может, кто сталкивался с такой проблемой?
ЗЫ Еррату читал, описывалась недоработка загрузки с DB642, а DB321 идет на собственных отладочных платах атмела.
Порядок байт не менял, у меня в собранном бинарии длина правильная, только дополнена почему-то 0x300000. Про значение бит с 16 по 31 в доке ничего не упоминается.
Длина файла 6104 байта, 6104 байта, что как раз 0x17d8.
Но и эти 0x30 я тоже пробовал вычищать, такое впечатление, что ромбуту не нравится что-то еще в этих векторах