• RT-Thread之debug使用(转)


    原文地址:http://www.manongjc.com/detail/15-trcbrhrbricessx.html

    简介

    介绍RT-Thread RTOS的Debug功能使用,包括配置和使用。
    开启Debug功能后,设计者可以在需要的位置使用LOG_DLOG_ILOG_ELOG_W向控制台输出信息,方便调试使用,使用形式参考rt_kprintf

    ENV工程配置

    在工程目录启动ENV,输入menuconfig进入配置界面,选择RT-Thread Kernel并进入

    使用上下键移动到Enable debugging features项,使用 空格键 勾选该项

    保存后退出,在ENV控制台更新重新编译工程。rtconfig.h的RT-Thread Kernel项里会增加RT_DEBUGRT_DEBUG_COLOR两个宏定义

    程序使用

    不同的任务使用debug时需要定义自身的参数,而且定义要写在使用的.c文件内,定义使用有两种形式

    • rtdbg.h文件
      直接通过rtdbg.h使用debug时的定义格式为

      #define DBG_TAG           "TAG_NAME"  
      #define DBG_LVL           DBG_INFO  //开启的debug级别
      #include <rtdbg.h>                  //must after of DBG_LVL, DBG_TAG or other options

      先定义DBG_TAGDBG_LVL再包含rtdbg.h文件,因为rtdbg.h内部处理DEBUG函数时会依据这俩变量,具体内容可以打开rtdbg.h阅读。

    • drv_log.h文件
      通过drv_log.h使用debug时的定义格式为

      #define DRV_DEBUG     //也可以不定义DRV_DEBUG
      #define LOG_TAG       "TAG_NAME"
      #include <drv_log.h>  //must after of DRV_DEBUG, LOG_TAG or other options

      这种方式是对上一种方法的封装,使用debug功能时只能开启DBG_LOG或者DBG_INFO级别,因为drv_log.h已经固定了处理流程,最后还是包含rtdbg.h

      #ifndef LOG_TAG
      #define DBG_TAG               "drv"
      #else
      #define DBG_TAG               LOG_TAG
      #endif /* LOG_TAG */
      #ifdef DRV_DEBUG
      #define DBG_LVL               DBG_LOG
      #else
      #define DBG_LVL               DBG_INFO
      #endif /* DRV_DEBUG */
      #include <rtdbg.h>

    总结

    Debug使用时也可以添加其它宏定义,通过这两种方法定义只是为rtdbg.h处理提供依赖,也可以直接定义rtdbg.h内最终使用的变量,具体可以阅读源文件。

  • 相关阅读:
    编写一个静态类MyExtensions(看不太懂以后应该学到吧)
    c#
    HTML-表格与表单
    VS学习笔记3 (0413)
    HTML 个人简历模板简易版
    C#语言之二维数组
    C#学习笔记---函数 的理解及总结(入门级)
    c#语言-Split拆分
    c#学习之数组 36选7随机数不重复/折半取余
    VS学习笔记--数组
  • 原文地址:https://www.cnblogs.com/yeshenmeng/p/13576114.html
Copyright © 2020-2023  润新知