реклама на сайте
подробности

 
 
> s3c2416 начальная загрузка, подробности...
Dron_Gus
сообщение Aug 20 2010, 11:38
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



День добрый.

Не работал ли кто-нибудь плотно с s3c2416/не располагает ли кто-нибудь подробной докой на начальный загрузчик? Или может даже исходниками? Есть скудная дока iROM.pdf, после чтения которой возникает больше вопросов. Не понятно, как и где должен располагаться загрузчик, чтобы встроенное ПО могло загрузить его с sd/mmc карты.

Добиться документации от самого Самсунга пока не удается. sad.gif


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
6 страниц V  < 1 2 3 4 > »   
Start new topic
Ответов (15 - 29)
alexf
сообщение Feb 9 2011, 21:41
Сообщение #16


Местный
***

Группа: Свой
Сообщений: 420
Регистрация: 22-12-04
Пользователь №: 1 608



Цитата(Dron_Gus @ Feb 9 2011, 08:21) *
В крайнем случае будете долго и нудно лить образ по x-modem'у в убут.


JTAG то есть. Целая коллекция. В том числе кабель на пар порт от этой платы. Но еще не подключал: для 2440 было не надо.
А вот xmodem (вернее Ymodem) - идея неплохая. 3 минуты можно потерпеть. Но все же Вы писали что загружали через USB. Как?
В моем убуте есть команда "dnw" которая должна включать USB, но не похоже чтобы работала...
И неужели никто не научился писать MMC чтобы загружались? Я даже подозреваю что из за другой главной платы какие то конигурационные ножки не туда подключены. Только какие?
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Feb 10 2011, 08:58
Сообщение #17


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



В у-буте вроде есть функция загрузки. Не пробовал.
Я грузил через жтаг во внутреннюю память програмку, она уже принимала файло по USB через DNW. Програмка на базе SMDK2450_2416_2451_TEST.zip.
Пины для конфигурации типа загрузки: GPC[5:7] и OM[4:0], смотрите Table 1-5. S3C2416X Operation Mode Description в User Manual'е.
Флешку должна уметь писать программа IROM_Fusing_Tool.exe . Я не пробовал толком. Но предстоит.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
alexf
сообщение Feb 10 2011, 09:48
Сообщение #18


Местный
***

Группа: Свой
Сообщений: 420
Регистрация: 22-12-04
Пользователь №: 1 608



Цитата(Dron_Gus @ Feb 10 2011, 00:58) *
Я грузил через жтаг во внутреннюю память програмку, она уже принимала файло по USB через DNW. Програмка на базе SMDK2450_2416_2451_TEST.zip.


Попробовал через ymodem и все состоялось - свой kernel загрузил. С сожалению под линуксом NAND не пишется. dd ругается. Видимо первые два раздела определены только на чтение. А где раздобыть SMDK2450_2416_2451_TEST.zip? Может поделитесь?

Перечисленные конфигурационные ножки вроде в порядке. Стоят на все резисторы на модуле, так что не понятно каким образом у меня ровно один раз сработало...

Дополнение:
Нашел 114453SMDK2450_2416_2451_TEST.zip Но если не жалко поделиться работающей приладой, буду признателен.

Дополнение 2:
нашел программу moviNAND_Fusing_Tool-512K-boot.exe и KIT2416-uboots-zImage.rar
здесь:
http://openembed.org/wiki/KIT2416-Linux_Porting

Тот же результат sad.gif
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Feb 10 2011, 10:58
Сообщение #19


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Киньте мне письмо на dron_gus(at)mail.ru

Если у Вас все эти ноги притянуты резисторами, то надо перепаивать. sm.gif Я поставил кнопку и перетягивал пины GPC5 и GPC7 (кажется) 100-Омными резисторами.

А утилита по вашей ссылке несколько сложнее, чем та, что у меня. sm.gif


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
alexf
сообщение Feb 10 2011, 11:13
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 420
Регистрация: 22-12-04
Пользователь №: 1 608



Послал.

Цитата(Dron_Gus @ Feb 10 2011, 02:58) *
А утилита по вашей ссылке несколько сложнее, чем та, что у меня. sm.gif


она записывает не только u-boot но еще и ядро и образ диска по физическим секторам на MMC.
Еще бы 2416 это читал...
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Feb 10 2011, 11:36
Сообщение #21


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Цитата(alexf @ Feb 10 2011, 14:13) *
она записывает не только u-boot но еще и ядро и образ диска по физическим секторам на MMC.

Да. Только загркзчика, чтобы это все читать я не находил. А если писать свой, то можно к нему FAT прикрутить. Чтобы проще было.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
alexf
сообщение Feb 10 2011, 11:55
Сообщение #22


Местный
***

Группа: Свой
Сообщений: 420
Регистрация: 22-12-04
Пользователь №: 1 608



Цитата(Dron_Gus @ Feb 10 2011, 03:36) *
Да. Только загркзчика, чтобы это все читать я не находил. А если писать свой, то можно к нему FAT прикрутить. Чтобы проще было.


Должен u-boot это читать. Инструкция такая:

1. Burn the u-boot.bin, zImage, rootfs.yaffs to the sd card with the uboot_write.exe tools. The method is the same as that i told you last time.
2. Copy qt-4.6-image-ok.tar.bz2 to Sd card.
3. Insert the SD card, and then boot into uboot command mode.
4. Run the follow command in uboot command:
nand scrub
nand erase
movi read 3800000# 40000 c0000000
nand write c0000000 0 40000

movi read kernel c0000000
nand write c0000000 40000 200000

movi read 3600000# 3C65040 c0000000
nand write.yaffs c0000000 400000 3C65040

set bootcmd "movi read kernel 0xc0200000;bootm 0xc0200000"
set bootargs "noinitrd console=ttySAC0,115200 root=/dev/mtdblock2 rootfstype=yaffs2 init=/linuxrc"
saveenv

5.reboot the board, and enter the linux system command mode.

От себя добавлю что делать nand scrub и nand erase до того как все гарантировано читается с MMC - прямой путь к форсированному изучению JTAG-а.
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Feb 10 2011, 12:22
Сообщение #23


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



У-бут занимает от 100 Кб. А iROM грузит во внутреннюю память 8 Кб. Так что есть еще промежуточный загрузчик.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
alexf
сообщение Feb 10 2011, 21:11
Сообщение #24


Местный
***

Группа: Свой
Сообщений: 420
Регистрация: 22-12-04
Пользователь №: 1 608



Цитата(Dron_Gus @ Feb 10 2011, 04:22) *
У-бут занимает от 100 Кб. А iROM грузит во внутреннюю память 8 Кб. Так что есть еще промежуточный загрузчик.

Я так понял что u-boot на MMC разбит на 2 части. 8К живет на последних секторах (кроме 2х совсем последних).
Она инициализирует память и должна загружать основную часть u-boot. Не исключено (надо смотреть исходники) что у меня именно эти 8К грузятся и пишут ОК, а остальное не работает.

Теперь еще вопрос. А как собственно через jtag грузить код? Если бы я пользовался KEIL или IAR тулзами то наверное там есть опция загрузки через jtag. У меня пока установлен H-JTAG который успешно видит процессор, но дальше нужна какая то прилада.
Существует программа sjf2410 которая пишет через jtag прямо в флеш. А как в память? Может OPEN OCR надо? Или что посоветуете?
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Feb 11 2011, 09:42
Сообщение #25


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Я OpenOCD + GDB пользую. Инициализируете внешнюю память и грузите прямо туда. Примеры смотрите, например, в инит-скриптах от mini2440.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
alexf
сообщение Feb 11 2011, 10:42
Сообщение #26


Местный
***

Группа: Свой
Сообщений: 420
Регистрация: 22-12-04
Пользователь №: 1 608



Цитата(Dron_Gus @ Feb 11 2011, 01:42) *
Я OpenOCD + GDB пользую. Инициализируете внешнюю память и грузите прямо туда. Примеры смотрите, например, в инит-скриптах от mini2440.


И я к тому же пришел. С процессором говорю через OpenOCD. load_image тоже вроде работает. Расскажу если будет полный успех. Спасибо.
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Feb 11 2011, 10:52
Сообщение #27


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Ок. Буду ждать. Меня тоже интересует загрузка с SD. Правда для s3c6410, но суть та же.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
alexf
сообщение Feb 12 2011, 23:01
Сообщение #28


Местный
***

Группа: Свой
Сообщений: 420
Регистрация: 22-12-04
Пользователь №: 1 608



JTAG - мощное оружие в руках пролетариата умственного труда. Удалось пока установить что u-boot таки загружается в память.
Обе части - сначала 8К которые инициализируют SDRAM и прочее а потом и остальное.
Оказалось что схема приложенная к модулю не правильная и тумблер который для 2440 переключал ОМ0 здесь честно включает iROM. Как уже писал с ММС загрузкой пишет ОК и все. Но JTAG говорит что при этом в основной памяти (0xc3e0xxxx) успешно сидит U-boot, только у меня ничего кроме ОК не пишет. Буду разбираться дальше.
Ваша утилита к сожалению как есть не работает а пересобрать ее на GCC оказалось большой головняк из за ассемблера. Зато нарыл совсем простой код "vboot" который собирается легко. Буду его запускать с ММС а там посмотрим.
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Feb 13 2011, 11:42
Сообщение #29


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Цитата(alexf @ Feb 13 2011, 02:01) *
Зато нарыл совсем простой код "vboot" который собирается легко. Буду его запускать с ММС а там посмотрим.

Это что-то специализированное? Не поделитесь?

Вчера тоже добился нормальной загрузки spl и u-boot на 6410. Грабли на которые я наступал: повторная инициализация памяти в основном у-буте (вызывало падение без отладчика, под отладчиков все было ок), повторная инициализация клоков, неправильный релокэйт (это появилось в последних у-бутах).

Кстати, прошивалка rom_flush_tool просит файл (.nb0) в формате .sre. Я посмотрел, у тех файлов, что шли с различными отладками,перед началом самого образа идет небольшой заголовок. Может в этом проблема?

З.Ы. то еще развлечение. sm.gif


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
alexf
сообщение Feb 13 2011, 22:39
Сообщение #30


Местный
***

Группа: Свой
Сообщений: 420
Регистрация: 22-12-04
Пользователь №: 1 608



>>Это что-то специализированное? Не поделитесь?

Охотно. Это простая как веник программа для загрузки Линукса не задавая вопросов. Тупо читает образ из NAND, инициализирует параметры и вперед. Я думаю не составит особого труда поменять чтение образа с NAND на SD. Прога собирается по простому GCC который мы знаем и любим sm.gif Бинарник 2К так что не надо даже грузить второй части в SDRAM.
План такой:

1. вместо загрузки ядра вставить примитивный "монитор" чтобы убедиться что загрузка работает.
2. добавить инициализацию SDRAM -почему то там нет. Сделано для какой то системы со статической памятью похоже.

Добавление: сделал. Работает. Т.е. кладу слегка поправленый vboot на SD карточку с помощью uboot_writer.exe и оно грузится
при холодном старте и инициализирует SDRAM и пишет на консоль.

Может будет полезно в окончательном варианте в качестве максимально быстрого загрузчика. А пока наверное наиболее продуктивно будет разобраться с jtag+gdb почему u-boot умирает.

А KIT6410 у меня тоже есть но еще руки не дошли. Сначала 2416. Может хватит пока скорости.

Прикрепленный файл  vboot_20100106.zip ( 17.65 килобайт ) Кол-во скачиваний: 213


Кстати поставил CrossWorks который собрал Ваш код, естественно, только в нем нет симулятора. Или его надо где то отдельно искать? Жаловался на отсуствие DLL в targets.

Из всем моей коллекции JTAG коробочек ни одну он не поддерживает. Заказал еще J-LINK до кучи...




>>то еще развлечение.
Ага. Особенно в выходной sm.gif
Go to the top of the page
 
+Quote Post

6 страниц V  < 1 2 3 4 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 09:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.01508 секунд с 7
ELECTRONIX ©2004-2016