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

 
 
> 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 > »   
Start new topic
Ответов (1 - 75)
igorsk
сообщение Aug 20 2010, 20:46
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 84
Регистрация: 22-03-10
Пользователь №: 56 131



Насколько я понял, он просто тупо копирует первых 8KB в 0x40000000 и туда переходит.
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Aug 23 2010, 13:54
Сообщение #3


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

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



Вы про nand или про SD? И сигнатуры/crc никакой не требуется?

Как быть с SD картами? Там просто так не "отгрызть" 8 Кб там же ФС.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
igorsk
сообщение Aug 23 2010, 23:21
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 84
Регистрация: 22-03-10
Пользователь №: 56 131



Под линуксом можно тупо dd. Под виндой сложнее, но можно попробовать что-нибудь типа WinHex.
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Aug 24 2010, 11:45
Сообщение #5


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

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



Спасибо. Придут платы, буду пробовать.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
igorsk
сообщение Sep 3 2010, 19:23
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 84
Регистрация: 22-03-10
Пользователь №: 56 131



Беру свои слова обратно. Ковырялся сегодня в гугле, наткнулся на новую инфу.
S3C2450 IROM Application Note
В ней есть красивые диаграммки где должен располагаться загрузчик. Т.к. 2450 и 2416 это почти одно и то же, должно сработать.

Ещё нашёлся код под винды для копирования бутлоадера на карточку. Конкретно этот вроде 6340, но можно адаптировать, поменяв пару дефайнов.

Сообщение отредактировал igorsk - Sep 3 2010, 19:32
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Sep 5 2010, 08:05
Сообщение #7


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

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



Спасибо. Пока до загрузки с sd далеко. Не хочет u-boot работать. Пока гружу через USB.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Sep 17 2010, 11:18
Сообщение #8


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

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



Документация у Самсунг - ОТСТОЙ. Так ее еще и нормальным путем (через сайт) не получить. И информации в ней 0.

З.Ы. уже и u-boot заработал и ядро. А как работает iROM до сих пор непонятно. Сижу расковыриваю дамп дизасемблером. ИДИОТИЗМ.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
igorsk
сообщение Sep 18 2010, 00:06
Сообщение #9


Частый гость
**

Группа: Участник
Сообщений: 84
Регистрация: 22-03-10
Пользователь №: 56 131



Диаграммка не помогла?
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Sep 18 2010, 07:43
Сообщение #10


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

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



По диаграмме не понятно что за сигнатура и какова ее структура. Да и в итоге надо научиться грузится с NAND. Нашел готовые бинарники, у них какой-то заголовок, но как его разобрать и сгенерировать подобный для своей прошивки непонятно.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
igorsk
сообщение Sep 19 2010, 19:25
Сообщение #11


Частый гость
**

Группа: Участник
Сообщений: 84
Регистрация: 22-03-10
Пользователь №: 56 131



Я так понимаю что сигнатура нужна при секурной загрузке, когда в проц прошит ключ. Если это дело не включено, то по идее должно грузить без сигнатуры.
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Sep 20 2010, 08:22
Сообщение #12


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

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



Ну хоть CRC то должна проверяться? Тем более в ап ноте есть соответствующий пункт "проверка целосности загрузчика". А вот как это происходит - загадка.


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


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

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



В общем разобрались. "Хитро" хранится ECC. После каждых 512 байт данных идет 13 байт ECC. Даже если NAND c 1, 2 или 4 Кб страницей. Т.е. все в кучу. Более подробно - в исходниках u-boot'а.


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


Местный
***

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



Я тоже начал борьбу с 2416. Конкретно модуль от "Boardcon". В основную плату втыкается модуль 2440. С ним вопросов нет - все путем.
А якобы в эту же плату можно вставить модуль на 2416. И тут проблема с загрузкой.

С фабрики в NAND есть и u-boot, и Linux. И это работает. А вот как поменять kernel пока не придумал.
С платой пришла прилада uboot-writer.exe которая записывает uboot, zImage и образ файловой системы на MMC карточку. Проверил - записано в конце и 2 сектора пустые. Но не работает. Точнее на терминал пишется ОК но он врет - ничего не ОК и больше ничего не происходит. Если не вставлять ММЦ или вставить пустую, то и ОК не напишет. Один самый первый раз u-boot сработал с MMC, но больше ни разу.

Такие вот проблемы. А теперь вопросы:
как запускать через USB?
можно ли под Linux переписать kernel? Я могу читать с форматированной MMC карты и наверное смогу сделать dd if=/mnt/sd/zImage of=/dev/mtdblock1
Но страшно, поскольку если не сработает то не знаю как его запускать.

U-boot MMC не читает. Команда mmcinit его подвешивает навсегда sad.gif
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Feb 9 2011, 16:21
Сообщение #15


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

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



Если есть j-tag, то я не боялся бы ничего угробить. Тем более если хотите обновить только ядро. В крайнем случае будете долго и нудно лить образ по x-modem'у в убут.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
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
alexf
сообщение Feb 15 2011, 06:11
Сообщение #31


Местный
***

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



Dron_Gus: можно чуть подробнее что Вы обнаружили с повторной инициализацией?
У меня похоже от главного блока BL2 правильно загружается совсем маленький кусочек и проц застревает в коде в IROM который должен загружать все остальное. Uboot только задает параметры (похоже правильные) и вызывает встроенную функцию копирования из MMC/SD.
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Feb 15 2011, 08:37
Сообщение #32


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

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



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

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

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

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


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


Местный
***

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



Цитата(Dron_Gus @ Feb 15 2011, 00:37) *
По поводу повторной инициализации: в у-буте используется один файл 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? Наверное можно...
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Feb 15 2011, 10:02
Сообщение #34


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

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



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

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


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


Местный
***

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



Цитата(Dron_Gus @ Feb 15 2011, 02:02) *
Скиньте, если не сложно. Все мои утилиты результата не дают.

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


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

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

Процедура такая: записываем на SD карточку образ u-boot.bin (не для ММС), zImage и filesystem с их CD.
Инициализируем SDRAM например моей версией vboot , JTAGом грузим u-boot собраный MMC/SD и стартуем с 0x33e00000
Он сам берет с MMC все образы и прожигает в NAND. После этого u-boot стартует с NAND. Правда он и с самого начала это делал но я его случайно затер.
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Feb 15 2011, 12:24
Сообщение #36


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

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



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


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





Группа: Участник
Сообщений: 10
Регистрация: 6-11-08
Из: Нижний Новгород
Пользователь №: 41 420



Присоединяюсь к обсуждению, у меня схожая задача поставить линукс на китайскую плату с S3C2416, изначально установлена wince.
Скиньте мне тоже, пжалуйста, утилиту uboot_writer.exe , пробовал заливать с помощью moviNAND_Fusing_Tool-512K-boot.exe , в результате "OK" в терминалке.
У кого нибудь загрузился u-boot с sd/mmc?
Сейчас прикручиваю jtag, буду разбираться...
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Feb 15 2011, 17:25
Сообщение #38


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

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



Куда слать? sm.gif


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





Группа: Участник
Сообщений: 10
Регистрация: 6-11-08
Из: Нижний Новгород
Пользователь №: 41 420



bvvlab на yandex.ru , не знал что мой ящик закрыт для других.
Go to the top of the page
 
+Quote Post
bvvlab
сообщение Feb 15 2011, 18:59
Сообщение #40





Группа: Участник
Сообщений: 10
Регистрация: 6-11-08
Из: Нижний Новгород
Пользователь №: 41 420



Результат тот же "OK" значит дело в бинарнике, брал от kit2416, будем разбираться...
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Feb 15 2011, 19:39
Сообщение #41


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

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



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


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


Местный
***

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



Цитата(bvvlab @ Feb 15 2011, 10:59) *
Результат тот же "OK" значит дело в бинарнике, брал от kit2416, будем разбираться...


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

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

Надо попробовать но не очень верю что поможет. Может правда перетащить процедуру чтения с MMC из основной части uboot в первые 8К и пользоваться ей.
Go to the top of the page
 
+Quote Post
bvvlab
сообщение Feb 16 2011, 09:28
Сообщение #43





Группа: Участник
Сообщений: 10
Регистрация: 6-11-08
Из: Нижний Новгород
Пользователь №: 41 420



Я испытывал утилиту на разных трех 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 появятся импульсы, может ли кто это проверить?
Мне нужно проц поднять чтоб это проверить.
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Feb 16 2011, 10:50
Сообщение #44


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

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



Цитата(alexf @ Feb 16 2011, 00:06) *
У меня судя по всему проблема в том что встроеный код в 2416 не хочет вообще читать с MMC после первых 8К.

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

Цитата(bvvlab @ Feb 16 2011, 12:28) *
Подкорректил исходники убута, вместо 0x30000000 перевел на 0x38000000, перекомпилил- результат тот же -"ОК".
Далее решил что дело скорее всего в сигнатуре BL1.

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


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


Местный
***

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



Точно установлено что (у меня) BL1 успешно загружается и выполняется. Никакой проверки нет. А вот уже код из BL1 - первые 8К от uboot - пытается вызвать встроенную в iROM функцию Copymovitomem указатель на которую лежит в 0х40004008
И тут все глухо зависает.
Поскольку у вас тот же результат ОК то видимо происходит тоже самое. Можно JTAGом прочитать код который отвечает за загрузку и разбираться с ним но лениво и пока некогда. Может проще написать альтернативную процедуру загрузки BL2 не вызывая встроенной функции.
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Feb 16 2011, 11:08
Сообщение #46


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

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



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


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


Местный
***

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



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


Может даже угадал: проверил и clock 50 МГц, а надо 25. Попробую поменять константы в u-boot.
Go to the top of the page
 
+Quote Post
alexf
сообщение Feb 17 2011, 06:30
Сообщение #48


Местный
***

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



Цитата(Dron_Gus @ Feb 15 2011, 04:24) *
Только теперь следующая проблема - при старте с 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
Go to the top of the page
 
+Quote Post
bvvlab
сообщение Feb 17 2011, 10:08
Сообщение #49





Группа: Участник
Сообщений: 10
Регистрация: 6-11-08
Из: Нижний Новгород
Пользователь №: 41 420



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

Отлично, alexf, мой опыт в подтверждение вашей теории! Будете в Нижнем, угощю и невиртуально!
Скиньте мне на почту бинарник протестировать, не могу щас перекомпилить, только дома, bvvlab(at)yandex.ru
Go to the top of the page
 
+Quote Post
alexf
сообщение Feb 17 2011, 10:28
Сообщение #50


Местный
***

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



Цитата(bvvlab @ Feb 17 2011, 02:08) *
Скиньте мне на почту бинарник протестировать, не могу щас перекомпилить, только дома, bvvlab(at)yandex.ru


Послал вместе с приладой "uboot_writer.exe".
Если не остановить процесс то он автоматом считывает ядро, uboot для NAND и root_EM2416.yaffs2 с ММС, стирает NAND
и пишет в него.
Естественно если образов на ММС нет, то сотрет NAND и ничего не запишет толкового. Но раз загружается с ММС, то все легко поправимо.

Кстати я собрал kernel с драйвером DM9000 и теперь монтирую root на NFS. Самое что надо для отладки.
Go to the top of the page
 
+Quote Post
bvvlab
сообщение Feb 17 2011, 10:44
Сообщение #51





Группа: Участник
Сообщений: 10
Регистрация: 6-11-08
Из: Нижний Новгород
Пользователь №: 41 420



Протестировал, u-boot грузится с SD, круть... теперь осталось аккуратно все настроить под свою железку.
Как же работало у сообщества kit2416, релизы проца чтоль разные?
Go to the top of the page
 
+Quote Post
alexf
сообщение Feb 17 2011, 10:51
Сообщение #52


Местный
***

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



Цитата(bvvlab @ Feb 17 2011, 02:44) *
Как же работало у сообщества kit2416, релизы проца чтоль разные?


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

Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Feb 18 2011, 11:09
Сообщение #53


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

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



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


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


Местный
***

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



Цитата(Dron_Gus @ Feb 18 2011, 03:09) *
Сделал загрузчик, который грузит u-boot.bin напрямую с fat раздела флешки. Если кому надо выложу.


Было бы неплохо. Пригодится в следующем проекте на 6410.
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Feb 19 2011, 13:50
Сообщение #55


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

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



Цитата(alexf @ Feb 18 2011, 23:50) *
Было бы неплохо. Пригодится в следующем проекте на 6410.

Если кто для него напишет Makefile - поставлю пиво sm.gif

З.Ы. под 6410 тоже собираюсь портануть.
Прикрепленные файлы
Прикрепленный файл  minimal_loader_win.rar ( 599.92 килобайт ) Кол-во скачиваний: 66
 


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


Местный
***

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



Цитата(Dron_Gus @ Feb 19 2011, 05:50) *
Если кто для него напишет Makefile - поставлю пиво sm.gif

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


Спасибо. В духе сотрудничества Makefile напишу. Не проблема.
-
А у меня новая загадка природы. Если я пытаюсь загрузиться целиком с SD (поправил команду в u-boot )
то kernel грузится и стартует, но умирает жалуюсь на ММС. А если пока он грузится и распаковывается ММС выдернуть то все работает. Чудеса. Рут монтирую через NFS.

PS 6410 модуль умер смертью храбрых - воткнул модуль кверх ногами.
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Feb 20 2011, 11:45
Сообщение #57


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

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



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


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


Местный
***

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



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

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

2. Не влезло слегка в 8К с тем компилятором которым я пользовался (4.2.2-eabi).
Поправка: я добавил -mthumb во флаги компилятора и все стало хорошо.

Ну и пришлось в паре мест поменять названия файлов так как lower/upper case важен. Скажем фаил назывался
system.h, а написано было "#include <System.h>"

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


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


У меня довольно старая версия 2.6.21 так что легко может не быть патчей.
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Feb 21 2011, 08:35
Сообщение #59


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

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



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

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


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


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

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



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


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


Местный
***

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



Цитата(Dron_Gus @ Feb 21 2011, 05:28) *
Нашел некий загрузчик под s3c6410 http://zenvoid.org/software/qi-smartq/ . Там же и скрипт для флешевания.


Script выглядит разумно. Вычисляет с какого сектора писать и вперед.

У меня есть прилада с диска от 6410 но работает или нет не знаю поскольку убил свой 6410.
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Feb 24 2011, 07:22
Сообщение #62


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

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



У меня вообще без правок завелся на mini6410, единственное, пришлось подправить Makefile. А вот на планшетнике с тем же s3c6410 не заработал. Непонятно почему.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
bvvlab
сообщение Apr 7 2011, 14:38
Сообщение #63





Группа: Участник
Сообщений: 10
Регистрация: 6-11-08
Из: Нижний Новгород
Пользователь №: 41 420



Какие сделал правки u-boot под мою K9GAG08 (OOB=128, PAGE=4096, BLOCK=128PAGE):
1. nand_cp.c
//page_size = 2048;
page_size = 4096;
//page_shift = 11;
page_shift = 12;
тогда убут будет верно стартовать с нанд независимо или в режиме IROM или выполнения с нанд.

Но для того чтоб его можно было в нанд прописать нужно подправить функции nand write/read
2.nand.c
static struct nand_ecclayout s3c_nand_oob_mlc_128 = {
.useecc = MTD_NANDECC_AUTOPLACE, /* Only for U-Boot *///the batoff
.eccbytes = 64,
.eccpos = {
64, 65, 66, 67, 68, 69, 70, 71,
72, 73, 74, 75, 76, 77, 78, 79,
80, 81, 82, 83, 84, 85, 86, 87,
88, 89, 90, 91, 92, 93, 94, 95,
96, 97, 98, 99, 100, 101, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111,
112, 113, 114, 115, 116, 117, 118, 119,
120, 121, 122, 123, 124, 125, 126, 127},
.oobfree = {
{.offset = 2,
.length = 28+32}}
};

//nand->ecc.layout = &s3c_nand_oob_mlc_64;
nand->ecc.layout = &s3c_nand_oob_mlc_128;

3.nand_util.c
//#define MAX_PAGE_SIZE 2048
//#define MAX_OOB_SIZE 64
#define MAX_PAGE_SIZE 4096
#define MAX_OOB_SIZE 128

if (!(meminfo->oobsize == 16 && meminfo->writesize == 512)
&& !(meminfo->oobsize == 8 && meminfo->writesize == 256)
&& !(meminfo->oobsize == 64 && meminfo->writesize == 2048)
&& !(meminfo->oobsize == 128 && meminfo->writesize == 4096)) {
printf("Unknown flash (not normal NAND)\n");
return -1;
}
4.nand_base.c
static struct nand_ecclayout nand_oob_128 = {
.eccbytes = 48,
.eccpos = {
80, 81, 82, 83, 84, 85, 86, 87,
88, 89, 90, 91, 92, 93, 94, 95,
96, 97, 98, 99, 100, 101, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111,
112, 113, 114, 115, 116, 117, 118, 119,
120, 121, 122, 123, 124, 125, 126, 127},
.oobfree = {
{.offset = 2,
.length = 78}}
};
case 128:
chip->ecc.layout = &nand_oob_128;
break;

case 16:
5.nand.h
//#define NAND_MAX_OOBSIZE 64
//#define NAND_MAX_PAGESIZE 2048
#define NAND_MAX_OOBSIZE 128
#define NAND_MAX_PAGESIZE 4096

после этих правок успешно стал шиться в нанд убут, кернел.
Непонятки творятся с rootfs. ОБраз взял от kit2416 формат yaffs.
В нанд заливается, но при старте ядро паникует, говорит что все блоки бэд.
ядру передаю setenv bootargs noinitrd root=/dev/mtdblock2 console=ttySAC0,115200

Вывел в консоли nand dump первой странички фс, в начале блока OOB два байта нулевые и секция ECC тоже странная.

Кто нибудь сделайте nand dump первых 2 страниц фс ваших плат.
И еще б глянуть начало бинарника rootfs.

Заранее благодарю.


Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Apr 7 2011, 17:29
Сообщение #64


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

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



Загрузчик (IROM) и ядро используют разный формат oob. Вы подогнали формат убута к формату первичного загрузчика. И в этом же формате зашиваете rootfs. Естественно ядро будет ругаться - оно ожидает другой формат.
Аналогичная ситуация у omap. Можете посмотреть (например для beagleboard) есть команда nandecc hw|sw, которая переключает форматы с которыми работает u-boot. Обычная практика это писать вторичный загрузчик (в нашем случае u-boot) полностью в hw ecc (т.е. в формате IROM), а все остальное в классическом формате, принятом в линуксе (sw ecc).


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





Группа: Новичок
Сообщений: 2
Регистрация: 2-06-11
Пользователь №: 65 432



Сорри за офтоп: есть девайс на 2416(навигатор) не грузит ОС, хотел поставить ОС, да пока не знаю с какой стороны подойти. Как я понял из форума, рабочего решения нет пока. В Моём только загрузчик грузится, пишет "Aug 10 2009 v1.a12.b501.c0.d0". Есть полный дамп когдато рабочей винды, но нет инфо по прошивке. Интересует инфо по JTAG к этому процу ну и собственно прошивка с SD.
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Jun 2 2011, 10:23
Сообщение #66


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

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



JTAG в этом проце есть. Разведен ли он в Вашем навигаторе?
С SD-карты процессор грузится умеет. Но только с одного из двух SD-интерфейсов. Какой из них разведен на Вашем устройстве? Выведены ли пины конфигурации загрузочного устройства?


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





Группа: Новичок
Сообщений: 2
Регистрация: 2-06-11
Пользователь №: 65 432



Чётко обозначенного jtag нет. вероятно, как это обычно бывает, выводы разбросаны по плате.. но это только гипотетически. О том какая из SD разведена 1 или 2 можно проверить только вставив карточку с ВООТлоадером, хотя не факт что плата сконфигурирована для загрузки с SD. Нормально она грузится с NAND. По другому я не знаю как это узнать. Ну разве фото платы выложить. Как вариант можно снять проц и вызвонить ноги jtag и SD но нехотелось бы. На плате 2 кнопки вкл\выкл и резет... это всё
Вопрос:
-чем создать загрузочную SD?
- Можно ли по дампу прошивки выяснить имя файла флага ? типа как для ("Prestigio GeoVision 430@"-(BootImg.cfg,xip.bin в корне SD) )
Как следствие, зная это, можно загрузить свою прошиву.

п.с. вопросов много , да вот ответы ...(( и выбросить жаль, и поднять нечем.
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Jun 3 2011, 09:38
Сообщение #68


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

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



1) Утилиты для создания загрузочной SD выкладывали в этой ветке несколькими страницами ранее. Где Вам взять сам загрузчик, который Вы будете писать на карту - я не знаю.
2) Вероятно можно.


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


Частый гость
**

Группа: Участник
Сообщений: 75
Регистрация: 25-07-04
Из: Rostov-on-Don
Пользователь №: 382



Есть устройство с s3c2416 и нанд флэшкой k9gag08, хочу написать свой лоадер для этих девайсов. Если кто сталкивался и поможет прояснить следующие вопросы - буду благодарен.

1. Почему k9gag08 упорно приписываю геометрию в 2гб из страниц по 4096? Реальная геометрия этой странной флэшки 2076 блока, страницы 8192 + 436 spare, в блоке 128 страниц. Кто не верит, может посмотреть в мануале. Всякие непонятности возникают, например, когда я пробую читать 2ю страницу по адресу 0x2000 и вижу данные из 1-й страницы, а потом данные читаются нормально. Это они сделали для "совместимости", чтоб их s3c запускали первые 8к или есть свои хитрости?

2. Какое-то совсем вольное и непонятное обращение с регистрами, даже в примерах от самсунга, не говоря уже от творчестве народном. Чтение и контроль ECC сделано как кому нравится, биты ecc_lock перепутаны с ecc_unlock, по-разному выставляются адреса и команды при чтении, используются разные биты готовности... Я сделал все по мануалу для 8бит ECC, но почему-то у меня все время Uncorrectable ecc error, нет ошибок только на пустых блоках. Никто не подскажет проверенный исходник с ECC, желательно для s3c2416 и этой флэшки или просто свои наблюдения?
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Jun 22 2011, 12:17
Сообщение #70


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

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



2) тут уже обсуждалось. формат spare области не "общепринятый". Байты ECC не на тех позициях и не в том порядке. Поэтому на флешке будут присутствовать два формата ECC и будут друг на друга ругаться.
Загрузчик уже есть. Например этот. Ну или у-бут. Я тут тоже выкладывал первичный загрузчик (правда с SD карты). Функция чтения страницы с нандины есть в ROM. Как ее пользовать - есть в qi-boot'е, с поправкой на другие адреса.


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


Частый гость
**

Группа: Участник
Сообщений: 75
Регистрация: 25-07-04
Из: Rostov-on-Don
Пользователь №: 382



Цитата(Dron_Gus @ Jun 22 2011, 16:17) *
2) тут уже обсуждалось. формат spare области не "общепринятый". Байты ECC не на тех позициях и не в том порядке. Поэтому на флешке будут присутствовать два формата ECC и будут друг на друга ругаться.
Загрузчик уже есть. Например этот. Ну или у-бут. Я тут тоже выкладывал первичный загрузчик (правда с SD карты). Функция чтения страницы с нандины есть в ROM. Как ее пользовать - есть в qi-boot'е, с поправкой на другие адреса.


Если с 0 адреса формат будет не HWECC 8bit - то с нанд флэшки ничего не стартанет, просто не загрузятся первые 8кб. Как хранятся остальные данные - это уже кому как нравится, я говорю пока о первых 8кб, на всякий случай приаттачил первую страницу со spare.
Прикрепленные файлы
Прикрепленный файл  page1_8k.rar ( 4.52 килобайт ) Кол-во скачиваний: 32
 
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Jun 23 2011, 10:44
Сообщение #72


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

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



А в чем вопрос то?


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


Частый гость
**

Группа: Участник
Сообщений: 75
Регистрация: 25-07-04
Из: Rostov-on-Don
Пользователь №: 382



Цитата(Dron_Gus @ Jun 23 2011, 14:44) *
А в чем вопрос то?


Д я ж до этого вроде писал - вопрос в работе с k9gag08 c 8Kb страницами и кодом для чтения с HW ECC 8бит протестированным желательно на этой флэшке. В принципе вопрос снят - я нашел реализацию самсунгом NF8_ReadPage_Adv и еще пошагаю по загрузчику внутреннему для уверенности-) Если нетрудно - выложите плиз первые 8кб с областью spare, именно как все лежит во флэшке - интересно посмотреть. Спасибо.
Go to the top of the page
 
+Quote Post
MSL
сообщение Jun 24 2011, 11:01
Сообщение #74


Частый гость
**

Группа: Участник
Сообщений: 75
Регистрация: 25-07-04
Из: Rostov-on-Don
Пользователь №: 382



В общем, проблема была в том, что я пытался работать с 8бит ECC, когда в spare были записаны данные для 4бит ECC и выбран соот-щий тип при загрузки с нанда. Упортсво вызывал мануал самсунга, где говорили что только 8бит ЕСС нужно при старте-)) Единственная вещь, которую я не могу понять - это тысячи однобитных (и не только) ошибок ECC при чтении флэшки - это нормально? Устройство рабочее, инициализируется собственным бутом...
Go to the top of the page
 
+Quote Post
serhio
сообщение Jul 22 2011, 09:49
Сообщение #75


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 10-01-06
Из: Украина
Пользователь №: 13 014



Коллеги, у кого есть KIT2416 с установленной на нем модулем SOM2416 ? Не могу понять как там пины GPC5/6/7 подсоединены? Наружу они вроде не выведены... Или может у кого есть схема от SOM2416? И еще вопрос, может пропустил в доках. Какой из хостов MMC используется IROM при копировании BL1?

Сообщение отредактировал serhio - Jul 22 2011, 10:45
Go to the top of the page
 
+Quote Post
DVS
сообщение Dec 19 2011, 04:31
Сообщение #76





Группа: Новичок
Сообщений: 6
Регистрация: 7-04-06
Пользователь №: 15 900



Уважаемые коллеги, поделитесь исходниками uboot свежей версии для SOM2416 для NAND.
Для SD у меня есть бинарник и он работает, а бинарник для NAND прошивается, но после старта сразу следует рестарт. Мои попытки собрать uboot 1.1.6 даже под SD не увенчались успехом.
Вобщем хэлп...
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 19:12
Рейтинг@Mail.ru


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