Перейти к содержанию
    

s3c2416 начальная загрузка

Dron_Gus: можно чуть подробнее что Вы обнаружили с повторной инициализацией?

У меня похоже от главного блока BL2 правильно загружается совсем маленький кусочек и проц застревает в коде в IROM который должен загружать все остальное. Uboot только задает параметры (похоже правильные) и вызывает встроенную функцию копирования из MMC/SD.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По поводу повторной инициализации: в у-буте используется один файл start.S и для SPL и для основного u-boot'а. И вызывает одну и ту же ф-ю lowlevel_init. А эта функция без разбора инициализирует все подряд. Для большей части повторная инициализация ничем страшным не грозит, но вот память похоже теряет/искажает содержимое при повторной инициализации, а т.к. основной u-boot исполняется из нее, то это приводит к печальным последствиям. Аналогично и с клоками/pll.

 

Из-под кросс-студии отлаживался с помошью j-link'а. (не могу окончательно переползти на линукс, нравится мне сборка-загрузка-отладка одной кнопкой, особенно на начальной стадии).

 

За код большое спасибо!

 

У меня к Вам тоже вопрос, что за uboot_writer.exe и откуда его берут?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По поводу повторной инициализации: в у-буте используется один файл start.S и для SPL и для основного u-boot'а. И вызывает одну и ту же ф-ю lowlevel_init.

 

Я заметил. У меня похоже другая проблема. Оказывается MMU не включается а почему то если смотреть на 0xc3е00000 то там то же что и в статической памяти на 0х40000000. Это меня и сбило с толку - вижу там "правильный" код, но только часть. А оказывается туда же отображается статическая память.

Китайцы вернулись с нового года и обещали прислать рабочии MMC карточки... А пока пытаюсь разобраться с MMU.

 

uboot_writer.exe это тот же moviNAND_Fusing_Tool-512K-boot.exe на который я давал ссылку. Так его назвали на CD от платы.

Могу скинуть на почту если надо.

 

Дополнение: MMU не включается поскольку должен включаться после конца копирования кода из SD а он не копируется ни байта.

А застрявает он в системной области IROM от которой сорса нет. Лениво разбираться.

 

Такой вопрос: а можно U-boot загрузить самим же Uboot через Y-modem? Или через JTAG? Наверное можно...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скиньте, если не сложно. Все мои утилиты результата не дают.

 

А зачем Вам MMU в загрузчике? Только чтобы включить кэши?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скиньте, если не сложно. Все мои утилиты результата не дают.

 

А зачем Вам MMU в загрузчике? Только чтобы включить кэши?

 

Послал. Мне MMU в загрузчике ни к чему. Я просто теперь только понял что ничего не грузилось а э думал что грузился кусок.

 

Залил U-boot своей сборки через JTAG и он работает! Больше я ничего не боюсь :)

 

Процедура такая: записываем на SD карточку образ u-boot.bin (не для ММС), zImage и filesystem с их CD.

Инициализируем SDRAM например моей версией vboot , JTAGом грузим u-boot собраный MMC/SD и стартуем с 0x33e00000

Он сам берет с MMC все образы и прожигает в NAND. После этого u-boot стартует с NAND. Правда он и с самого начала это делал но я его случайно затер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня сейчас задача автоматизировать прошивку устройств после сборки. Для этого надо научиться грузится с mmc. Вроде как с Вашим флешером SD получается правильным. Только теперь следующая проблема - при старте с SD скорость уарта в два раза меньше. Хотя из-под отладчика все стартует нормально.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяюсь к обсуждению, у меня схожая задача поставить линукс на китайскую плату с S3C2416, изначально установлена wince.

Скиньте мне тоже, пжалуйста, утилиту uboot_writer.exe , пробовал заливать с помощью moviNAND_Fusing_Tool-512K-boot.exe , в результате "OK" в терминалке.

У кого нибудь загрузился u-boot с sd/mmc?

Сейчас прикручиваю jtag, буду разбираться...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Результат тот же "OK" значит дело в бинарнике, брал от kit2416, будем разбираться...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А исходников этих бинарей ни у кого нет? Никак не могу разобраться с использованием "встроенной" в iROM функции чтения сектора с SD карты. Читается только нулевой сектор. Можно написать свое, но лень. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Результат тот же "OK" значит дело в бинарнике, брал от kit2416, будем разбираться...

 

Так и у меня этот же ОК. На самом деле ничего магического в uboot_writer.exe нет. Она просто записывает uboot в последние сектора MMC карточки и остальные образы (ядро и filesystem) по другим физическим адресам (3600000, и т.д.).

Это нетрудно сделать например DD.

 

У меня судя по всему проблема в том что встроеный код в 2416 не хочет вообще читать с MMC после первых 8К.

Китайцы сказали что не все карточки работают и посоветовали Kingston 2 GB.

 

Надо попробовать но не очень верю что поможет. Может правда перетащить процедуру чтения с MMC из основной части uboot в первые 8К и пользоваться ей.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я испытывал утилиту на разных трех 2 гиговых картах, SD ADATA, MicroSD Kingston и Transcend, результат тот же.

Вначале предположил что отличие от kit2416 в подключении памяти ddr, ведь проц поддерживает 2 банка( 2 пина чип селект).

Подкорректил исходники убута, вместо 0x30000000 перевел на 0x38000000, перекомпилил- результат тот же -"ОК".

Далее решил что дело скорее всего в сигнатуре BL1.

В документе 896554S3C2450_IROM_ApplicationNote_Rev003 есть flow chart что делает BL0 IROM'а, Verify integrity of BL1

Success? типа проверяет сигнатуру, независимо откуда бутится с nand или sd. И неясно отрубается как либо эта проверка или нет.

В комплекте с платой идет диск, там есть утилита заливки образа винды на sd, решил проверить делает ли она подпись в предпоследнем секторе,

но программа не запускается вообще ни на xp ни на убунте, так что проверить не могу.

Могу проверить через отладчик пишет ли туда moviNAND_Fusing_Tool-512K-boot, но думаю что нет.

В доке на иром еще написано, что если есть ошибки ECC или integrity то на линии GPC5 появятся импульсы, может ли кто это проверить?

Мне нужно проц поднять чтоб это проверить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня судя по всему проблема в том что встроеный код в 2416 не хочет вообще читать с MMC после первых 8К.

У меня та же проблема. Пытаюсь выпилить драйвер из u-boot'а.

 

Подкорректил исходники убута, вместо 0x30000000 перевел на 0x38000000, перекомпилил- результат тот же -"ОК".

Далее решил что дело скорее всего в сигнатуре BL1.

Если есть "OK" значит iROM грузит 8 Кб (BL1) с карты и передает туда управление. На этом все функции iROM заканчиваются. Значит надо разбираться с дальнейшими этапами загрузки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Точно установлено что (у меня) BL1 успешно загружается и выполняется. Никакой проверки нет. А вот уже код из BL1 - первые 8К от uboot - пытается вызвать встроенную в iROM функцию Copymovitomem указатель на которую лежит в 0х40004008

И тут все глухо зависает.

Поскольку у вас тот же результат ОК то видимо происходит тоже самое. Можно JTAGом прочитать код который отвечает за загрузку и разбираться с ним но лениво и пока некогда. Может проще написать альтернативную процедуру загрузки BL2 не вызывая встроенной функции.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...