-
- ИТОГО: Andreas(352 знак., 08.05.2020 13:13)
- j-scope не подойдет. - BlackMorda(03.05.2020 16:34, ссылка)
- Спасибо, интересная прога, но для другой задачи. Скорость считывания без RTT для обычного jlink маловата - 1кГц. - Andreas(05.05.2020 12:23)
- юзаю SWO-Viewer и смотрю буквы. в кейле вроде тоже была смотрелка
какая-то. - Vit(28.04.2020 22:23)
- только отладку это безобразие тормозит до жо... Проще уарт через
usb-uart с дикой скоростью ! - Aleksey_75(28.04.2020 22:31)
- не умеете готовить:) - Vit(28.04.2020 22:36)
- Частоту конечно задрать можно, но все равно это побайтный вывод с
ожиданием конца передачи байта. Хоцца сразу забить в регистры ITM
несколько слов по 32 бита и забыть до следующего прерывания.
AtolicTruestudio похоже это умеет, но я пока не подцепил свой проц
к нему. Но это все равно не совсем то, хотелось бы автономную
смотрелку, но за неимением.... - Andreas(28.04.2020 22:56)
- а смотрели осцилом как передается ? онож по умолчанию передается по
три байта - Aleksey_75(28.04.2020 23:00)
- Нет пока, только код стандартных примеров подмены printf смотрел .
Возможно при передаче идет еще служебная инфа, но пишется в регистр
отправки побайтно с ожиданием конца передачи. Возможно поэтому и
тормозило, особенно при малой скорости отправки, которая задается
делителем. - Andreas(28.04.2020 23:22)
- я когда столкнутся с тормозами, начал гуглить и выяснилось что там
рельный битрейд не более 256К еще и с остановкой отладки, отказался
( Да вспомнил, мне это понадобилось при отладке USB, в этоге как
потом оказалось эта отладка и приводила к потере устройства ПК - Aleksey_75(28.04.2020 23:33)
- Для nrf52 обещают бодовую скорость 4Мбита, но сколько лишнего
передается - хз. Меня и 256к устроит вполне, лишь бы буфер на 2..3
слова был, плюнул и забыл. - Andreas(28.04.2020 23:43)
- блин! у nrf пины (вроде) вообще свободно мапятся, настройте уарт на
swo (отключив swo естественно) и гоните на любой любимый терминал в
каком хочется формате! - Aleksey_75(29.04.2020 01:00)
- Только они там UARTов не слишком щедро насыпали. - s_h_e(29.04.2020 10:31)
- блин! у nrf пины (вроде) вообще свободно мапятся, настройте уарт на
swo (отключив swo естественно) и гоните на любой любимый терминал в
каком хочется формате! - Aleksey_75(29.04.2020 01:00)
- Для nrf52 обещают бодовую скорость 4Мбита, но сколько лишнего
передается - хз. Меня и 256к устроит вполне, лишь бы буфер на 2..3
слова был, плюнул и забыл. - Andreas(28.04.2020 23:43)
- я когда столкнутся с тормозами, начал гуглить и выяснилось что там
рельный битрейд не более 256К еще и с остановкой отладки, отказался
( Да вспомнил, мне это понадобилось при отладке USB, в этоге как
потом оказалось эта отладка и приводила к потере устройства ПК - Aleksey_75(28.04.2020 23:33)
- Нет пока, только код стандартных примеров подмены printf смотрел .
Возможно при передаче идет еще служебная инфа, но пишется в регистр
отправки побайтно с ожиданием конца передачи. Возможно поэтому и
тормозило, особенно при малой скорости отправки, которая задается
делителем. - Andreas(28.04.2020 23:22)
- а смотрели осцилом как передается ? онож по умолчанию передается по
три байта - Aleksey_75(28.04.2020 23:00)
- есть у меня прожект в котором каждый чих(событие 8 байт) пишется
логом в внешнюю флешку, по сути оно падает в буфер по заполнению
отправляется в флеш! Ток вот прикрутив вместо отправки в флеш
отправку на swo , прога начала еле двигаться ... - Aleksey_75(28.04.2020 22:40)
- что-то пошло не так - Vit(28.04.2020 22:53)
- Частоту конечно задрать можно, но все равно это побайтный вывод с
ожиданием конца передачи байта. Хоцца сразу забить в регистры ITM
несколько слов по 32 бита и забыть до следующего прерывания.
AtolicTruestudio похоже это умеет, но я пока не подцепил свой проц
к нему. Но это все равно не совсем то, хотелось бы автономную
смотрелку, но за неимением.... - Andreas(28.04.2020 22:56)
- не умеете готовить:) - Vit(28.04.2020 22:36)
- только отладку это безобразие тормозит до жо... Проще уарт через
usb-uart с дикой скоростью ! - Aleksey_75(28.04.2020 22:31)
- Если ядро поддерживает STM macrocell, то Segger JLink умеет сам быстро и неинвазивно (т.е. тебе никакого кода писать не надо) периодически поллить любые переменные в RAM. Их trace-вьюер на этом и построен. - RxTx(28.04.2020 19:02)
- Кроме того, и SWO и всё другое, любые дебаг каналы к printf()'у
имеют отношение только потому что printf() работает поверх.
Стандартная вьюерка на PC реинтерпретирует отосланные байты как
печатные символы, и всё. RxTx(223 знак., 28.04.2020 18:58)
- Это я видел, потому и спрашиваю, в стандартной подмене ожидание и
побайтный вывод . Непонятно чем смотреть на писюке и как на каналы
раскладывать. - Andreas(28.04.2020 19:00)
- Ну смотри, тебя вот это устраивает? - RxTx(28.04.2020 19:06, ссылка, ссылка)
- О, спасибо, то, что надо. Надеюсь и в бесплатной версии это есть.
Хоть и официально атолик не поддерживает nrf52 , но svd файл к нему
цепляют и дебажат. - Andreas(28.04.2020 19:15)
- Это здорово. Я рад. - RxTx(28.04.2020 19:27)
- О, спасибо, то, что надо. Надеюсь и в бесплатной версии это есть.
Хоть и официально атолик не поддерживает nrf52 , но svd файл к нему
цепляют и дебажат. - Andreas(28.04.2020 19:15)
- Ну смотри, тебя вот это устраивает? - RxTx(28.04.2020 19:06, ссылка, ссылка)
- Это я видел, потому и спрашиваю, в стандартной подмене ожидание и
побайтный вывод . Непонятно чем смотреть на писюке и как на каналы
раскладывать. - Andreas(28.04.2020 19:00)
- Я делал. Смотрел Atollic'ом. - RxTx(28.04.2020 18:50)
- Фигвам, в бесплатной не работает. Вся работа с SWV только в профи
версии. Осталась надежда на питон, вроде есть сеггеровский пакет. - Andreas(01.05.2020 14:31)
- Тебе что требуется в итоге. Опиши свою задачу нормально,
высокоуровнево. Может быть нарисуется решение. - RxTx(01.05.2020 19:09)
- Есть периодическое прерывание с длительностью менее 100мкс, где
много что делается и по времени оно впритык. И из него надо скинуть
наружу в лог 5..15 байт максимально быстро. Да, конечно можно через
буфер а в другой задаче выгребать и не торопясь отправлять в
консоль по printf. Но неудобно по разным причинам и хотелось
другого решения. - Andreas(01.05.2020 19:46)
- Я так все прерывания делаю. Тривиальный кольцевой буфер. В прерывании - только в него пишет и переставляет индекс, который если длина буфера кратная степени двойки (256) сам заворачивается. Вот это: { buf[buf_write_index++] = myvar; buf_updated_flag = true; } ~ три инструкции. RxTx(437 знак., 01.05.2020 20:07)
- Есть периодическое прерывание с длительностью менее 100мкс, где
много что делается и по времени оно впритык. И из него надо скинуть
наружу в лог 5..15 байт максимально быстро. Да, конечно можно через
буфер а в другой задаче выгребать и не торопясь отправлять в
консоль по printf. Но неудобно по разным причинам и хотелось
другого решения. - Andreas(01.05.2020 19:46)
- Может есть смысл пошатать какие-то отдельные/standalone дебаггеры/отладчики? Если они только работают с твоей конфигурацией. Например вот эту хренолыгу (я не пробовал). - RxTx(01.05.2020 19:02, ссылка)
- Я юзал для STM32, там имхо нет про/бесплатной. - RxTx(01.05.2020 19:02)
- Тебе что требуется в итоге. Опиши свою задачу нормально,
высокоуровнево. Может быть нарисуется решение. - RxTx(01.05.2020 19:09)
- Хм, в нем работаю, вроде он тоже просто окошко терминала дает. Надо
не просто смотреть переменные, а именно некий лог небольшой вести.
Причем из прерывания весьма критичного ко времени. ЗЫ надо будет
скачать атолик8, он вроде поддерживает мой nrf52. - Andreas(28.04.2020 18:58)
- Нет, смотри лучше. Умеет атоллик переменные логить. - RxTx(28.04.2020 18:59)
- Фигвам, в бесплатной не работает. Вся работа с SWV только в профи
версии. Осталась надежда на питон, вроде есть сеггеровский пакет. - Andreas(01.05.2020 14:31)