跳转至

debug

debug 提供内核调试与诊断功能,包括格式化日志输出、异常恐慌处理、调用栈回溯、条件断言检查及数据缓存刷写。

头文件清单

#include "include/osal/debug/osal_debug.h"

接口清单

接口名称 功能简述
osal_printk 格式化日志打印输出函数
osal_panic 内核异常恐慌函数,打印异常信息后系统停止响应
osal_dump_stack 内核回溯函数,打印当前任务调用栈信息
osal_bug_on 条件异常触发函数,条件为真时触发系统异常
osal_flush_cache 内核数据缓存刷写函数,刷写CPU DCache

Functions

osal_printk

void osal_printk(const char *fmt, ...)

头文件清单

#include "include/osal/debug/osal_debug.h"

功能说明

  • 提供格式化日志打印输出能力,支持可变参数列表
  • 用于内核态调试信息输出,将格式化字符串输出到控制台
  • 支持多操作系统环境:linux、liteos、seliteos、freertos

入参

名称 参数类型 详细说明 约束取值范围
fmt const char * 格式化字符串指针,指定输出格式 不为NULL
... 可变参数 与 fmt 中的格式说明符一一对应的可变参数 -

osal_panic

void osal_panic(const char *fmt, const char *fun, int line, const char *cond)

头文件清单

#include "include/osal/debug/osal_debug.h"

功能说明

  • 提供内核异常恐慌处理能力,打印异常信息后系统停止响应
  • 打印内核恐慌信息,包含函数名、行号、触发条件等上下文
  • 调用后系统将无法继续响应,属于不可恢复的致命异常处理

入参

名称 参数类型 详细说明 约束取值范围
fmt const char * 格式化字符串指针,指定异常输出格式 不为NULL
fun const char * 发生异常的函数名 不为NULL
line int 发生异常的源码行号 -
cond const char * 触发异常的条件表达式字符串 不为NULL

osal_dump_stack

void osal_dump_stack(void)

头文件清单

#include "include/osal/debug/osal_debug.h"

功能说明

  • 提供内核回溯能力,打印当前运行任务的调用栈信息
  • 从当前运行任务开始追踪并打印函数调用链
  • 用于调试时定位函数调用路径和栈帧状态

osal_bug_on

void osal_bug_on(unsigned char condition)

头文件清单

#include "include/osal/debug/osal_debug.h"

功能说明

  • 提供条件异常触发能力,当条件为真时触发系统异常
  • 条件为真时触发异常(如写入非法地址),导致系统进入异常状态
  • 用于内核态断言检查,检测不应出现的逻辑错误

入参

名称 参数类型 详细说明 约束取值范围
condition unsigned char 条件判断值,非零时触发异常 0:不触发异常;非0:触发异常

osal_flush_cache

void osal_flush_cache(void)

头文件清单

#include "include/osal/debug/osal_debug.h"

功能说明

  • 提供CPU数据缓存刷写能力,将DCache中的脏数据回写到主存
  • 用于确保数据一致性,在DMA传输、缓存调试等场景下调用
  • 刷写完成后CPU数据缓存与主存内容保持一致