Это очень важная установка, судя по коментарию, добавляет такт в каких то из транзакций со SDRAM, без нее на ~50% процессоров Linux не станет работать с включеными кешами.
2repairman - у тебя на плате какой объем ram ? Такое ощущение что 64М :) Потому что на стандартном стартерките предел 0х22000000... Но вопрос у меня не в этом - когда ты копируешь образ ядра
cp uImage /dev/mtd3
у тебя потом все нормально загружается ? У меня u-boot 1.3.4 пишет ошибку crc, хотя заголовок образа определяется правильно - похоже какой-то глюк u-boot... Если потом загрузить по ymodem тот же самый образ ядра - все ок...
Еще вспомнил - если просто записать bootstrap на dataflash то ничего не заработает. Так вот там надо по смещению 0х14 (20 dec) от начала файла записать размер этого бинарника в байтах (4 байта). Например у меня сразу после компиляции там F8 0D 20 00 (размер файла 3576 байт = 0x0DF8 в представлении LE это будет F8 0D 00 00, тоесть в моем случае 20 я заменил на 00). Не помню говорили об этом на форуме или нет - я раньше полььзовался в самбе готовым скриптом и не знал что он делает, сейчас пришлось узнать - скрипт сначала правит файл прошивки, вписывая туда размер этого файла а потом копирует его в датафлеш.
Да, #define JUMP_ADDR 0x23F00000 - ошибка, но НЕ приводящая ни к каким последствиям... "заворачивание" адресного пространства заставляет писать в физические 0x21F00000... а там с ОЗУ все в порядке...
Для очистки совести хорошо исправить... однако НИЧТО не изменится в работе лоадера....
Я провел десяток опытов, около половины закончились обломом... причины не понял (проскакивала где-то фраза про выравнивание длины образа под блоки MTD... не вникал...), теоретическая возможность использования доказана, с реализацией буду заниматься, когда дойдет до нее дело...
Сейчас у меня слишком много вопросов на нулевой стадии решения...
Что я заметил - если загрузить имидж ядра по ymodem (сначала я смог заставить работать только его, сейчас работает и tftp на u-b 1.3.4) и потом скопировать на dataflash с указанием точного размера имиджа то все потом заработает ok, но если не указать точный размер то получаю ошибку crc...
провёл 10 опытов. выполнял:
flashcp -v kernel /dev/mtd0
образ ядра выровнял:
dd if=zImage of=kernel bs=128k conv=sync
все десять раз полёт нормальный
заливал полученный файл и с помощью sam-ba - тоже без вопросов грузится.