ЗАО «ЗЭО»
Техническая поддержка пользователей => Windows CE, EBoot => Тема начата: lexaiu4 от 13 Мая, 2009, 11:39:50
-
Здравствуйте!
Не подскажите возможно ли без jtag перепрошить из eboot u-boot?
-
Добрый день.
Возможно. Инструкция находится тут http://www.zao-zeo.ru/dokuwiki/doku.php/eboot#установка_загрузчика_eboot_или_u-boot_из_eboot (http://www.zao-zeo.ru/dokuwiki/doku.php/eboot#установка_загрузчика_eboot_или_u-boot_из_eboot)
-
Добрый день.
У меня имеется плата Тион-Про, на которой изначально был установлен WinCE. Но так как для работы мне необходим Линукс, то установил на плату RedBoot - встал без проблем. А сейчас решил испробовать загрузчик U-Boot для загрузки Линукса и столкнулся с проблемой - при старте нет никаких сообщений в СОМ1. В документе "Руководство по программному освоению Тиона, Тиона-Про, Тиона-Про v2" (programming-v1.pdf) сказано: Следует учитывать, что U-Boot не всегда может стартовать при включении питания или сбросе. Это связано с тем, что процессор производит опрос на наличие загрузчиков сначала в последовательной памяти, а затем — в параллельной. И, если в оследовательную Flash до этого устанавливался загрузчик (например, для загрузки Windows®), будет стартовать именно он. Поэтому, если при правильном выполнении всех указанных действий не наблюдается старт U-Boot, следует стереть или перезаписать последовательную Flash так, чтобы в первых байтах этой Flash не присутствовала сигнатура загрузчика.
Что собственно у меня и произошло. А как именно "стереть или перезаписать последовательную Flash" не указано :(.
Пробовал создать файл null_spi.bin размером 256к, который "полностью заполнен" байтами 0xFF, и залить его в SPI:
download.exe -s 2 -b 9600 null_spi.bin
Но это не помогло.
В документе, который Вы рекомендовали использовать выше, приведен только способ перехода c eboot на u-boot, а он в моем случае уже не подходит.
Могли бы подсказать как же завести мне U-Boot на Тион-Про?
Заранее благодарен за ответ.
-
> А как именно "стереть или перезаписать последовательную Flash" не указано Грустный.
>
>Пробовал создать файл null_spi.bin размером 256к, который "полностью заполнен" байтами 0xFF, и залить его в SPI:
> download.exe -s 2 -b 9600 null_spi.bin
Верно, но достаточно было бы и меньшего размера, чтобы удалить сигнатуру нужную EP93xx.
Если вы удалили эту сигнатуру, то процессор начинает загружаться из параллельной Flash.
Для записи U-Boot в парал. Flash следуйте инструкциям
http://www.zao-zeo.ru/dokuwiki/doku.php/linux-faq#как_записать_загрузчик_во_flash
Если ничего не будет на COM1, то напишите последовательность ваших действий подробнее.
В JTAG у вас нет никакой необходимости.
-
> А как именно "стереть или перезаписать последовательную Flash" не указано Грустный.
>
>Пробовал создать файл null_spi.bin размером 256к, который "полностью заполнен" байтами 0xFF, и залить его в SPI:
> download.exe -s 2 -b 9600 null_spi.bin
Верно, но достаточно было бы и меньшего размера, чтобы удалить сигнатуру нужную EP93xx.
Если вы удалили эту сигнатуру, то процессор начинает загружаться из параллельной Flash.
Для записи U-Boot в парал. Flash следуйте инструкциям
http://www.zao-zeo.ru/dokuwiki/doku.php/linux-faq#как_записать_загрузчик_во_flash
Если ничего не будет на COM1, то напишите последовательность ваших действий подробнее.
В JTAG у вас нет никакой необходимости.
Если я Вас правильно понял, то мне надо вместо download.exe uboot.bin использовать команду download.exe -s 2 -b 9600 uboot.bin?
А как можно восстановить сигнатуру, необходимую для ЕР93хх, чтобы загрузка начиналась с флеша, а не с ЕEПРОМа?
В моем случае получается, что я и RedBoot смогу поместить в EEPROM, и тем самым "сэкономить место" на флеше :)
-
Вариант с download.exe -s 2 -b 9600 ubot.bin не помог...
Делаю следующее (тион-про выключен):
1. Снял перемычку BOOT0
2. Выполнил команду
D:\WORK\Tion\utils>download.exe -s 2 -b 9600 u-boot-1.3.3_svn349_tion-pro.bin
и включил питание на плату.
Результат
Successfully programmed 'u-boot-1.3.3_svn349_tion-pro.bin'.
3. Выключил питание, надел перемычку BOOT0.
4. Включил питание... на СОМ1 - тишина.
Ладно... повтовторил описаную последовательность, только поменял пункт 2
D:\WORK\Tion\utils>download.exe u-boot-1.3.3_svn349_tion-pro.bin
Flash Manufacture ID:001f, Device ID:01c8
Successfully programmed 'u-boot-1.3.3_svn349_tion-pro.bin'.
Результат аналогичен - на СОМ1 тишина.
Пробую установить RedBoot:
D:\WORK\Tion\utils>download.exe redboot_322D.bin
Flash Manufacture ID:001f, Device ID:01c8
Successfully programmed 'redboot_322D.bin'.
В результате на СОМ1 имеем:
+**Warning** FLASH configuration checksum error or invalid key
Use 'fconfig -i' to [re]initialize database
EP93xx - no EEPROM, static ESA, or RedBoot config option.
No network interfaces found
RedBoot(tm) bootstrap and debug environment [ROMRAM]
Non-certified release, version UNKNOWN - built 16:31:15, May 28 2007
Platform: Cirrus Logic EDB9312 Board (ARM920T) Rev A
Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.
Copyright (C) 2003, 2004, 2005, 2006 eCosCentric Limited
RAM: 0x00000000-0x04000000, [0x00042e80-0x03fdd000] available
FLASH: 0x60000000 - 0x60800000, 64 blocks of 0x00020000 bytes each.
RedBoot>
Образ U-Boot брал с вашего сайта http://www.zao-zeo.ru/media/files/u-boot/u-boot-1.3.3_svn349_tion-ep93xx-series_bin.tar.gz (http://www.zao-zeo.ru/media/files/u-boot/u-boot-1.3.3_svn349_tion-ep93xx-series_bin.tar.gz). RedBoot - с диска, который с платой шел.
У Вас в документации указывается, что u-boot нельзя установить на флеш AT49BV322А, но в моем случае используется флеш AT49BV322D.
Или все же на Тион-Про нельзя установить u-boot?
-
> Если я Вас правильно понял, то мне надо вместо download.exe uboot.bin использовать команду download.exe -s 2 -b 9600 uboot.bin?
Нет, U-Boot записывается в парал. Flash командой 'download uboot.bin'
> А как можно восстановить сигнатуру, необходимую для ЕР93хх, чтобы загрузка начиналась с флеша, а не с ЕEПРОМа?
Вам нужно чтобы в EPROM небыло сигнатуры. Если ее там нет, то выполняется попытка загрузки из парал. Flash.
> В моем случае получается, что я и RedBoot смогу поместить в EEPROM, и тем самым "сэкономить место" на флеше
Я не уверен, что при таком размещении RedBoot будет работать.
-
>Ладно... повтовторил описаную последовательность, только поменял пункт 2
Наконец-то
>Код:
> D:\WORK\Tion\utils>download.exe u-boot-1.3.3_svn349_tion-pro.bin
> Flash Manufacture ID:001f, Device ID:01c8
> Successfully programmed 'u-boot-1.3.3_svn349_tion-pro.bin'.
> Результат аналогичен - на СОМ1 тишина.
Скорость порта 57600 без управления потоком?
> У Вас в документации указывается, что u-boot нельзя установить на флеш AT49BV322А, но в моем случае используется флеш AT49BV322D.
На AT49BV322А не могу посмотреть, на AT49BV322D -- работает.
> Или все же на Тион-Про нельзя установить u-boot?
Можно, работает.
-
> Если я Вас правильно понял, то мне надо вместо download.exe uboot.bin использовать команду download.exe -s 2 -b 9600 uboot.bin?
Нет, U-Boot записывается в парал. Flash командой 'download uboot.bin'
> А как можно восстановить сигнатуру, необходимую для ЕР93хх, чтобы загрузка начиналась с флеша, а не с ЕEПРОМа?
Вам нужно чтобы в EPROM небыло сигнатуры. Если ее там нет, то выполняется попытка загрузки из парал. Flash.
Что-то я запутался :)... В техн. документации на Тион-Про написано "есть флеш на 8 Мб и параллельный флеш на 256 кб". В хелпе утилиты download указано, что она работает с NOR-флешом и SPI EEPROM. Как я понимаю SPI - это интерфейс доступа, EEPROM - ПЗУшка. Комбинация SPI EEPROM - это и есть параллельный флеш на 256кб или всеже "это 2 разных девайса"?
Так же в хелпе указано
-s <device> Program the specified image into storage device, the EEPROM
or the NOR FLASH. (default is "1"). Valid
values are 1 (NOR FLASH) and 2 (EEPROM).
Таким образом команда 'download uboot.bin' запишет образ в NOR-флеш а не в параллельный флеш.
На счет сигнатуры в ЕЕПРОМ... Редбут устанавливаю командой 'download redboot.bin', т.е. в nor-флеш, и он загружается ведь :-\. Т.е. никаких сигнатур в ЕЕПРОМе нет. При этом еепром до этого в 0xFF 256кб записал... Каким образом сигнатуру из ЕЕПРОМа убрать (на всякий случай)?
>Код:
> D:\WORK\Tion\utils>download.exe u-boot-1.3.3_svn349_tion-pro.bin
> Flash Manufacture ID:001f, Device ID:01c8
> Successfully programmed 'u-boot-1.3.3_svn349_tion-pro.bin'.
> Результат аналогичен - на СОМ1 тишина.
Скорость порта 57600 без управления потоком?
57600 8N1 без управления потоком... Аналогичные настройки и у Редбута - и с ним все ок. Если бы даже я "не угадал со скоростью" и данные в СОМ1 выдавались - то я бы их все равно увидел... мусор сыпался бы в терминале. Но у меня вообще ничего нет. Может что-то с самим образом убута не то? МОжет настроечные джампера на плате нужно другим образом замкнуть (сейчас замкнуты BOOT0, BOOT1 и ASD0 [ближний к BOOT1]) или я уже и не знаю в какой бубен стучать чтобы завелося :).
-
> Что-то я запутался Улыбающийся... В техн. документации на Тион-Про написано "есть флеш на 8 Мб и параллельный флеш на 256 кб".
Каюсь, документацию не читал.
8 MB -- NOR, параллельная.
256 kB -- SPI (Serial Peripheral Interface), EPROM, последовательная.
> Т.е. никаких сигнатур в ЕЕПРОМе нет. При этом еепром до этого в 0xFF 256кб записал... Каким образом сигнатуру из ЕЕПРОМа убрать (на всякий случай)?
Вы ее уже убрали, если записали туда единицы.
Если у вас запускается RedBoot, то и U-Boot должен работать.
Плата зеленым светодиодом не мигает?
> мусор сыпался бы в терминале.
Бывает и нет, зависит от терминала и сочетания скоростей.
-
> Что-то я запутался Улыбающийся... В техн. документации на Тион-Про написано "есть флеш на 8 Мб и параллельный флеш на 256 кб".
Каюсь, документацию не читал.
8 MB -- NOR, параллельная.
256 kB -- SPI (Serial Peripheral Interface), EPROM, последовательная.
> Т.е. никаких сигнатур в ЕЕПРОМе нет. При этом еепром до этого в 0xFF 256кб записал... Каким образом сигнатуру из ЕЕПРОМа убрать (на всякий случай)?
Вы ее уже убрали, если записали туда единицы.
Если у вас запускается RedBoot, то и U-Boot должен работать.
Плата зеленым светодиодом не мигает?
> мусор сыпался бы в терминале.
Бывает и нет, зависит от терминала и сочетания скоростей.
Сам тоже ошибся :)... 8 Мб ПЗУ (Flash).Последовательное ПЗУ – 2МБит.
сорри.
Нет... лампочка зеленным не моргает. Такое я наблюдал, когда пробывал залить образ uboot при помощи FlashUtl.bat. ПРи этом при потытке очистить флеш командой 'е' возвращался код ошибки 69, а не 0 - как в документации указано. ЧТо значит эта ошибка в иннете узнать не удалось. А может uboot тупо в СОМ-порт ничего не выдает... а только на TFT все валит? (вериться в такое с трудом)
-
> Нет... лампочка зеленным не моргает. Такое я наблюдал, когда пробывал залить образ uboot при помощи FlashUtl.bat.
Значит процессор нашел что ему загрузить, и если вы очистили EPROM, то нашел он в парал. Flash.
Не знаю, в чем у вас дело. Перепроверил взятый с сайта U-Boot на Тион-Про с AT49BV322D, нормально запускается.
> А может uboot тупо в СОМ-порт ничего не выдает... а только на TFT все валит? (вериться в такое с трудом)
Было бы не плохо, только мы такого еще не делали.
-
Перепроверил взятый с сайта U-Boot на Тион-Про с AT49BV322D, нормально запускается.
Файл: u-boot-1.3.3_svn349_tion-pro.bin (109380 байт)
MD5: 19e0cf39e695b043844e79034f68ab73
?
У меня 2 платы Тион-Про... на обоих uboot в СОМ1 ничего не валит... хоят зеленая лампочка горит не моргая... может кабель его не устраивает - а redboot на эт плевать :) ?
-
Как его кабель может не устраивать, там всего три провода.
Да, u-boot-1.3.3_svn349_tion-pro.bin
контр. сумму см. в файле md5.sum в архиве.
Попробуйте программой download стереть 512 kB из _параллельной_ Flash
(место для U-Boot с его переменными) а потом запишите туда U-Boot.
-
Попробуйте программой download стереть 512 kB из _параллельной_ Flash
Что-то опции такой нету у утилиты... фаликом с 0xff чтоль воспользоваться?
посмотрел md5:
из архива - 75ad271afd8906fd228c93515e98347e ./u-boot-1.3.3_svn349_tion-pro.bin
в тотале посчитал - 19e0cf39e695b043844e79034f68ab73 *u-boot-1.3.3_svn349_tion-pro.bin
странно....
-
Так и есть... Far, гнида, при копировании из архива файл сделал больше :)...
Теперь все вроде запустилось... СЕнкс!
-
> фаликом с 0xff чтоль воспользоваться?
Да
> посмотрел md5:
> из архива - 75ad271afd8906fd228c93515e98347e ./u-boot-1.3.3_svn349_tion-pro.bin
> в тотале посчитал - 19e0cf39e695b043844e79034f68ab73 *u-boot-1.3.3_svn349_tion-pro
http://downloads.activestate.com/contrib/md5sum/Windows/md5sum.exe
md5sum.exe -c md5.sum
./u-boot-1.3.3_svn349_tion-pro.bin: OK
./u-boot-1.3.3_svn349_tion.bin: OK
./u-boot-1.3.3_svn349_tion-pro2.bin: OK
-
По недосмотру досталась нам плата с WinCE. Сами виноваты. Но тем не менее сейчас нужен Линукс.
По инструкции на http://www.zao-zeo.ru/dokuwiki/doku.php/eboot можно зашить только другой eboot, потому как .bin формат который ему требуется ни разу не "сырой", а хитрый с секциями (как описано здесь: http://msdn.microsoft.com/en-us/library/ms924510.aspx). Образы U-boot что выложенные на сайте, что компилируемые вручную очевидно "сырые". Так что главный вопрос это есть ли у Вас U-boot в таком формате. Очень не хочется возиться с JTAG.
-
> Так что главный вопрос это есть ли у Вас U-boot в таком формате.
Нет, но
http://srecord.sourceforge.net/
умеет msbin
Я не пробовал.
-
Действительно, последняя версия умеет.
Конвертировать очевидно лучше из srec-файла u-boot-1.3.3_svn381_tion-pro270.srec. Но srec_info говорит что в нём Data 0xA3F00000-0xA3F1C70F и Execution start address: 0xA3F00000.
Eboot.bin имеет Image start 0xBCA00000 и LaunchAddr 0xBCA01000.
Карту памяти (http://www.zao-zeo.ru/dokuwiki/doku.php/tion270_memory_addr) посмотрел. Какие тогда надо прописать адреса в .bin-файл чтобы правильно прошить U-boot?
-
Я не знаю почему "Eboot.bin имеет Image start 0xBCA00000", это уже не RAM
Если Danila согласиться попробовать, то попробуем.
Тем не менее, было бы проще с JTAG и, возможно, что этим всё и закончится.
-
С JTAG проще тем у кого есть программатор, переходник и настроенный софт. У нас есть программатор, а всё остальное требует времени, которого, к сожалению, катастрофически не хватает. Мне кажется было бы лучше единожды решить вопрос программно и внести метод в документацию на сайте.
P.S. с целью экономии чужого времени могу отдать в общую копилку кросс-компилятор x86_64-arm (EABI) и КФС с установленным и работающим Debian 5.0 armel (минимальная установка). Умеет ставить пакеты и обновляться через apt.
-
> программатор
Какой?
-
IAR J-trace валяется с давних времён. Коллега им AT91 в незапамятные времена прошивал. Что им можно прошиться -- нет сомнений. Но надо ставить софт, разбираться и паять переходник при полном отсутствии 2мм разъёмов и шлейфов. Если программно не удастся, то придётся. А пока хотелось бы верить в то что это необязательно.
-
Попробовали, но без толку. Eboot использует виртуальные адреса, U-Boot -- нет: Eboot файл загружает и получаем ошибку о неверном вирт. адресе.
-
Не сдаётся творение Билла Гейтса. Решил всё же заджтаггиться.
Segger J-trace поддерживает что угодно кроме семейства XScale. Т.е. J-link commander находит процессор, читает правильный ID, но потом сердится что Core unsupported.
Взял во временное пользование Olimex JTAG-ARM. Поставил openocd под линукс. Не работает. Не находит процессор вообще. Ввиду того что с первым программатором всё вобщем-то нормально, то думаю что переходник (по схеме с вашего сайта) правильный. Единственное что пока приходит в голову это сделать провода переходника как можно более короткими. Если и это не поможет, то наверное единственным вариантом будет приехать к вам и перешиться.
-
OpenOCD собирали? Мы пользуемся Olimex JTAG-ARM и OpenOCD.
-
Собирали. Вобщем сейчас с этим arm-jtag удалось понять следуещее: на всех линиях JTAG (кроме nTRST) при попытке соединиться сигналы есть, а вот на TDO -- тихо. Не хочет процессор откликаться...
Кстати судя по внутренностям arm-jtag в файле надо указывать parport_cable arm-jtag, а не parport_cable wiggler, потому как ntrst сидит у него на D0, а не D5.
Буду думать что ещё можно сделать.
-
> файле надо указывать parport_cable arm-jtag, а не parport_cable wiggler
Как работало, так и написали.
-
У меня к сожалению никак не работает.
Реален ли вариант приехать к вам и перешиться?
-
> Реален ли вариант приехать к вам и перешиться?
Предупредите заранее и приезжайте.
-
Мне было бы удобно завтра. Если завтра это невозможно, то скажем в понедельник утром.
Ехать я так понимаю надо к м. Отрадное.
-
По "счастливой" случайности завтра тоже можно, часов в 12.
> Ехать я так понимаю надо к м. Отрадное
http://www.zao-zeo.ru/about/contacts.html
-
Хорошо.
Я тогда ближе к 12ти позвоню по телефону в "Контактах" и уточню чего и как.
-
Dimka
у Вас, я так понял, для Тион-Про 270 КФС с Debian. А для Тион-Про2 не собирали?