Во внутренней флешке лежит бутстрап, который и запускается во время старта системы, который копирует из NAND флешки u-boot и запускает его.
Наличие бутстрапа в NAND флешке обусловленно тем что я записываю в NAND все одним образом который так же используется и для плат на основе 9260, который в свою очередь запускает бутстрап из NAND флешки.
Чтобы грузиться из NAND флешки, нужно скрутить бит источника загрузки, название уже не помню см. доку ...
Еще момент, при любых манипуляциях с внутренней флешкой (и конфиг. битами) имеет смысл не просто сбрасывать процессор а выключать-включать питание.
Нашел в документации: GPNVMBit[3] = 0, Boot on Embedded ROM. Про этот бит вы говорите?
Вопрос: в какую область SRAM будет грузить RomBoot образ
бутстрапа из NAND? Есть ли ограничение 4кБ, т.к. SRAM 32кб?
Кусок из nandflash/makefile:
# Link Address and Top_of_Memory
LINK_ADDR=0x200000
MEMORY_BASE=0x300000
TOP_OF_MEMORY=0x301000 # suitable for all SAM9XE chips 128/256/512/..
для модификации бутстрапа с загрузкой из NAND полагаю нужно заменить LINK_ADDR на 0x300000, TOP_OF_MEMORY на 0x304000 например?
Очень прошу помочь разобраться с возможностью загрузки именно с помощью RomBoot. Загрузка из внутренней flash не устраивает т.к. блокирует возможность работать SAM-BA через Com/Usb. Приходится очищать flash.
Кстати, я упустил из виду что у AT91SAM9XE512 внутренняя SRAM уже размером 32K ...
У 9260 идет два банка по 4К, отсюда и ограничение, 4K на размер кода и 4К выделяется на переменные и стек. Естественно с 9XE512 эти ограничения уже не актуальны.
По логике, для запуска "обычного" RomBOOT, достаточно переключить бит GPNVMBit[3], но видимо есть еще какие то тонкости, т.к. насколько помню, с "наскока" не смог заставить бутиться из NAND или DataFlash ...