-
- Выходит, включено. Кстати, куда торопимся? Может быть, оно и так всё успеет? Или уже подтверждено, что не успеет? - SciFi(24.11.2017 12:37)
- Код. Но, видимо, копать дальше буду понедельник. Dingo(2365 знак., 24.11.2017 13:28 - 13:33)
- если printf в обработчике, то это жесткое турецкое порно. на крайняк какой-нибудь TxDMA_Post(). PUTCHAR где-то там же. все подслова SEND для пакетов читаю как нечто, ожидающее завершения отправки, потому дальше не понял - Vit(24.11.2017 13:38)
- Оно же не срабатывает? Или всё одно тормозить может(каким образом тогда?!)? Вот поди ж ты - оно! Спасибо.
Но почему - всё равно не понял.Внутри версия. Dingo(756 знак., 24.11.2017 13:50 - 25.11.2017 12:29)- Я на нечто подобное нарывался. Теперь вся отладка складывается в FIFO, только потом ее обрабатываю. michas(24.11.2017 17:08)
- Спасибо ещё раз. Копировал по проектам, поправляя, при необходимости, тип данных. Вчера сделал под произвольный тип, в том числе структуры. Может ещё кому пригодится. Dingo(1 знак., 28.07.2022 11:22, ссылка)
- DMA хорош после некоторых размышлений: можно на лету добавлять информацию для вывода. В цикле в большинстве итераций останется только опрос флага "сделано". Fifo тоже норм, даже без прерываний: проверить наличие сообщения в буфере; если есть, Dingo(150 знак., 24.11.2017 19:11)
- для отладочного вывода спецом заделан SWO - Vit(24.11.2017 17:59)
- Обычно для отладки проекта используем специально написанный клиент на ПК. Как программу на TCL легко срастить с SWO? Кажется что по старинке проще через UART. - michas(24.11.2017 18:11)
- Вы не поверите, но SWO и есть UART. lloyd(83 знак., 24.11.2017 20:25, ссылка)
- А, вспомнил в чем была проблема. Перешли на М0, а там нет SWO. Вот такая загогулина получилась. :) - michas(25.11.2017 08:34)
- и не на всех упаковках CM3 есть. но такая отладка с выхлопом чаще нужна при довольно объёмном софте, а это на малоногие упаковки до недавнего времени не очень-то ложилось. как компромисс можно отлаживаться и на бОльших упаковках. в любом из Vit(188 знак., 25.11.2017 08:51)
- Я правильно понял из статьи, что нет возможности передавать данные без какого-либо Link и его драйвера? Т.е. это все таки не UART в привычном виде? Я пробовал в кейле выводить отладку через ST-Link (для F205) в окно отладчика. Но дальше не копал. - michas(25.11.2017 08:57 - 09:01)
- Обычно юзаю либо Keil, либо EmBitz+Segger_SWO_Viewer - Vit(25.11.2017 19:54)
- Ну эта штука умеет плевать данные сама, без участия процессора вообще (к примеру при переключении контекста). Там какой-то (очень простой) формат пакета, который вроде как изкоробки умеет передавать несколько потоков данных lloyd(96 знак., 25.11.2017 11:13 - 11:21, ссылка)
- Я правильно понял из статьи, что нет возможности передавать данные без какого-либо Link и его драйвера? Т.е. это все таки не UART в привычном виде? Я пробовал в кейле выводить отладку через ST-Link (для F205) в окно отладчика. Но дальше не копал. - michas(25.11.2017 08:57 - 09:01)
- и не на всех упаковках CM3 есть. но такая отладка с выхлопом чаще нужна при довольно объёмном софте, а это на малоногие упаковки до недавнего времени не очень-то ложилось. как компромисс можно отлаживаться и на бОльших упаковках. в любом из Vit(188 знак., 25.11.2017 08:51)
- А, вспомнил в чем была проблема. Перешли на М0, а там нет SWO. Вот такая загогулина получилась. :) - michas(25.11.2017 08:34)
- Вы не поверите, но SWO и есть UART. lloyd(83 знак., 24.11.2017 20:25, ссылка)
- Обычно для отладки проекта используем специально написанный клиент на ПК. Как программу на TCL легко срастить с SWO? Кажется что по старинке проще через UART. - michas(24.11.2017 18:11)
- Я на нечто подобное нарывался. Теперь вся отладка складывается в FIFO, только потом ее обрабатываю. michas(24.11.2017 17:08)
- Оно же не срабатывает? Или всё одно тормозить может(каким образом тогда?!)? Вот поди ж ты - оно! Спасибо.
- если printf в обработчике, то это жесткое турецкое порно. на крайняк какой-нибудь TxDMA_Post(). PUTCHAR где-то там же. все подслова SEND для пакетов читаю как нечто, ожидающее завершения отправки, потому дальше не понял - Vit(24.11.2017 13:38)
- Не успеет. Надо за 500 мксек по внешнему прерыванию записать во "внешнюю память" 9 байт по 8-ми битной шине, отправить пакет из 28 байт, принять при наличии такой же по размерам. Ещё и держать это всё в буфере, пока своей очереди не дождётся. Dingo(304 знак., 24.11.2017 13:10 - 13:22)
- ОЗУ - сомневаюсь, что будет выгода, да и делать это надо умеючи (не забыть ремап на 0, исполнение с адресов 0x20000000 медленное). Ну и вот эти операции "по 8-битной шине" (небось, и скорость там 1 МГц) надо бы делать в фоне, через DMA что ли, SciFi(54 знак., 24.11.2017 13:27)
- пересылки можно зацепить на DMA, причем часто в STM32 такое можно сделать через "ивенты", а не вручную из обработчика прерывания - Vit(24.11.2017 13:26)
- Код. Но, видимо, копать дальше буду понедельник. Dingo(2365 знак., 24.11.2017 13:28 - 13:33)
- Выходит, включено. Кстати, куда торопимся? Может быть, оно и так всё успеет? Или уже подтверждено, что не успеет? - SciFi(24.11.2017 12:37)