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

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

Да вот я тем и знанимаюсь. Еще хочу FATFS прикрутить, чтобы грузить u-boot прямо с первого раздела.

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


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

Может вот на что посмотреть: чтобы загрузка работала надо правильно выставить делители PLL. Стр. 15 документа.

Если uboot делает это не правильно, то будут проблемы.

 

 

Может даже угадал: проверил и clock 50 МГц, а надо 25. Попробую поменять константы в u-boot.

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


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

Только теперь следующая проблема - при старте с SD скорость уарта в два раза меньше. Хотя из-под отладчика все стартует нормально.

 

Еще один аргумент в пользу моей теории: uboot слишком рано переключает EPLL и клок на SD становится слишком быстрым.

Попробую проверить эту теорию.

 

ОК, с вас виртуальное пиво. Решил проблему.

 

В u-boot есть lowlevel_init для каждой платы. У меня SMDK2416.

Закоментировал инициализацию EPLL и сразу стало все грузиться с SD карточки. Если кому надо пришлю рабочий u-boot-movi.bin

но лучше соберите сами под свои параметры.

 

 

system_clock_init:

 

ldr r0, =ELFIN_CLOCK_POWER_BASE

 

ldr r1, [r0, #CLKDIV0CON_OFFSET]

bic r1, r1, #0x37 /* clear HCLKDIV, PREDIV, PCLKDIV */

bic r1, r1, #(0xf<<9) /* clear ARMCLKDIV */

ldr r2, =CLK_DIV_VAL

orr r1, r1, r2

str r1, [r0, #CLKDIV0CON_OFFSET]

 

/*Set MPLL Locktime*/

ldr r1, =0xe10

str r1, [r0, #LOCKCON0_OFFSET]

 

ldr r1, =MPLL_VAL

str r1, [r0, #MPLLCON_OFFSET]

 

#if 0 /*avf was 1*/

ldr r1, =0x1780

str r1, [r0, #LOCKCON1_OFFSET]

 

ldr r1, =EPLL_VAL /*Set EPLL*/

str r1, [r0, #EPLLCON_OFFSET]

 

ldr r1, [r0, #CLKSRCCON_OFFSET]

orr r1, r1, #0x40

str r1, [r0, #CLKSRCCON_OFFSET]

 

#endif

 

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


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

Вчера настроил H-JTAG и его флешер под свою плату( 2 гига samsung K9GAG08), сегодня загрузил убут в нанд от kit2416, результат тот же "OK" :)

 

Отлично, alexf, мой опыт в подтверждение вашей теории! Будете в Нижнем, угощю и невиртуально!

Скиньте мне на почту бинарник протестировать, не могу щас перекомпилить, только дома, bvvlab(at)yandex.ru

 

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


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

Скиньте мне на почту бинарник протестировать, не могу щас перекомпилить, только дома, bvvlab(at)yandex.ru

 

Послал вместе с приладой "uboot_writer.exe".

Если не остановить процесс то он автоматом считывает ядро, uboot для NAND и root_EM2416.yaffs2 с ММС, стирает NAND

и пишет в него.

Естественно если образов на ММС нет, то сотрет NAND и ничего не запишет толкового. Но раз загружается с ММС, то все легко поправимо.

 

Кстати я собрал kernel с драйвером DM9000 и теперь монтирую root на NFS. Самое что надо для отладки.

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


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

Протестировал, u-boot грузится с SD, круть... теперь осталось аккуратно все настроить под свою железку.

Как же работало у сообщества kit2416, релизы проца чтоль разные?

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


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

Как же работало у сообщества kit2416, релизы проца чтоль разные?

 

Либо уже была поправленная версия убута либо некоторые ММС карты могут работать на 50 МГц.

 

 

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


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

Сделал загрузчик, который грузит u-boot.bin напрямую с fat раздела флешки. Если кому надо выложу.

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


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

Сделал загрузчик, который грузит u-boot.bin напрямую с fat раздела флешки. Если кому надо выложу.

 

Было бы неплохо. Пригодится в следующем проекте на 6410.

 

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


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

Было бы неплохо. Пригодится в следующем проекте на 6410.

Если кто для него напишет Makefile - поставлю пиво :)

 

З.Ы. под 6410 тоже собираюсь портануть.

minimal_loader_win.rar

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


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

Если кто для него напишет Makefile - поставлю пиво :)

 

З.Ы. под 6410 тоже собираюсь портануть.

 

Спасибо. В духе сотрудничества Makefile напишу. Не проблема.

-

А у меня новая загадка природы. Если я пытаюсь загрузиться целиком с SD (поправил команду в u-boot )

то kernel грузится и стартует, но умирает жалуюсь на ММС. А если пока он грузится и распаковывается ММС выдернуть то все работает. Чудеса. Рут монтирую через NFS.

 

PS 6410 модуль умер смертью храбрых - воткнул модуль кверх ногами.

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


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

По поводу MMC посмотрю в понедельник на работе. Были какие-то проблемы, сейчас уже не помню. Одна касалась отсутствия необходимых клоков, но патч я уже давно видел в arm-linux-kernel листе, должны были поправить. Еще был патч, который добавлял различные методы опроса Card Detect (до этого было только по прерыванию).

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


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

Makefile сделал, дело не хитрое. Для Линукса, естественно. Возникли две проблемы:

 

1. при линковке без стандартных библиотек не находился __aeabi_uidiv. Наверняка есть лучшие методы борьбы, но я больше

по железу чем по програмам. Так что тупо скопировал процедуру из сорсов компилятора в crt0.S и все собралось.

 

2. Не влезло слегка в 8К с тем компилятором которым я пользовался (4.2.2-eabi).

Поправка: я добавил -mthumb во флаги компилятора и все стало хорошо.

 

Ну и пришлось в паре мест поменять названия файлов так как lower/upper case важен. Скажем фаил назывался

system.h, а написано было "#include <System.h>"

 

minimal_loader.zip

 

По поводу MMC посмотрю в понедельник на работе. Были какие-то проблемы, сейчас уже не помню. Одна касалась отсутствия необходимых клоков, но патч я уже давно видел в arm-linux-kernel листе, должны были поправить. Еще был патч, который добавлял различные методы опроса Card Detect (до этого было только по прерыванию).

 

У меня довольно старая версия 2.6.21 так что легко может не быть патчей.

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


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

Посмотрел. В ядре ничего кроме вышеперечисленного связанного с MMC мы не правили.

 

З.Ы. у кого-нить есть флешер для SD под 6410? uboot_writer.exe не пашет. :(

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


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

Нашел некий загрузчик под s3c6410 http://zenvoid.org/software/qi-smartq/ . Там же и скрипт для флешевания.

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


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

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

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

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

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

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

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

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

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

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