|
ALTERA USB BLASTER use as JTAG programmer, научить ALTERA USB BLASTER зашивать по JTAG AT91SAM7S* |
|
|
|
Feb 23 2010, 18:44
|

Профессионал
    
Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634

|
Кажется, скоро появится возможность исользовать Altera USB Blaster. Сконфигурировать UrJtag для записи в мне так и не удалось... Но новый openocd 0.4.0 теперь имеет поддержку адаптера Altera USB Blaster. Пока тренируюсь на плате с at91sam7s32 и Raisonance USB JTAG. Конфигурирование проходит, но для любой операции с flash требуется процессор приостановить... а в ответ получаю: Цитата Open On-Chip Debugger 0.3.1 (2009-11-13-16:13) $URL$ For bug reports, read http://openocd.berlios.de/doc/doxygen/bugs.html30 kHz srst_only srst_pulls_trst srst_gates_jtag srst_open_drain Warn : use 'sam7s32.cpu' as target identifier, not '0' Warn : The lowest supported JTAG speed is 375 KHz Warn : The lowest supported JTAG speed is 375 KHz Info : clock speed 375 kHz Info : JTAG tap: sam7s32.cpu tap/device found: 0x3f0f0f0f (mfg: 0x787, part: 0xf0f0, ver: 0x3) Info : Embedded ICE version 1 Warn : The lowest supported JTAG speed is 375 KHz Warn : The lowest supported JTAG speed is 375 KHz 375 kHz Info : JTAG tap: sam7s32.cpu tap/device found: 0x3f0f0f0f (mfg: 0x787, part: 0xf0f0, ver: 0x3) Warn : srst pulls trst - can not reset into halted mode. Issuing halt after reset. Error: invalid mode value encountered 1 Error: cpsr contains invalid mode value - communication failureexpected return code but got 'TARGET: sam7s32.cpu - Not halted' Runtime error, file "openocd.cfg", line 78: Может кто-нибудь поделиться скриптом для openocd, который бы просто записывал во внутренний flash процессора файл? Отладка через jtag не интересует.
Сообщение отредактировал Genadi Zawidowski - Feb 23 2010, 18:48
|
|
|
|
|
Feb 23 2010, 18:59
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Цитата(Genadi Zawidowski @ Feb 23 2010, 23:44)  Может кто-нибудь поделиться скриптом для openocd, который бы просто записывал во внутренний flash процессора файл? prog-elf.bat: Код @echo off set PATH=C:\tools\OpenOcd\bin;%PATH% set INTERFACE=jlink.cfg set TARGET=stm32f10x_128k_eval.cfg @openocd -d0 -f interface/%INTERFACE% -f target/%TARGET% -c init -c targets -c "halt" -c "flash write_image erase %1" -c "verify_image %1" -c "reset run" -c shutdown INTERFACE и TARGET подправьте под себя.
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
Feb 23 2010, 20:08
|

Профессионал
    
Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634

|
Цитата(AHTOXA @ Feb 23 2010, 22:34)  Откуда вы взяли, что оно вообще заработает? Исходя из того, что reset из j-tag адаптера выходит (тестовая плата перезапускается) и остальные команды выполняются - о чём сообщает всякая диагностика подключёного к j-tag процессора. То есть, нижний уровень работает. Да, openocd + wiggler тоже не грузят программу. Только hjtag + wiggler. Вывод - я как-то не так обращаюсь с openocd. Но что ещё, кроме конфигурационных файлов, может влиять?
Сообщение отредактировал Genadi Zawidowski - Feb 23 2010, 20:20
|
|
|
|
|
Feb 28 2010, 22:55
|

Профессионал
    
Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634

|
Коллеги, ничего не сдвинулось с места... Инсталирован openocd 0.3.1 _без каких_либо_изменений_в _конфигах (кроме адреса порта в parport.cfg). Запуск командной строки приведённой ниже что с rlink, что с parport с классическим wiggler выдяёт практически одинаковые сообщения: Код C:\user\dds2\TC1>openocd -d1 -f interface/rlink.cfg -f target/at91sam7sx.cfg -c init -c targets -c "halt" -c "flash write_image erase " -c "verify_image .\at91sam7s\tc1.elf" -c "reset run" -c shutdown Open On-Chip Debugger 0.3.1 (2009-11-13-16:13) $URL$ For bug reports, read http://openocd.berlios.de/doc/doxygen/bugs.html debug_level: 1 srst_only srst_pulls_trst srst_gates_jtag srst_open_drain Warn : use 'at91sam7s.cpu' as target identifier, not '0' Error: 0 is not a supported speed TargetName Type Endian TapName State -- ------------------ ---------- ------ ------------------ ------------ 0* at91sam7s.cpu arm7tdmi little at91sam7s.cpu running Error: invalid mode value encountered 1 Error: cpsr contains invalid mode value - communication failure Runtime error, file "command.c", line 473: jtag_speed или jtag_khz ставил разные... При других debug level видно, что всё начинается после init. Тот же wiggler при работе из-под hjtag без проблем делает всё что надо и плата программируется. (не аппаратура виновата, похоже). Кто-нибудь может прислать работающий вариант конфигов и командного файла, прошивающего flash контроллера at91sam7s-какогоугодно или at91sam9xe512 ? Кроме того, будет интересно узнать с какой версией openocd идёт успешное программирование.
Сообщение отредактировал Genadi Zawidowski - Feb 28 2010, 22:59
|
|
|
|
|
Oct 7 2012, 16:06
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 9-05-11
Пользователь №: 64 879

|
Три года прошло - сдвиги какие-нибудь есть?
|
|
|
|
|
Oct 7 2012, 21:16
|

Профессионал
    
Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634

|
Цитата(A.P. @ Oct 7 2012, 20:06)  Три года прошло - сдвиги какие-нибудь есть? На следующий день я научил работать STK-200 с h-jtag (http://electronix.ru/forum/index.php?showtopic=60978), потом купил sam-ice (http://electronix.ru/forum/index.php?showtopic=77054) (потому, что это сразу пошёл и купил), потом купил стартеркитовский девайс в чёрной котробочке (пара недель почтой). С тех пор и по сей день прошиваю флэши процессоров через j-flash arm, хотелось бы конечно командную строку, но как-то интерес к openocd и альтеровскому байтбластеру поутих. К стати, работающего скрипта для прошивки внутреннего флэша через тот же segger j-tag тоже не попалось. АНТОХА, Ваш скрипт у меня и с сеггером не работает.
Сообщение отредактировал Genadi Zawidowski - Oct 7 2012, 21:23
|
|
|
|
|
Oct 8 2012, 05:40
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
Странно. Вот таким J-Link в вот такую плату SK-MLPC1768 для проверки иногда зашиваю исходное содержимое флеша такой командой. Код openocd -f interface/jlink.cfg -f ./lpc1766.cfg -c init -c targets -c "reset_config srst_only" -c "reset init"\ -c halt -c "flash write_image erase original.bin" -c "reset run" -c shutdown При работе шьётся из редактора через Makefile, но там то же самое набирается из настроек проекта. Собственно, из Makefile от AHTOXA для scmRTOS/Cortex-M3 и было ©тырено, только управление сбросом добавил. p.s. Это всё в линуксе (убунты 10.04/64 и 12.04/32) самосборным OpenOCD (время от времени git pull и пересобираю).
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Nov 28 2012, 13:56
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 9-05-11
Пользователь №: 64 879

|
Я таки заставил работать связку altera usb_blaster + openocd + stm32 Если кому интересно вот мой конфиг: Код telnet_port 4444 interface usb_blaster usb_blaster_vid_pid 0x09fb 0x6001 usb_blaster_device_desc "USB-JTAG-IF" source [find target/stm32f1x.cfg] adapter_khz 3000 А вот команды для gdb Код target remote :3333 monitor reset init load Debug/test.elf Все отлично работает без сбоев. Только скорость удручает. Зато решение универсальное.  P.S. openocd 0.6.1
Сообщение отредактировал A.P. - Nov 28 2012, 13:59
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|