STM32. CMSIS #14. Вывод служебной информации через отладочный порт SWO. ITM

Поділитися
Вставка
  • Опубліковано 11 січ 2024
  • Купить книгу "Освоение STM32 самостоятельно" по CMSIS:
    • При печати на Xprinter...
    Продолжение серий "STM32. CMSIS" и "Keil IDE". Здесь мы научимся легко и быстро выводить любую служебную информацию во время работы МК не занимаю никакой UART, как через IDE, так через стороннюю программу.
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    Для общения подписываться в чат:
    t.me/+N2uEB7w-VdwwNGEy
    Посмотреть видео лекции и обзоры:
    / @nrelectronics
    Мой магазинчик канала на Али:
    aliexpress.ru/shop/4962260
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    Станьте спонсором канала:
    переводом по номеру карты:
    4377-7237-6190-5714

КОМЕНТАРІ • 32

  • @avr_stm_pro2955
    @avr_stm_pro2955 5 місяців тому +2

    Спасибо 👍👍👍👍👍👍

    • @NRelectronics
      @NRelectronics  5 місяців тому

      Пожалуйста🙏🙏💓

  • @AndySm1973
    @AndySm1973 5 місяців тому +3

    Спасибо!
    Жаль, что такие обучающие видео выходят редко...

    • @NRelectronics
      @NRelectronics  5 місяців тому

      Пожалуйста. По мере свободного времени к сожалению...

    • @AndySm1973
      @AndySm1973 5 місяців тому +1

      И хочу добавить отдельное спасибо, что уроки структурированы по плейлистам.

    • @NRelectronics
      @NRelectronics  5 місяців тому

      Стараюсь чтобы был порядок!)

  • @zatochiSiberian
    @zatochiSiberian 5 місяців тому +1

    Спасибо

  • @OpenFrimeTVcom
    @OpenFrimeTVcom 5 місяців тому +1

    да, иногда такая штука полезнее точки останова, так как под отладкой иногда ловил баги

    • @NRelectronics
      @NRelectronics  5 місяців тому

      Поэтому её и представил. Легко настраивается, не сильно много занимает флеша, удобно и быстро начать пользоваться, хоть состояние битов регистров выводите!)

  • @TruVi-13
    @TruVi-13 5 місяців тому +3

    Большое спасибо за очень интересный материал. К сожалению, printf съедает очень много памяти. Если будет время и желание, то можно развить эту тему и показать как на уровне регистров передавать байты по SWO. И можно ли перехватить на ПК этот поток (виртуальный COM порт или что-то другое), чтобы в своей программе принимать данные, например, на Python.

    • @NRelectronics
      @NRelectronics  5 місяців тому

      Пожалуйста, стараюсь для своих подписчиков. Ставьте лайки и подписку!)))
      По поводу парсинга, спрошу у соответствующих специалистов, а отъедает немного, 3184 байта, и это без оптимизации по размеру еще. Пожертвовать можно, но аккуратно. Пока на уровне регистров не планирую, тут уже проще UART можно поднять и передавать, по нему есть материал. Память теряется из-за портирования самих библиотек по работе с printf, а их сильно не порежешь.

    • @pavelboboshkin3898
      @pavelboboshkin3898 5 місяців тому +1

      @@NRelectronics, printf ведь можно вообще не использовать. Часто бывает достаточно выводить просто символы. А если нужен вывод чисел, то можно написать свою функцию размером в несколько десятков байт.

    • @NRelectronics
      @NRelectronics  5 місяців тому

      Можно сделать что угодно. Я показал наиболее быстрый и простой механизм вывода.

  • @DigitalBot81
    @DigitalBot81 2 місяці тому

    А что там за история с перепайкой пина на SW? Типа там просто штырька нет и его надо припаять что б подключить внешний stlink? Или что то другое?

    • @NRelectronics
      @NRelectronics  2 місяці тому

      сигнал на выводе МК есть, его нужно пробросить проводом на один из лишних выводов китайского свистка ST-Link V2. И всё.

  • @user-bp3hg9fu5t
    @user-bp3hg9fu5t 5 місяців тому +1

    Это что - printf порядка 3кБ флеша кушает? некисло так

    • @NRelectronics
      @NRelectronics  5 місяців тому

      Библиотеки для неё. В начале видео я компилироаал проект и в конце, можете вычесть одно из другого и получится эта цифра. Так и есть.

  • @ajdarseidzade688
    @ajdarseidzade688 5 місяців тому

    Если выходит ошибка типа "another core work on SWO" - или что-то такое (по памяти написал), то выключить/включить плату - и ошибка пропадает.

    • @NRelectronics
      @NRelectronics  5 місяців тому

      Спасибо за информацию. Интересная ошибка. Другое ядро работает на SWO, у меня за всю жизнь подобной ошибки не было.

    • @ajdarseidzade688
      @ajdarseidzade688 5 місяців тому

      @@NRelectronics Это на GDB выходит. Т.е. в CubeIDE например. Долго возился с этой ошибкой (а произошла она после того как склонировал проект и заново его открыл). Делал как писали на форумах - не помогало. Все удалял в проекте-клоне от старого - не помогало. В нете полно таких тем с такой ошибкой. Помогло случайное отключение/подключение платы. Какой-то софтовый глюк в GDB отладчике.

    • @NRelectronics
      @NRelectronics  5 місяців тому

      А если проект сделать с нуля и подсунуть либы?

    • @ajdarseidzade688
      @ajdarseidzade688 5 місяців тому

      @@NRelectronics С нуля - вроде не было. Но если и будет, то делать тоже самое - так выходит. Это кстати на STM32H7.

    • @NRelectronics
      @NRelectronics  5 місяців тому

      Надо бы конечно Вам разобраться в этом. Если первичный проект подобного не вызывает, то что происходит, удаляете лишнее...

  • @vovanstarasov8212
    @vovanstarasov8212 4 місяці тому

    Кейл в 24 году? Рукалицо. Как нужно не любить себя.

    • @NRelectronics
      @NRelectronics  4 місяці тому

      А что любить эклипс на джаве? Издеваться над собой спасибо не надо.