GenaSPB 11 3 декабря, 2009 Опубликовано 3 декабря, 2009 · Жалоба Кажется, начало находиться... Это оно? (кусочек инициализации от openocd): soft_reset_halt # RSTC_CR : Reset peripherals mww 0xfffffd00 0xa5000004 # disable watchdog mww 0xfffffd44 0x00008000 # enable user reset mww 0xfffffd08 0xa5000001 # CKGR_MOR : enable the main oscillator mww 0xfffffc20 0x00000601 sleep 10 # CKGR_PLLR: 96.1097 MHz mww 0xfffffc2c 0x00481c0e sleep 10 # PMC_MCKR : MCK = PLL / 2 ~= 48 MHz mww 0xfffffc30 0x00000007 sleep 10 # MC_FMR: flash mode (FWS=1,FMCN=73) mww 0xffffff60 0x00490100 sleep 100 То есть, мне надо писать в регистры так, как это делал бы процессор? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KRS 1 3 декабря, 2009 Опубликовано 3 декабря, 2009 · Жалоба То есть, мне надо писать в регистры так, как это делал бы процессор? Это список команд которые дают на выполнение процессору. Да насколько я помню у ARM7 можно прямо через JTAG заставить выполнить команду не записывая ее в память и результат так же считать ( т.е. шина ARM ядра просто в scan chain выведена) - так что можно и скрипт написать для urjtag на основе этого от openocd. Только Вам тогда надо на сайте ARM документацию на ARM Embeddedice, например ARM7TDMI Debug Architecture http://infocenter.arm.com/help/topic/com.a...ug_appsnote.pdf Но это такая - серьезная работа! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 23 февраля, 2010 Опубликовано 23 февраля, 2010 (изменено) · Жалоба Кажется, скоро появится возможность исользовать 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.html 30 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 не интересует. Изменено 23 февраля, 2010 пользователем Genadi Zawidowski Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 18 23 февраля, 2010 Опубликовано 23 февраля, 2010 · Жалоба Может кто-нибудь поделиться скриптом для 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 подправьте под себя. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 23 февраля, 2010 Опубликовано 23 февраля, 2010 (изменено) · Жалоба Сообщение об ошибке не изменилось... Как и в ручном режиме (через telnet) - после выдачи halt получаю сообщение о том, что с cpsr не то значение и так далее... C:\user\dds2\TC1>openocd -d0 -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: 0 30 kHz srst_only srst_pulls_trst srst_gates_jtag srst_open_drain Error: invalid mode value encountered 1 Error: cpsr contains invalid mode value - communication failure TargetName Type Endian TapName State -- ------------------ ---------- ------ ------------------ ------------ 0* at91sam7s.cpu arm7tdmi little at91sam7s.cpu unknown Error: invalid mode value encountered 1 Error: cpsr contains invalid mode value - communication failure Error: invalid mode value encountered 1 Error: cpsr contains invalid mode value - communication failure Runtime error, file "command.c", line 473: Да, эта же плата через тот же 20-пин разъём шъётся wiggler-ом через h-jtag без проблем. Изменено 23 февраля, 2010 пользователем Genadi Zawidowski Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 18 23 февраля, 2010 Опубликовано 23 февраля, 2010 · Жалоба Сообщение об ошибке не изменилось... Значит не работает:) Насколько я в курсе, поддержка rlink там в зачаточном состоянии. У меня есть плата с rlink, но там stm32, и прицеплен он по SWD (альтенратива JTAG), а его (SWD) openocd точно не поддерживает. Откуда вы взяли, что оно вообще заработает? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 23 февраля, 2010 Опубликовано 23 февраля, 2010 (изменено) · Жалоба Откуда вы взяли, что оно вообще заработает? Исходя из того, что reset из j-tag адаптера выходит (тестовая плата перезапускается) и остальные команды выполняются - о чём сообщает всякая диагностика подключёного к j-tag процессора. То есть, нижний уровень работает. Да, openocd + wiggler тоже не грузят программу. Только hjtag + wiggler. Вывод - я как-то не так обращаюсь с openocd. Но что ещё, кроме конфигурационных файлов, может влиять? Изменено 23 февраля, 2010 пользователем Genadi Zawidowski Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 28 февраля, 2010 Опубликовано 28 февраля, 2010 (изменено) · Жалоба Коллеги, ничего не сдвинулось с места... Инсталирован 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 идёт успешное программирование. Изменено 28 февраля, 2010 пользователем Genadi Zawidowski Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexx188 0 7 октября, 2012 Опубликовано 7 октября, 2012 · Жалоба Три года прошло - сдвиги какие-нибудь есть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 7 октября, 2012 Опубликовано 7 октября, 2012 (изменено) · Жалоба Три года прошло - сдвиги какие-нибудь есть? На следующий день я научил работать 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 тоже не попалось. АНТОХА, Ваш скрипт у меня и с сеггером не работает. Изменено 7 октября, 2012 пользователем Genadi Zawidowski Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ReAl 0 8 октября, 2012 Опубликовано 8 октября, 2012 · Жалоба Странно. Вот таким 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 и пересобираю). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexx188 0 28 ноября, 2012 Опубликовано 28 ноября, 2012 (изменено) · Жалоба Я таки заставил работать связку 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 Все отлично работает без сбоев. Только скорость удручает. Зато решение универсальное. :08: P.S. openocd 0.6.1 Изменено 28 ноября, 2012 пользователем A.P. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Марина Савина 0 24 октября, 2022 Опубликовано 24 октября, 2022 · Жалоба Здравствуйте не подскажете как прошить nokia c01 ta 1383 через jtag программатор altera usb blaster (ft245 + cpld)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться