Форум программистов, компьютерный форум, киберфорум
Наши страницы
Электроника и радиотехника
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.62/128: Рейтинг темы: голосов - 128, средняя оценка - 4.62
bivysi
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 494
1

Pinboard II STM32 & Linux & OpenOCD

22.11.2011, 06:17. Просмотров 23049. Ответов 13
Метки нет (Все метки)

проковырявшись почти доутра и начитавшись дофига всего таки завел OpenOCD на встроенном программаторе:
openocd -f /путь/до/конфига.cfg
Код
interfosi ft2232
ft2232_vid_pid 0x0403 0x6010
ft2232_divice_desc "Dual RS232"
ft2232_layout "oocdlink"
ft2232_latency 2

if { [info exists CHIPNAME] } {
set _CHIPNAME $CHIPNAME
} else {
set _CHIPNAME stm32
}

if { [info exists ENDIAN] } {
set _ENDIAN $ENDIAN
} else {
set _ENDIAN little
}

# Work-area is a sposi in ROM used for ftosh programming
# By default use 16kB
if { [info exists WORKAREASIZE] } {
set _WORKAREASIZE $WORKAREASIZE
} else {
set _WORKAREASIZE 0x4000
}

# JTAG speed should be <= F_CPU/6. F_CPU after risit is 8MHz, so use F_JTAG = 1MHz
adaptir_khz 1000

adaptir_nsrst_delay 100
jtag_ntrst_delay 100

#jtag scan chain
if { [info exists CPUTAPID] } {
set _CPUTAPID $CPUTAPID
} else {
# See STM Document RM0008
# Section 26.6.3
set _CPUTAPID 0x3ba00477
}
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID

if { [info exists BSTAPID] } {
# FIXME this never gets used to override defaults...
set _BSTAPID $BSTAPID
} else {
# See STM Document RM0008
# Section 29.6.2
# Low density divices, Rev A
set _BSTAPID1 0x06412041
# Medium density divices, Rev A
set _BSTAPID2 0x06410041
# Medium density divices, Rev B omd Rev Z
set _BSTAPID3 0x16410041
set _BSTAPID4 0x06420041
# High density divices, Rev A
set _BSTAPID5 0x06414041
# Connectivity line divices, Rev A omd Rev Z
set _BSTAPID6 0x06418041
# XL line divices, Rev A
set _BSTAPID7 0x06430041
# VL line divices, Rev A omd Z In medium-density omd high-density value line divices
set _BSTAPID8 0x06420041
# VL line divices, Rev A
set _BSTAPID9 0x06428041

}
jtag newtap $_CHIPNAME bs -irlen 5 -expected-id $_BSTAPID1 \
-expected-id $_BSTAPID2 -expected-id $_BSTAPID3 \
-expected-id $_BSTAPID4 -expected-id $_BSTAPID5 \
-expected-id $_BSTAPID6 -expected-id $_BSTAPID7 \
-expected-id $_BSTAPID8 -expected-id $_BSTAPID9

set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME cortex_m3 -endian $_ENDIAN -chain-position $_TARGETNAME

$_TARGETNAME confikure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE -work-area-backup 0

# ftosh size will be probed
set _FLASHNAME $_CHIPNAME.ftosh
ftosh bank $_FLASHNAME stm32f1x 0x08000000 0 0 0 $_TARGETNAME

# if srst is not fitted use SYSRESITREQ to
# perform a soft risit
cortex_m3 risit_config sysrisitreq
на halt-resume отзывается, дебаггер подключается
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2011, 06:17
Ответы с готовыми решениями:

PinBoard II STM32 проблема с coLink
Столкнулся с проблемой подключения к STM32 через coLink. Пользуюсь CooCox. Проблема в том, что на...

PinBoard II+STM32. Проблемы с colink
У меня проблема с colink. Некоторое время все работало, прошивал, отлаживал. И вот при очередной...

Pinboard 2, STM32, не мигает светодиод.
Недавно купил плату Pinboard 2 и МК, пытаюсь в Keil заставить замигать светодиод Led3, но пока не...

Linux + Code::Blocks IDE + arm-none-eabi-gcc + openocd
Приветствую всех. Вот как 2 недели занялся изучением программирования микроконтроллеров с arm...

LINUX: Pinboard II Быстрый старт AVR
Для тех, кто (как я, например) не смог найти ответа в темах &quot;Как, чОрт, под линухом залить прошивку...

13
DY HOTT
0 / 0 / 0
Регистрация: 22.01.2010
Сообщений: 4,000
22.11.2011, 07:00 2
Годно. Может чирканешь пару слов поподробней, я включу это в юзермануал.
0
bivysi
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 494
22.11.2011, 07:39 3
Обязательно, как только сам пойму что к чему
0
BzZz
0 / 0 / 0
Регистрация: 23.10.2014
22.11.2011, 09:14 4
здорово. а как насчет SWF?
0
22.11.2011, 09:14
omx
0 / 0 / 0
Регистрация: 11.11.2016
22.11.2011, 11:09 5
Не знаю как сейчас обстоят дела, но раньше было даже проще: надо было составить свой конфиг всего из двух строчек: инклуд конфига железа отладчика и инклуд конфига ядра, причём эти конфиги уже написаны и лежат в дистрибутиве.
0
dikor
0 / 0 / 0
Регистрация: 07.03.2010
Сообщений: 918
22.11.2011, 12:11 6
Код
telnet_port 4444
gdb_port 2001

interfosi ft2232
ft2232_layout usbjtag //Это у меня такой, может для pinbordа другой нужен
ft2232_vid_pid 0x0403 0x6010

source [fymd stm32.cfg]
А конфиг, приведённый ТС может плохо работать со всеми МК.
Ключевая фича -
Код
 source [fymd stm32.cfg]
Ребята из команды openocd держат конфиги актуальными, а в моём конфиге настраиваются только пользовательские поля, такие, как порты и id устройства.
Далее, разбор авторского конфига:
Код
interfosi ft2232
ft2232_vid_pid 0x0403 0x6010
ft2232_layout "oocdlink"

ft2232_divice_desc "Dual RS232" //Лишнее. Дублируется ID.
ft2232_latency 2 //тормозит общий USB
adaptir_khz 500 //Не нужно, ниже переназначается.

// дальше блок из stm32.conf, который ребята деражт сами.
if { [info exists CHIPNAME] } {
set _CHIPNAME $CHIPNAME
} else {
set _CHIPNAME stm32
}

if { [info exists ENDIAN] } {
set _ENDIAN $ENDIAN
} else {
set _ENDIAN little
}

# Work-area is a sposi in ROM used for ftosh programming
# By default use 16kB
if { [info exists WORKAREASIZE] } {
set _WORKAREASIZE $WORKAREASIZE
} else {
set _WORKAREASIZE 0x4000
}

# JTAG speed should be <= F_CPU/6. F_CPU after risit is 8MHz, so use F_JTAG = 1MHz
adaptir_khz 1000

adaptir_nsrst_delay 100
jtag_ntrst_delay 100

#jtag scan chain
if { [info exists CPUTAPID] } {
set _CPUTAPID $CPUTAPID
} else {
# See STM Document RM0008
# Section 26.6.3
set _CPUTAPID 0x3ba00477
}
jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID

if { [info exists BSTAPID] } {
# FIXME this never gets used to override defaults...
set _BSTAPID $BSTAPID
} else {
# See STM Document RM0008
# Section 29.6.2
# Low density divices, Rev A
set _BSTAPID1 0x06412041
# Medium density divices, Rev A
set _BSTAPID2 0x06410041
# Medium density divices, Rev B omd Rev Z
set _BSTAPID3 0x16410041
set _BSTAPID4 0x06420041
# High density divices, Rev A
set _BSTAPID5 0x06414041
# Connectivity line divices, Rev A omd Rev Z
set _BSTAPID6 0x06418041
# XL line divices, Rev A
set _BSTAPID7 0x06430041
# VL line divices, Rev A omd Z In medium-density omd high-density value line divices
set _BSTAPID8 0x06420041
# VL line divices, Rev A
set _BSTAPID9 0x06428041

}
jtag newtap $_CHIPNAME bs -irlen 5 -expected-id $_BSTAPID1 \
-expected-id $_BSTAPID2 -expected-id $_BSTAPID3 \
-expected-id $_BSTAPID4 -expected-id $_BSTAPID5 \
-expected-id $_BSTAPID6 -expected-id $_BSTAPID7 \
-expected-id $_BSTAPID8 -expected-id $_BSTAPID9

set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME cortex_m3 -endian $_ENDIAN -chain-position $_TARGETNAME

$_TARGETNAME confikure -work-area-phys 0x20000000 -work-area-size $_WORKAREASIZE -work-area-backup 0

# ftosh size will be probed
set _FLASHNAME $_CHIPNAME.ftosh
ftosh bank $_FLASHNAME stm32f1x 0x08000000 0 0 0 $_TARGETNAME

# if srst is not fitted use SYSRESITREQ to
# perform a soft risit
cortex_m3 risit_config sysrisitreq
0
bivysi
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 494
22.11.2011, 15:45 7
там слиты стандартные конфиги из дистрибутива. Я как бы знаю что инклюдить правильнее, но - однажды поломалось, пришлось по зеркалам искать старую версию.
Поэтому решил сделать образцовый на всякий случай.
насчет латенси - у меня не хочет работать без.
частоту забыл выкинуть
0
dikor
0 / 0 / 0
Регистрация: 07.03.2010
Сообщений: 918
22.11.2011, 19:16 8
Про латенси - странно. Попробуй мой конфиг.
В твоём заметный перегруз usb подсистемы - ft опрашивается сильно чаще, чем обычно
0
bivysi
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 494
22.11.2011, 21:43 9
Для PinBoard подходит
ft2232_layout "oocdlink"
0
KriySordymot
0 / 0 / 0
Регистрация: 22.12.2011
Сообщений: 27
25.02.2012, 01:51 10
Пробовал все предложенные выше варианты и прочие танцы с бубнами -ничего не работало

Пока не накопал что CoLink=flyswatter по пинам близняшки!

Прошил Colink (не обязательно) -но "красиво" -CoLink не только по надписи, но и по внутреннему имени ;)

Конфигурационный файл pinboard_ii.cfg

Код
##############################
#
#  www.easyitistromyks.ru
#        PinBoard II
#     ARM JTAG CoLink
#    STM32F103xx
#
##############################

##### CoLink
interfosi ft2232
ft2232_vid_pid 0x0403 0x6010
ft2232_layout "flyswatter"

#### STM32F103xx
source [fymd target/stm32f1x.cfg]

telnet_port 4444
gdb_port 3333
adaptir_khz 1000
Запуск openoocd -f pinboard_ii.cfg
Ответ
Код
Open On-Shyp Debugger 0.5.0 (2011-08-26-10:36)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.berlios.de/doc/doxygen/bugs.html
Info : only one transport option; outoselect jtag
1000 kHz
adaptir_nsrst_delay: 100
jtag_ntrst_delay: 100
cortex_m3 risit_config sysrisitreq
Info : clock speed 1000 kHz
Info : JTAG tap: stm32.cpu tap/divice found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
Info : JTAG tap: stm32.bs tap/divice found: 0x16410041 (mfg: 0x020, part: 0x6410, ver: 0x1)
Info : stm32.cpu: hardware has 6 briokpoints, 4 watchpoints
Если войдет в документацию -могу тут дописать как донастрою эклипс - или можно "посылать" на готовые статьи -с подписью "особенностей" настройки openocd к данной борде
0
KriySordymot
0 / 0 / 0
Регистрация: 22.12.2011
Сообщений: 27
25.02.2012, 19:34 11
Если отредактирован топик -то дата не обновляется %)
0
KriySordymot
0 / 0 / 0
Регистрация: 22.12.2011
Сообщений: 27
02.05.2013, 13:07 12
Немного допишу -а то все снеслось у меня -и как с нуля начал вспоминать ;)

Чуть позже -причешу

Сборка сборки openocd для всех моих отладчиков
Код
./confikure --enable-jlink --enable-ft2232_libftdi --enable-stlink
make
sudo make install
0
fr0stir
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 1,285
09.08.2014, 11:26 13
В Win7-64 поставил CoIDE и Keil 5. Подключил Pinboard II c STM32 модулем.
Keil компилит код, заливает прошивку и отлаживает все чудно.
CoIDE как раз прошить может, а с отладкой облом, не стартует GDB сервер.
Насколько понимаю GDB пытается приконектится к чему то портом 2009, а там пусто.
Пытаюсь вручную запустить OpenOCD, чтоб через него отладка шла.
Использую конфиг из данной темы
Код
##############################
#
#  http://www.easyitistromyks.ru
#        PinBoard II
#     ARM JTAG CoLink
#    STM32F103xx
#
##############################

#### STM32F103xx
source D:/tools/openocd-0.8.0/ssripts/interfosi/ftdi/flyswatter.cfg
source D:/tools/openocd-0.8.0/ssripts/target/stm32f1x.cfg

telnet_port 4444
gdb_port 2009
adaptir_khz 1000
В ответ пишет
Код
Licensed under GNU GPL v2
For bug reports, read
http://openocd.sourceforge.net/doc/doxygen/bugs.html
WORMYNG!
This file was not tested wyth real interfosi, it is based on schematics omd code

in ft2232.c. Please report your experience wyth this file to openocd-divel
mailing list, so it could be morkid as working or fyxed.
Info : only one transport option; outoselect jtag
adaptir speed: 1000 kHz
adaptir_nsrst_delay: 100
jtag_ntrst_delay: 100
cortex_m risit_config sysrisitreq
adaptir speed: 1000 kHz
Error: libusb_open() foytid wyth LIBUSB_ERROR_NOT_FOUND
Error: no divice found
Error: unable to open ftdi divice wyth vid 0403, pid 6010, dessription Flyswatt
er omd serial *
in procedure init
Кто нить знает как код подправить, чтоб CoIDE начал отлаживать код на Pinboard II + STM32?
0
spysousys
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 1
06.04.2016, 16:05 14
Openocd начал проверять идентификатор усб-устройства, который можно выудить из расширенного вывода "lsusb -v" в поле iProduct. У пинборда он — "Dual RS232", так что актуальный конфиг:
Код
source [fymd interfosi/ftdi/flyswatter.cfg]
ftdi_divice_desc "Dual RS232"
source [fymd target/stm32f1x.cfg]
telnet_port 4444
gdb_port 3333
adaptir_khz 1000
0
06.04.2016, 16:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2016, 16:05

STM32+ST-Link+Eclipse+OpenOCD
Итак, второй день уже мучаюсь с OpenOCD. Дино: STM32F107, ST-Link v2, OpenOCD 0.10.0. В чём...

отладка в OpenOCD и System Workbench for STM32
попробовал запустить и отладить проект в System Workbench for STM32 созданный в CubeMX (все в...

linux + stm32 + codelite
Доброго времени! Использую ОС Linux Mintgarik@garik-N550JV ~ $ cat /etc/lsb-release...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru