1 Star 0 Fork 1

鲸落 / STM32F4_EasyLogger_SystemView

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 2.93 KB
一键复制 编辑 原始数据 按行查看 历史
鲸落 提交于 2024-03-03 13:40 . update README.md

EasyLogger_SystemView

介绍

1.基于STM32 Standard Peripheral Libraries V1.9.0开发;
2.基于最新版本FreeRTOS V10.5.1开发;
3.开启EasyLogger Async功能,可以进行多线程Log输出;
4.SystemView监控功能,为监控系统行为提供新方法;
5.本项目使用的是STM32F401CCU6核心板进行开发;

软件架构

本项目主要基于FreeRTOS V10.5.1开发,使用STM32 Standard Peripheral Libraries V1.9.0库,使用SystemView监控软件,为监控系统行为提供新方法。
FreeRTOS、EasyLogger和SystemView都存放在Third_Party文件夹下,STM32标准库在Libraries文件夹,不需要的功能直接删除即可。

安装教程

  1. 本项目使用的是STD library V1.9.0,下载地址
  2. 本项目使用的是FreeRTOS V10.5.1,下载地址
  3. 本项目使用的EasyLooger项目,下载地址
  4. 本项目使用的SystemView监控软件,版本为3.52a, 下载地址
  5. SystemView监控软件需要配合JLinkV9及以上版本使用,官方未对授权进行限制,非常良心;

使用说明

EasyLogger使用说明

EasyLogger使用Async功能,主要需要完成以下几个关键步骤:

  1. 开启串口DMA功能,并且打开DMA发送完成中断;
  2. 创建3个二值信号量,注意:不要创建互斥信号量,因为互斥量无法在中断中进行使用;
SemaphoreHandle_t xSemaphore_output_lock; // 打印输出信号量
SemaphoreHandle_t xSemphore_dma_lock; // DMA打印完成信号
SemaphoreHandle_t xSemphore_elog_async; // 异常log输出信号量
  1. 创建EasyLogger任务,采用信号阻塞的方式,当有打印信息需要输出时,发送信号量,任务被唤醒,进行打印;

EasyLogger异步打印

SystemView使用说明

SystemView使用步骤:

  1. 下载SystemView软件,并安装;
  2. 下载SystemView Target Sources
  3. 只需要在项目增加以下文件即可,并且增加头文件对应的路径:
SEGGER_SYSVIEW_FreeRTOS.c
SEGGER_SYSVIEW_Config_FreeRTOS.c
SEGGER_RTT.C
SEGGER_RTT_printf.c
SEGGER_SYSVIEW.c
  1. 在FreeRTOSConfig.h文件中,增加头文件:
#include "SEGGER_SYSVIEW_FreeRTOS.h"
  1. 在main.c文件中,增加初始化配置,一定要放在外设初始化前,系统启动后:
SEGGER_SYSVIEW_Conf();
  1. 启动SystemView软件,选择JLink,连接目标板,选择目标板串口,点击Start,即可看到系统运行效果; SystemView效果图
C
1
https://gitee.com/Mathaw/STM32F4_Easylogger_SystemView.git
git@gitee.com:Mathaw/STM32F4_Easylogger_SystemView.git
Mathaw
STM32F4_Easylogger_SystemView
STM32F4_EasyLogger_SystemView
master

搜索帮助