В соответствующей документации (Getting Started with ARM926) сказано, что с помощью соответствующего батника код запускается через SAMBA в SD-RAM (если конечно я правильно понял) и оттуда уже исполняется
А мне бы очень надо чтобы код стартовал из DataFlash (и грузился в SD-RAM) при включении платы.
Из доки к процу сказано что при старте он опрашивает и DataFlash в том числе.
По какому адресу нужно закинуть бинарник в DataFlash, чтобы проц нашёл программу, закинул в SD-RAM и оттуда начал выполнение программы?
P.S. просмотр Memory Mapping из доки, говорит о том, что если DataFlash на CS0, то начальный адрес 0x10000000.
Могу сделать вывод что грузить нужно туда.
Вам бы надо даташит почитать на предмет старта и начальной загрузки :) процессор стартует на пониженной частоте с неинициализированной шиной EBI и SDRAM. Все что у вас есть при старте - 8 кбайт SRAM. Кстати в местной вики есть статья описывающая старт системы. http://wiki.starterkit.ru/bootstrap
Не пользовался getting-started-project, исходники у вас - смотрите, если инициализирует то достаточно прописать его в dataflash по нулевому адресу и он должен содержать правильные вектора исключений и сам инициализировать sdram. У меня за это отвечает bootstrap.
Насколько я понял "родной" bootstrap не инициализирует SDRAM и PLL.
После заливки бинарника из атмеловского проекта в DataFlash на терминале ничего нет(а должно быть). Видимо вы были правы.
Мне, по всей видимости, нужен bootstrap, который проводит начальную инициализацию процессора, настроить управление памятью, скопировать кусок данных из указанного ему места из энергонезависимой памяти в SD-RAM и передать управление на этот адрес.
НО! Bootstrap зашит на процессоре в ROM и не стирается. Выходит что нужно писать ещё один загрузчик (который положить в DataFlash по нулевому адресу), инициализирующий PLL и SD-RAM и содержащий в себе инструкции безусловного перехода (b-branch) или загрузки регистра (LDR), исключение - шестой вектор - должен содержать размер имиджа (что он должен содержать в моём случае?).
или
написать программу содержащую в себе блок инициализации SD-RAM и PLL так же инструкции безусловного перехода (b-branch) или загрузки регистра (LDR).