Перейти к содержанию
    

SEGGER SystemView для FREERTOS10

Здравствуйте, кто еще не пользовался данной программой от SEGGER тот много потерял. Все хорошо, удобно, но если использовать как для NO_OS, но если нужно использовать с STM32 FREERTOS10 от CubeMX, тот патч рельно отличается от того что идет от ST, только 2 файла из 5 подходят. Кто как патчит, как народ выкручивается? Я написал для себя патчер на лазарусе. Для M3 и M4F ядер, все прикручивал чисто к CubeMX.

Инструкция

1. Кидаем  в \Middlewares\Third_Party проектаimage.png.c8e79c76616ebdee9f896ab7b120288a.png Там кучка батников и мелких консольных прог, каждая патчит свой файл, поэтому не пугаемся.

2. Т.к. я такой еще программер, поэтому делаем по индуски, следующее, FREERTOS_Config.exe копируем в корень проекта image.png.59d79240ab1c8ba5bd9c146332cb5b1d.png

И делаем на него ярлык и его копируем в папку SEGGER_FREERTOS_Patcher, это для батника чтобы легче запускать.  image.png.d2cd6fc2370bf8478bfedfee4687fefa.png   

3. Запускаем Пропачтить M3.bat или Пропачтить M4.bat, готово, но учтите запускать один раз после генерации проекта, иначе если 10 раз нажать, то 10 раз пропатчит, это ерунда будет. Добавил батники Backup_In.bat и Backup_Out.bat это для бекапа 5 файлов в папку, и обратно в FREERTOS, ну это если кому нужно. 

Прога патчит абсолютно все что меняет CubeMX. Настройка муторная, но потом запускаете батник и готово.

Думаю тем кто занимается FREERTOS будет интересно. 

image.thumb.png.e1978a3b850a8db87a00cbfe1d578451.png

SEGGER_FREERTOS_Patcher.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Патч для FREERTOS я сделал, все как указано в официальном патче только с поправкой на ветер. И работает он только для него. Для вас можно посмотреть в сторону NoOS, и там можно сделать тоже самое, читаем документацию от SysnemView, там что-то с создать таск и все такое, сам когда-то такое писал чтобы видеть как работают свои функции, ну и самое мое любимое это смотреть за работой прерываний. Особенно находил визуально косяки, что требовали изменения приоритетов.

Например, для прерываний конструкция

void DMA1_Channel5_IRQHandler(void)

      SEGGER_SYSVIEW_RecordEnterISR();

    
      SEGGER_SYSVIEW_RecordExitISR();
 
}

Ищем в исходниках _cbSendSystemDesc в конфигах segger, добавляем I#31=DMA1_5 UART RX

И теперь в SystemView при прерывании 31 дается имя DMA1_5 UART RX

static void _cbSendSystemDesc(void) {
  SEGGER_SYSVIEW_SendSysDesc("N="SYSVIEW_APP_NAME",D="SYSVIEW_DEVICE_NAME",O=FreeRTOS");
  SEGGER_SYSVIEW_SendSysDesc("I#15=SysTick,I#31=DMA1_5 UART RX");
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...