Jlink отладки синей таблетки с использованием Slakeber Ide

Костбилл
Пт 11 августа 2017 г. 7:26 утра
Привет.

В течение последних нескольких дней я пытался найти информацию о отладке Bluepill с Jlink, но не смог ничего, что может мне помочь.

Я программирую чертежи, используя Windows, Arduino IDE для компиляции и загрузки кода, Sloeber для разработки.
Я также попытался использовать плагин для Eclipse для STM32, но не сделал его, но теперь я думаю, что знаю, как заставить его работать.

Я не против, если это одна отладка в проводе или полная отладка JTAG, хотя я бы предпочел последний, я вижу, что чертеж разоблачает все штифты JTAG на доске.

Кто -нибудь заставляет это работать?

Спасибо,
Счет

Rogerclark
Пт 11 августа 2017 г. 8:08
Bluepill только выявляет SWDIO и SWCLK, а не все булавки JTAG. Это связано с тем, что STM32 имеет только интерфейс SWD, а не jtag fill jtag

Я использую GDB только в командной строке, поэтому не могу дать никаких руководств по интеграции с Jlink и Sloeber

Вы также должны опубликовать свой вопрос на форуме Sleober

Редактировать
Я изменил этот заголовок ветки, чтобы прояснить, что это вопрос Slaeber.

Костбилл
Пт 11 августа 2017 г. 9:58 утра
Привет,

Поправьте меня, если я ошибаюсь, но, посмотрев на распиновку отсюда: http: // wiki.STM32duino.com/images/a/ae/ ... разгона.гифка, Я вижу следующее:
PA15 -> JTDI
PB3 -> Jtdo
PB4 -> Jtrst
А потом у нас есть JTMS и JTCK от 4 -контактного разъема на меньшей стороне.

Я что -то упускаю? Является ли конфигурация платы, каким -то образом не позволяет использовать эти булавки для JTAG?


Извините, я снова забыл включить Slaveber в название.

Спасибо,
Счет.

Rogerclark
Пт 11 августа 2017 г. 10:04
Первоначально попытайтесь использовать JFLASH для подключения, а не SlaCeber.

На других устройствах я использую соединения TMS и TCK от Jlink

Если вы используете BluePill, он имеет отдельные выводы для SWD, разбитых в конце платы

Кроме того, в большинстве режимов загрузки эскиз настроен на использование булавок SWD в качестве GPIO.

Поиск на форуме о включении SWD или настройке вашей IDE иметь те же настройки, что и загрузка Stlink, как и выводы SWD включены

Костбилл
Пт 11 августа 2017 г. 11:38
Да, вы, вероятно, правы, я буду использовать утилиту JFLASH, чтобы посмотреть, сможет ли она общаться с Jlink, и если он сможет увидеть Bluepill.

Что касается JTAG, полные контакты JTAG находятся на чертеже, и из того, что я могу прочитать в таблице данных, состояние сброса обеспечивает функциональность JTAG на выводах во время сброса.
Итак, я думаю, что с тех пор, как для настройки режима JTAG в режим SWD он требует некоторых усилий, возможно, я мог бы избежать его и просто использовать уже настроенный JTAG. Если я не ошибаюсь, и это невозможно.

Если мне удастся заставить это работать, я опубликую несколько фотографий, для всех, кто может быть заинтересован.

Спасибо,
Счет.

victor_pv
Пт 11 августа 2017 г. 15:03
Я уже давно использую jlink.
Для режима SWD вам нужны только PA13 и PA14, затем соединения GND и 3V3. В этом случае вам нужно установить зонд для использования режима SWD.
Если вы установите режим JLink в JTAG, вам нужны другие контакты, но вам необходимо убедиться, что ядро ​​STM32Duino установлено для настройки всех контактов JTAG для отладки. Я считаю, что по умолчанию ядро ​​устанавливает только булавки SWD для отладки (PA13 и PA14). Где -то есть функция (извините, не могу вспомнить), которая настраивает контакты для JTAG, SWD или нет для отладки, и это было изменено в разное время, но я думаю, что последнее соглашение было оставить ее в режиме SWD. Поиск на форуме должен принести вам несколько потоков, говорящих о названии функции.

Я обычно использую озон для отладки, а не отладчика затмения, но тоже успешно использовал это.
Хитрость заключается в том, чтобы убедиться, что если вы хотите использовать JTAG, то ядро ​​должно установить все заинтересованные контакты для отладки вывода. Начните с режима SWD и посмотрите, сможете ли вы получить соединение. Jlink обеспечивает разные скорости SWD, любая должна работать, но в случае проблем начинаются с 4 МГц, и если он работает, поднимите его до 20 МГц.

Если вы не делаете более продвинутых вещей, таких как трассировка, я не думаю, что в режиме JTAG есть много преимуществ по сравнению с SWD, и SWD использует меньше булавок, поэтому большинство людей предпочитают иметь возможность использовать другие булавки для обычных функций.

Пито
Пт 11 августа 2017 г. 16:51
Чтобы отлаживать с J-Link в Slakeber, вы должны установить плагин GNU GDB Eclipse. Вы также хотите установить пакет F103 (с рег Peripheral для отладчика).
J-Link работает через SWD, плюс сброс и VCC также должны быть подключены.
Я использую его с синим F103ZET и Black F407ZET (у него есть заголовок 20PIN JTAG), и он работает нормально.
Краткое руководство: ViewTopic.PHP?F = 41&t = 655&начало = 40#P25805
https: // gnu-mcu-eclipse.GitHub.io/debug/jlink/

Костбилл
Сб 12 августа 2017 г. 10:51
Привет,

У меня проблемы. Сейчас это положение вещей:

1. JTAG является состоянием процессора по умолчанию во время сброса. Jlink Software может поговорить с процессором STM32 на Bluepill, используя JTAG со всеми соединениями, включая vreference. Так что мне не нужно ничего делать для SWD.

2. На Slakeber (не плагин Eclipse, Full IDE): у меня два раза есть Slaeber два раза. В первой папке, когда я пытаюсь установить плагин JLink, он говорит мне, что он не может продолжаться с этой установкой. Во второй папке Sloeber я установил ее и вижу конфигурацию Segger и изменить ее в соответствии с очень информативным руководством Pito, но он появляется с неудача снова позже и дайте полное сообщение).

Конечно, Словебер не генерирует для меня правильный файл корзины, поэтому, даже если я могу отладить, я сомневаюсь, что двоичный файл будет полезен. Так что я должен делать Slaeber работать нормально для начала, а затем продолжать оттуда.

3. При затмении с плагином Slaeber я не могу сделать его компиляцией, я вижу, что у меня возникают много проблем, с. Однако в среде Eclipse есть Jlink в его конфигурациях отладки.

Я планирую взять все посты Пито на эту тему и прочитать их по линии, тщательно, пока не достигну результата.

4. Еще одна вещь заключается в том, что Eclipse и плагины установлены в куче разных мест, поэтому, когда я удаляю каталог Eclipse и создаю его снова, она использует старую конфигурацию, я не знаю, откуда его удалить.

5. PITO, с которой версия Arduino вы работаете, и каким Eclipse у вас есть плагин Slaeber?
Я работаю с 1.8.3 (последний) и кислород затмения.

Пито
Сб 12 августа 2017 г. 11:27
5. PITO, с которой версия Arduino вы работаете, и каким Eclipse у вас есть плагин Slaeber?
Я работаю с 1.8.3 (последний) и кислород затмения.
Версия Arduino IDE не важна для Slaeber (моя 1.6.13), он не имеет отношения к Словеру.

Я установил Sloereber в апреле этого года, я думаю, что это неоново. С тех пор я не трогал его (кроме процедур в моем гиде).
Мой плагин - версия 4.0.1.201704210115.

Имейте в виду «Слоббер»-это интегрированный конфискованный пакет установки (около 150 МБ), содержащий правильную версию Eclipse с правильной версией плагина Jantje Arduino, который загружает соответствующие версии других необходимых компонентов (моя папка Sloeber здесь включает SAM-1.6.11, AVR-1.6.18, AVR-GCC-4.9.2, GCC-Arm-None-Eabi-4.8.3-2014Q1 - они, скорее всего, загружаются во время установки).

Моя установка Slaeber здесь (папка "Sloeber") Эксклюзив мое рабочее пространство 1.06 ГБ большой.

Нет такой вещи, как «Словебер» без плагина Arduino...
Я не пробовал с ванильным затмением и плагином Jantje Arduino.

Во всяком случае, нужно немного познакомиться с вещами :).
Тщательно следуй за моим гидом..
Это работает нормально.

victor_pv
Сб 12 августа 2017 г. 14:26
[Костбилл - Сб 12 августа 2017 г. 10:51] - 1. JTAG является состоянием процессора по умолчанию во время сброса. Jlink Software может поговорить с процессором STM32 на Bluepill, используя JTAG со всеми соединениями, включая vreference. Так что мне не нужно ничего делать для SWD.
Как я уже упоминал ранее, ядро ​​STM32Duino включает в себя функцию, чтобы выбрать, какие булавки используются для отладки, а какие для нормального GPIO. Неважно, каково состояние сброса, как только вы загружаете какой -либо эскиз, и эскиз начинает работать, если может отключить все выводы отладки или отключить несколько из них и оставить только SWD.

Костбилл
Сб 12 августа 2017 г. 15:12
Привет, Виктор, теперь я понимаю, что вы говорите, что даже если я связан с JTAG, как только он достигнет инструкций, которые отключают JTAG и включают SWD, я больше не смогу использовать JTAG.

У меня сложилось впечатление, что нормальный код не будет убедиться в этом, и что это произойдет только тогда, когда он будет настроен из конфигурации отладки, что SWD будет использоваться.

Если это не так, вы знаете, где находится этот кусок кода? Я искал AFIO_MAPR (это регистр, в котором поля SWJ_CFG [2: 0] контролируют конфигурацию JTAG-SWD), но не нашел ничего, что связано в библиотеках.

Тезисы - биты: Bits 26:24 SWJ_CFG[2:0]: Serial wire JTAG configuration These bits are write-only (when read, the value is undefined). They are used to configure the SWJ and trace alternate function I/Os. The SWJ (Serial Wire JTAG) supports JTAG or SWD access to the Cortex® debug port. The default state after reset is SWJ ON without trace. This allows JTAG or SW mode to be enabled by sending a specific sequence on the JTMS / JTCK pin. 000: Full SWJ (JTAG-DP + SW-DP): Reset State 001: Full SWJ (JTAG-DP + SW-DP) but without NJTRST 010: JTAG-DP Disabled and SW-DP Enabled 100: JTAG-DP Disabled and SW-DP Disabled Other combinations: no effect

Костбилл
Сб 12 августа 2017 г. 22:07
ОК сделал это.

Гид Пито был очень хорошим, однако Слоббер (или затмение) не очень хорош. Это случайно решит оставить перспективу пустой, независимо от того, сколько раз вы перезагружаете. Затем, внезапно это восстановит его, и многое другое подобное.

Я также видел, что говорил Виктор, и, конечно, он был прав, Пито также заметил это некоторое время назад, я видел это на его гиде.

Теперь у меня есть другие проблемы, но, надеюсь, они также будут решены :).

Спасибо всем за вашу помощь.

Счет.

Пито
Sun 13 августа 2017 г., 7:49
Это случайно решит оставить перспективу пустой, независимо от того, сколько раз вы перезагружаете. Затем, внезапно это восстановит его, и многое другое подобное. Здесь не видели, по крайней мере, в течение последних 4 месяцев..

Проблема с Arduino IDE и STM32F103C

Функция Arduino Burn Bootloader