Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SWD не работает
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
cebotor
Возникла острая надобность использовать SWD в STM32 серии.
Пробовал все что можно - заработала только спарка KEIL | ULINC cortex ME,
однако для прошивания имеющихся hex ов (серийка) ulink не подходит капитально ибо не
имеет софта соответственного предназначения

В распоряжении имеються - два клона jlink- а ( mtlink и jetlink)

Оба они только что обновились до фирмваре J-link compiled Mar 3 2008 19:52:16 rev 5.
и оба они как и прежде при попытке сконнектиться по swd в ИАРе выдают сообщение:

Fatal error: SWD is not supported by connected emulator.
в файле лога это выглядит так :

T0118 166:002 JLINKARM_GetFirmwareString(...) (0000ms, 0002ms total)
T0118 166:002 JLINKARM_TIF_Select(JLINKARM_TIF_SWD) returns 0x01 (0000ms, 0002ms total)

В чем причина засора ? То ли эти клоны только делают вид что обновляються , и прописывают в себя только версию фирмваре ? То ли с фирменным Jlink-ом то же самое .

USB jtag -и на основе open ocd (ftdiи иже с ними) тоже мучал долго .- результат - 0 .
Andy Great
Кейл можно запускать с ключиком, при котором происходит заливка. В том числе через ULink
cebotor
Цитата(Andy Great @ Mar 25 2008, 16:03) *
Кейл можно запускать с ключиком, при котором происходит заливка. В том числе через ULink

я даже не в курсе , а как ему при этом подсунуть конкретный хекс ? куда то положить ?
Andy Great
Предполагается, что он в Кейле и сделан...
cebotor
Цитата(Andy Great @ Mar 25 2008, 17:04) *
Предполагается, что он в Кейле и сделан...

Предполагается не использовать кейл , нужен просто прошивальщик ... есть необходимость заливать файлы сгенеренные другими средами smile.gif
если использовать кейл то только как автомат . с ключиком так можно ?
Andy Great
Я полагаю, что придется сделать скелет проекта в Кейле, потом подсовывать ему выходной файл. Возможно, не хекс даже, а эльф. Я не пробовал.
cebotor
Цитата(Andy Great @ Mar 25 2008, 18:30) *
Я полагаю, что придется сделать скелет проекта в Кейле, потом подсовывать ему выходной файл. Возможно, не хекс даже, а эльф. Я не пробовал.

Извините я не сразу прочитал то , что было написано по ссылке, которую Вы дали sad.gif
Мне удалось элементарно подсунуть hex кейлу, спасибо ! То есть для залития путь есть , но для дебага пока нет ...

Однако хотелось бы понять почему Jlink не работает все таки с swd.
может у кого нить есть Jlink 5 родной и СТМ32 ? попобуйте прошить по swd, а ?
KRS
Так кому нибудь удалось работать через SWD, кроме как через ULINK?

У меня получилось через arm-stellaris-eabi-sprite (но он работает только с люминари) через FTDI FT2232

И вот себе сделал SWD при помощи FT232R или FT245R для использования с синхро бит банг моде ( IMHO этот режим сильно недооценен к тому же этим микросхемам почти не нужны внешние элементы)
Сделал так от FTDI нужно 5 ног din,dout,mode ( переключает режим вход/выход) и reset. ( можно и обычный spi получить если DIN наружу вывести и программировать например AVR).
Хочу прикрутить это к openocd ( главное найти время) пока проверил подключение и считывание IDCODE - все ок. ( пока надо сделать прошивальщик флеша, а то у нас на плате вытащен только SWD)
Код
DIN---------+
            |
       |\   |
DOUT---| >--+------ SWDIO
       |/o
         |
MODE-----+

CLK---------------- SWCLK

RESET-------------- RESET
Andy Great
Цитата(KRS @ Mar 26 2008, 10:04) *
Так кому нибудь удалось работать через SWD, кроме как через ULINK?

Со дня на день жду плату, тогда попробую интерфейсы JetLink3 и LMIDK. И OpenOCD тоже.
cebotor
Цитата(cebotor @ Mar 25 2008, 18:53) *
Однако хотелось бы понять почему Jlink не работает все таки с swd.
может у кого нить есть Jlink 5 родной и СТМ32 ? попобуйте прошить по swd, а ?


Руководство связалось с сеггером - ответ , SWD поддерживается jlink-ом 6го хардваре !
(в терраэлектронике в наличии)
все имеющиеся клоны - пятого и ниже....
заказали 6й - придет расковыряем посмотрим в чем отличие
Andy Great
Дык у них на сайте написано: Буфер выходной другой. А ответили так, например, потому что других уже не выпускают. Может, вопроса не поняли, может действительно изменения в схемотехнике.
cebotor
Цитата(Andy Great @ Mar 27 2008, 16:11) *
Дык у них на сайте написано: Буфер выходной другой. А ответили так, например, потому что других уже не выпускают. Может, вопроса не поняли, может действительно изменения в схемотехнике.

джетлинк 3 это старый ? у меня вроде новый и не работает ....


а дайте ссылочку про другой буффер может удастся переделать...
или может вообще кто что нить знает про то как он свое хардваре детектирует ?

и теперь внимание заинтересованным
c 6м JLINK - ом swd на stm32 заработало как положено , ура !
Andy Great
Цитата(cebotor @ Mar 28 2008, 13:11) *
а дайте ссылочку про другой буффер может удастся переделать...
или может вообще кто что нить знает про то как он свое хардваре детектирует ?

На сайте Сеггера есть описание различий hardware. 6я версия от 5й отличается вроде 5В-совместимостью. Навскидку не нашел.
cebotor
Цитата(Andy Great @ Mar 31 2008, 12:23) *
На сайте Сеггера есть описание различий hardware. 6я версия от 5й отличается вроде 5В-совместимостью. Навскидку не нашел.
я совсем не нашел ничего такого , вобще не смог выйти на описание версий железа на сеггере.
думаю что не только 5в совместимостью ведь в свд двунаправленная линия а сеггеровцы ведь не просто так сделали работу с СВД только с 6й версии. вобщем желающим юзсть SWD - или ждать выхода MTlink - ов и JET-link-ов на 6м железе или покупать новый родной Jlink. sad.gif
Andy Great
Нашел в ПДФе. 6я версия отличается трехстабильными буферами. 5В-совместимость начинается с 5.4. Про зависимость поддержки SWD в от версий железа не написано. На днях проверю JetLink3 на LM3S8962.
Andy Great
Не пользуюсь ИАРом, с Кейлом же проблема в следующем: JLink RDI пока не поддерживает SWD похоже...

P.S.: Невнимательно смотрел. Кейл в версии 3.20 поддерживает JLink напрямую. Попробую.
Andy Great
Посмотрел. Сам JetLink3 SWD поддерживает - проверял через JFlash. Кейл ни через RDI, ни через родную поддержку JLink не дает установить SWD. Равно как и через драйвер LMIDK. Осциллографом пока не смотрел - не вижу нужды.
cebotor
Цитата(Andy Great @ Apr 2 2008, 16:52) *
Посмотрел. Сам JetLink3 SWD поддерживает - проверял через JFlash. Кейл ни через RDI, ни через родную поддержку JLink не дает установить SWD. Равно как и через драйвер LMIDK. Осциллографом пока не смотрел - не вижу нужды.

так , я опять потерялся - jetlink3 это вообще что за изделие ? я недавно заказывал jetlink, он позиционировался как 5й , последний , я что то упустил ? дайте ссылку плиз ? и ваш j-link какую версию хардваре показывает jlinkarm.exe ?
Andy Great
Да, упустил smile.gif Более старую версию железа упустил. Показывает, понятно, 3ю версию, как и должен.
cebotor
Цитата(Andy Great @ Apr 3 2008, 13:26) *
Да, упустил smile.gif Более старую версию железа упустил. Показывает, понятно, 3ю версию, как и должен.

Тогда смею вас расстроить - swd у Вас не работает , проверили Вы не правильно - поставьте j-flash логировать в файл и в логе увидите строки а ля -
T02AC 003:050 JLINKARM_TIF_Select(JLINKARM_TIF_SWD) returns 0x01 (0000ms, 0035ms total)
(в этот момент иар выдает , что swd не поддерживается Вашим эмулятором)

а потом j-flash решает что раз по swd не получается - то можно по jtag работать , и все остальное идет так же как будто вы галку swd не ставили ....

что бы окончательно проверить что Вас обманывают можете отрезать ногу - ну например TDI - она в однопроводном режиме не нужна совсем smile.gif
Andy Great
Цитата(cebotor @ Apr 3 2008, 13:28) *
а потом j-flash решает что раз по swd не получается - то можно по jtag работать , и все остальное идет так же как будто вы галку swd не ставили ....

Паяцы... А я понадеялся. Да и ладно, обойдусь тем, что есть.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.