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

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

В крайнем случае будете долго и нудно лить образ по x-modem'у в убут.

 

JTAG то есть. Целая коллекция. В том числе кабель на пар порт от этой платы. Но еще не подключал: для 2440 было не надо.

А вот xmodem (вернее Ymodem) - идея неплохая. 3 минуты можно потерпеть. Но все же Вы писали что загружали через USB. Как?

В моем убуте есть команда "dnw" которая должна включать USB, но не похоже чтобы работала...

И неужели никто не научился писать MMC чтобы загружались? Я даже подозреваю что из за другой главной платы какие то конигурационные ножки не туда подключены. Только какие?

 

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


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

В у-буте вроде есть функция загрузки. Не пробовал.

Я грузил через жтаг во внутреннюю память програмку, она уже принимала файло по 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 . Я не пробовал толком. Но предстоит.

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


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

Я грузил через жтаг во внутреннюю память програмку, она уже принимала файло по 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

 

Тот же результат :(

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


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

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

 

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

 

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

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


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

Послал.

 

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

 

она записывает не только u-boot но еще и ядро и образ диска по физическим секторам на MMC.

Еще бы 2416 это читал...

 

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


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

она записывает не только u-boot но еще и ядро и образ диска по физическим секторам на MMC.

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

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


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

Да. Только загркзчика, чтобы это все читать я не находил. А если писать свой, то можно к нему 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-а.

 

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


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

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

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


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

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

Я так понял что u-boot на MMC разбит на 2 части. 8К живет на последних секторах (кроме 2х совсем последних).

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

 

Теперь еще вопрос. А как собственно через jtag грузить код? Если бы я пользовался KEIL или IAR тулзами то наверное там есть опция загрузки через jtag. У меня пока установлен H-JTAG который успешно видит процессор, но дальше нужна какая то прилада.

Существует программа sjf2410 которая пишет через jtag прямо в флеш. А как в память? Может OPEN OCR надо? Или что посоветуете?

 

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


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

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

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


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

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

 

И я к тому же пришел. С процессором говорю через OpenOCD. load_image тоже вроде работает. Расскажу если будет полный успех. Спасибо.

 

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


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

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

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


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

JTAG - мощное оружие в руках пролетариата умственного труда. Удалось пока установить что u-boot таки загружается в память.

Обе части - сначала 8К которые инициализируют SDRAM и прочее а потом и остальное.

Оказалось что схема приложенная к модулю не правильная и тумблер который для 2440 переключал ОМ0 здесь честно включает iROM. Как уже писал с ММС загрузкой пишет ОК и все. Но JTAG говорит что при этом в основной памяти (0xc3e0xxxx) успешно сидит U-boot, только у меня ничего кроме ОК не пишет. Буду разбираться дальше.

Ваша утилита к сожалению как есть не работает а пересобрать ее на GCC оказалось большой головняк из за ассемблера. Зато нарыл совсем простой код "vboot" который собирается легко. Буду его запускать с ММС а там посмотрим.

 

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


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

Зато нарыл совсем простой код "vboot" который собирается легко. Буду его запускать с ММС а там посмотрим.

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

 

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

 

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

 

З.Ы. то еще развлечение. :)

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


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

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

 

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

План такой:

 

1. вместо загрузки ядра вставить примитивный "монитор" чтобы убедиться что загрузка работает.

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

 

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

при холодном старте и инициализирует SDRAM и пишет на консоль.

 

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

 

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

 

vboot_20100106.zip

 

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

 

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

 

 

 

 

>>то еще развлечение.

Ага. Особенно в выходной :)

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


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

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

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

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

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

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

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

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

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

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