реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Запрет остановки / паузы отладки, Linux / Eclipse / STM32F051 / JLink / SWD / OpenOCD
Forger
сообщение May 19 2017, 18:41
Сообщение #16


Знающий
****

Группа: Свой
Сообщений: 629
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(Шаманъ @ May 19 2017, 21:11) *
А зачем он мне, если OpenOCD вполне справляется? Тем более я пользуюсь gcc/gdb, и не уверен, что st-link или j-link беспроблемно стыкуются с gdb.

Все ясно с вами )))

Цитата
Зачем это делать?
А кто будет настраивать порты на некие безопасные значения, чтобы не попалить силу, подключенную снаружи, пока шьется флэш?
Я вот всегда решаю это аппаратно, дабы не зависеть от всяких отладчиков/программаторов.

Цитата
OpenOCD умеет заливать проги в несколько сотен разных процессоров, и не только заливать wink.gif Но если Вам хочется сделать что-то особенное, то нет проблем добавить несколько команд в скрипт sm.gif Прогу в ОЗУ корректировать не нужно, она сама по себе.
А что там с st-link?

А то же самое - ST-LINK шьет абсолютно все STM8/STM32. В китаях идут по 100р за штучку. Обед в столовке и то дороже biggrin.gif
Сам им давно не пользуюсь - медленный слишком.
У конторы, где работую, деньги есть на оригинальные j-link, а уж на его клонов и подавно.
Себе лично прикупиль несколько клонов, домой. Не разорился ни разу ))
Все встроенные в платки discovery st-link перешил на j-link, на сайте сеггера есть прошивка.

Цитата
Вообще-то без тактирования с включенным питанием драйверов любой ТФТ по идее медленно деградирует.

Ну-ну ...
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение May 19 2017, 19:16
Сообщение #17


фанат дивана
******

Группа: Свой
Сообщений: 3 299
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(Forger @ May 19 2017, 23:41) *
Все ясно с вами )))
А то же самое - ST-LINK шьет абсолютно все STM8/STM32. В китаях идут по 100р за штучку. Обед в столовке и то дороже biggrin.gif

Вы бы хоть узнали, о чём судачите. Openocd - это программа. Она умеет работать и с ST-LINK, и с JLink, и с кучей других адаптеров.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
Forger
сообщение May 19 2017, 19:24
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 629
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(AHTOXA @ May 19 2017, 22:16) *
Вы бы хоть узнали, о чём судачите. Openocd - это программа.

Вона как! А я то все думал, что она по-прежнему лишь с архаичным LPT-программаторами работает или чем-то на базе чипов FTDI USB-JTAG ...
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение May 20 2017, 05:36
Сообщение #19


Знающий
****

Группа: Участник
Сообщений: 705
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(Forger @ May 19 2017, 21:41) *
А кто будет настраивать порты на некие безопасные значения, чтобы не попалить силу, подключенную снаружи, пока шьется флэш?
Я вот всегда решаю это аппаратно, дабы не зависеть от всяких отладчиков/программаторов.

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

На счет кто будет настраивать, я тоже отвечал:
Цитата(Шаманъ @ May 19 2017, 21:11) *
...если Вам хочется сделать что-то особенное, то нет проблем добавить несколько команд в скрипт sm.gif Прогу в ОЗУ корректировать не нужно, она сама по себе.


Цитата
Ну-ну ...

Хоть ну, хоть без ну, но попробуйте включить подсветку, питание драйверов при активном reset'е. У меня идут такие же медленно расплывающиеся цветные полосы, что и без reseta. В этом состоянии есть постоянное напряжение на "ячейках" ТФТ индикатора, которое приводит к его медленной порчи. Возможно в других ТФТ все по-другому, но в двух которые у меня именно так...
Go to the top of the page
 
+Quote Post
Forger
сообщение May 20 2017, 07:25
Сообщение #20


Знающий
****

Группа: Свой
Сообщений: 629
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(Шаманъ @ May 20 2017, 08:36) *
Эх, не читаете Вы то, что я пишу. Я не предлагал критически важные вещи делать зависимыми от программатора.
В то же время иметь возможность установить в произвольное состояние любые порты/внутренние регистры/память это однозначно хорошо.


Мы отклоняемся от темы. В данном случае никакое программное решение с этим OpenOCD все равно толком не поможет, а спасет лишь это:
1) железное (аппаратное решение).
2) В случае с Keil можно прямо под отладчиком и работающем камне смотреть любые переменные и строить графики. Это отлично работает под j-link.
3) Использовать RTT (голый или под SystemViewer), это тот же пункт 3, но без Keil
4) UART + простейшая программка-терминал, или любой другой интерфейс с соотв. софтом.


Цитата
У меня идут такие же медленно расплывающиеся цветные полосы, что и без reseta. В этом состоянии есть постоянное напряжение на "ячейках" ТФТ индикатора, которое приводит к его медленной порчи.

Т.е. при активном сигнале сброса на TFT-панели она ведет себя таким образом?
Дайте ее название, мне стало даже любопытно ))
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение May 20 2017, 11:35
Сообщение #21


Знающий
****

Группа: Участник
Сообщений: 705
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(Forger @ May 20 2017, 10:25) *
Т.е. при активном сигнале сброса на TFT-панели она ведет себя таким образом?
Дайте ее название, мне стало даже любопытно ))

Да вроде как ничего особенного AT070TN92.2.
Go to the top of the page
 
+Quote Post
Forger
сообщение May 20 2017, 13:11
Сообщение #22


Знающий
****

Группа: Свой
Сообщений: 629
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(Шаманъ @ May 20 2017, 14:35) *
Да вроде как ничего особенного AT070TN92.2.

Когда его вывод RESET притянут к GND "полосы" тоже есть?
Go to the top of the page
 
+Quote Post
arhiv6
сообщение May 20 2017, 18:36
Сообщение #23


Знающий
****

Группа: Свой
Сообщений: 506
Регистрация: 21-05-10
Из: Томск
Пользователь №: 57 423



Цитата(Шаманъ)
В том же OpenOCD можно проинициализировать что угодно, и как надо (я, например, LTDC запускаю, чтобы матрицу не мучать во время программирования - показывает синенький экран sm.gif).

Цитата(Шаманъ)
более того можно в скриптах включить PLL и получить приличное ускорение верификации программы.

А как это делается - что-то пишется в память по адресам, где находятся регистры периферии? Можете привести примеры (или дать ссылку, где почитать), как этим пользоваться?


--------------------
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение May 20 2017, 19:23
Сообщение #24


Знающий
****

Группа: Участник
Сообщений: 705
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(Forger @ May 20 2017, 16:11) *
Когда его вывод RESET притянут к GND "полосы" тоже есть?

Да без разницы. Такое впечатление, что с resetом это вообще не связано (может они его внутри подключить забыли laughing.gif ).

Цитата(arhiv6 @ May 20 2017, 21:36) *
А как это делается - что-то пишется в память по адресам, где находятся регистры периферии? Можете привести примеры (или дать ссылку, где почитать), как этим пользоваться?

Да, пишется в память. Например, вот так:
CODE

$_TARGETNAME configure -event reset-init {
# Configure PLL to boost clock to HSI x 4 (64 MHz)
mww 0x40023804 0x08012008 ;# RCC_PLLCFGR 16 Mhz /8 (M) * 128 (N) /4(P)
mww 0x40023C00 0x00000102 ;# FLASH_ACR = PRFTBE | 2(Latency)
mmw 0x40023800 0x01000000 0 ;# RCC_CR |= PLLON
sleep 10 ;# Wait for PLL to lock
mmw 0x40023808 0x00001000 0 ;# RCC_CFGR |= RCC_CFGR_PPRE1_DIV2
mmw 0x40023808 0x00000002 0 ;# RCC_CFGR |= RCC_CFGR_SW_PLL

# Boost JTAG frequency
adapter_khz 8000

#Confgure PLL SAI to clock LTDC (to prevend TFT degradation during flash loading)
mww 0x40023888 0x69011800 ;# RCC_PLLSAICFGR LTDC clock = 16 Mhz /8 (M) * 96 (N) / 6®
mmw 0x40023800 0x10000000 0 ;# RCC_CR |= PLLSAION
sleep 10 ;# Wait for PLL to lock
mmw 0x40023830 0x000001E3 0 ;# AHB1ENR Enable GPIO A,B,F,G,H,I
# Configure GPIO A
mww 0x40020000 0xA8000080 ;# MODER
mww 0x40020008 0xFC0000C0 ;# OSPEED
mww 0x40020020 0x00E00000 ;# AFRL
# Configure GPIO B
mww 0x40020400 0x000A0280 ;# MODER
mww 0x40020408 0x000F00C0 ;# OSPEED
mww 0x40020424 0x000000EE ;# AFRH
# Configure GPIO F
mww 0x40021400 0x00100000 ;# MODER DE=OUTPUT
mww 0x40021408 0x00000000 ;# OSPEED
# Configure GPIO G
mww 0x40021800 0x0280A000 ;# MODER
mww 0x40021808 0x03C0F000 ;# OSPEED
mww 0x40021820 0xEE000000 ;# AFRL
mww 0x40021824 0x0009E000 ;# AFRH
# Configure GPIO H
mww 0x40021C00 0xAAA80000 ;# MODER
mww 0x40021C08 0xFFFC0000 ;# OSPEED
mww 0x40021C24 0xEEEEEEE0 ;# AFRH
# Configure GPIO I
mww 0x40022000 0x0028002A ;# MODER
mww 0x40022008 0x003C003F ;# OSPEED
mww 0x40022020 0x00000EEE ;# AFRL
mww 0x40022024 0x00000EE0 ;# AFRH

mmw 0x40023844 0x04000000 0 ;# APB2ENR |= LTDC

#Configure LTDC
mww 0x40016808 0x00270013 ;# SSCR
mww 0x4001680C 0x002D0016 ;# BPCR
mww 0x40016810 0x034D01F6 ;# AWCR
mww 0x40016814 0x041F020C ;# TWCR
mww 0x4001682C 0x000000FF ;# BCCR
mmw 0x40016818 0x00002220 0 ;# GCR
mmw 0x40016818 0x00000001 0 ;# GCR
}



Команда
mww addr word
записывает слово word в память по адресу addr,
команда
mmw addr set clear
модифицирует слово по адресу addr в соответствии с битовыми масками set и clear
Go to the top of the page
 
+Quote Post
Forger
сообщение May 20 2017, 19:35
Сообщение #25


Знающий
****

Группа: Свой
Сообщений: 629
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(Шаманъ @ May 20 2017, 22:23) *
Да без разницы. Такое впечатление, что с resetом это вообще не связано (может они его внутри подключить забыли laughing.gif ).
Вот уж засада sad.gif
Я бы в таком случае сделал бы коммутируемым питание панели от пина проца, т. е. в дефолте на голом проце питание на панель не идет.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение May 20 2017, 20:31
Сообщение #26


Mentor
******

Группа: Модераторы
Сообщений: 5 160
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(nanorobot @ May 19 2017, 08:36) *
Отлаживаю дивайс на STM32 с помощью JLink. Иногда требуется "запаузить" отладку, посмотреть состояние переменных и т.п. Если момент паузы приходится когда на силовую часть подано напряжение (с ЦАПа), резисторы начинают гореть. Есть ли возможность запретить остановку прогаммы JLink-ом на каком то интервале программного кода?

Да не проблема.
В Cortex-M on-chip breakpoints можно поставить только в области 0x00000000 - 0x1fffffff.
Перенесите код который нельзя прерывать в RAM и не сможете там поставить on-chip breakpoints.
Софтварные брикпойнты, конечно, при этом надо в J-Link запретить.
Go to the top of the page
 
+Quote Post
nanorobot
сообщение May 20 2017, 20:42
Сообщение #27


Частый гость
**

Группа: Участник
Сообщений: 183
Регистрация: 29-02-08
Пользователь №: 35 503



Цитата(arhiv6 @ May 21 2017, 00:36) *
А как это делается - что-то пишется в память по адресам, где находятся регистры периферии? Можете привести примеры (или дать ссылку, где почитать), как этим пользоваться?


Сорри, arhiv6, Вы автор статьи на изи об OpenOCD и SEGGER RTT? Хочется вопросов пару задать. Но - завтра.

Сообщение отредактировал nanorobot - May 20 2017, 20:43
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd August 2017 - 11:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.01449 секунд с 7
ELECTRONIX ©2004-2016