Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Eclipse + gdb + Segger
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > GNU/OpenSource средства разработки
esaulenka
Столкнулся с проблемой - отладка стартует через раз.

В наличии STM32 и клон JLink'а от otladka.com.ua

CODE
SEGGER J-Link GDB Server V4.98 Command Line Version
JLinkARM.dll V4.98 (DLL compiled Mar 20 2015 18:23:08)
-----GDB Server start settings-----
GDBInit file: none
GDB Server Listening port: 2331
SWO raw output listening port: 2332
Terminal I/O port: 2333
Accept remote connection: localhost only
Generate logfile: off
Verify download: on
Init regs on start: on
Silent mode: off
Single run mode: on
Target connection timeout: 0 ms
------J-Link related settings------
J-Link Host interface: USB
J-Link script: none
J-Link settings file: none
------Target related settings------
Target device: STM32F105VC
Target interface: SWD
Target interface speed: 1000kHz
Target endian: little

Connecting to J-Link...
J-Link is connected.
Firmware: J-Link V9 compiled Apr 21 2015 18:10:40
Hardware: V9.10
S/N: /* i'm paranoid */
Feature(s): GDB, RDI, FlashBP, FlashDL, JFlash
Checking target voltage...
Target voltage: 2.99 V
Listening on TCP/IP port 2331
Connecting to target...Connected to target
Waiting for GDB connection...Connected to 127.0.0.1
Reading all registers
Read 4 bytes @ address 0x00000000 (Data = 0x2000FFF8)
Target interface speed set to 1000 kHz
Select auto target interface speed (2000 kHz)
Flash breakpoints enabled
Semi-hosting enabled (VectorAddr = 0x08)
Semihosting I/O set to TELNET Client
SWO disabled succesfully.
SWO enabled succesfully.
Read 4 bytes @ address 0x00000000 (Data = 0x2000FFF8)
Downloading 56 bytes @ address 0x0801C000 - Verified OK
Downloading 2904 bytes @ address 0x0801C038 - Verified OK
Downloading 4 bytes @ address 0x0801CB90 - Verified OK
Comparing flash [....................] Done.
Erasing flash [..........ERROR: Failed to erase sectors 56 @ address 0x0801C000 (erase error)
..........] Done.
Verifying flash [....................] Done.


Спотыкается на стирании первой же используемой страницы (почему перед этим запись с верификацией прошла?! там точно ДРУГАЯ прошивка!).
Дальше делает вид, что всё окей, и запускает отладку.
Если отладку остановить, видно, что первая используемая страница пустая, остальные - со старым содержимым.

Со второго раза прошивается корректно.

Собственно, вопросы:
- кто-нибудь сталкивался?
- кто это вообще пишет? gdb или segger ? Поиграть версией сеггеровских утилит?
- может, openocd поможет? они ж нормально работают с SWD и SWO ?


И вопрос чуть не в тему. Как к eclipse'у приделать кнопку "залить прошивку, отладку не запускать" ?
Aaron
Интересно!
МК на чём стоит? своя плата или покупная готовая, отладочная? Проблем с питанием, подтяжками нет? Маловероятно, но вдруг: кондёры по питанию стоят? Мало ли, просадка по питанию при стирании идёт...
Ещё была история - кварц сбойно работал, иногда МК при подключении и попытке стирания выдавал защиту от перезаписи... помогало выключение на 30-90 минут.
В общем, мне кажется проблема в области железа!

С другой стороны - каким образом стирается память? Напрямую через SWD? Попробовать скорость понизить подключения...
RabidRabbit
попробуйте OpenOCD, он с версии 0.9.0 у меня нормально с SWD через J-Link заработал...
esaulenka
Цитата(Aaron @ Oct 15 2015, 12:30) *
Интересно!
МК на чём стоит? своя плата или покупная готовая, отладочная? Проблем с питанием, подтяжками нет? Маловероятно, но вдруг: кондёры по питанию стоят? Мало ли, просадка по питанию при стирании идёт...

Своё. Опытный образец, паяный-перепаяный, но очевидных косяков с питанием нету.
Подозреваю, что из-за моих экспериментов "уплыли" стандартные тайминги стирания памяти (я перепрограммирую чип десятки раз в день. уже не первый месяц).
Всё никак не одолжу у коллег других подопытных...

Цитата(Aaron @ Oct 15 2015, 12:30) *
С другой стороны - каким образом стирается память? Напрямую через SWD? Попробовать скорость понизить подключения...

Не понял вопрос. "Напрямую" из чипа загрузчик чудесно всё стирает, но я им редко пользуюсь.


Цитата(RabidRabbit @ Oct 18 2015, 08:37) *
попробуйте OpenOCD, он с версии 0.9.0 у меня нормально с SWD через J-Link заработал...

Я хоть и положительно отношусь к опенсорсу, но тут трындец какой-то... :-(
Драйвера на jlink переставил (как теперь, интересно, j-flash'ем пользоваться?..). Покурил интернет, написал конфиг.
Теперь следующий этап: у Вас SWO работает? Гугл сходу магическое слово не подсказывает.
Но пишет-стирает без проблем, тьфу-тьфу...
RabidRabbit
Цитата(esaulenka @ Oct 19 2015, 19:36) *
Теперь следующий этап: у Вас SWO работает?

SWO не пробовал. Убедился что отладка/заливка идёт и стал дальше использовать адаптер на FT2232, у которого второй интерфейс для приёма отладочного выхлопа через UART...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.