debug
debug 提供内核调试与诊断功能,包括格式化日志输出、异常恐慌处理、调用栈回溯、条件断言检查及数据缓存刷写。
头文件清单
接口清单
| 接口名称 | 功能简述 |
|---|---|
| osal_printk | 格式化日志打印输出函数 |
| osal_panic | 内核异常恐慌函数,打印异常信息后系统停止响应 |
| osal_dump_stack | 内核回溯函数,打印当前任务调用栈信息 |
| osal_bug_on | 条件异常触发函数,条件为真时触发系统异常 |
| osal_flush_cache | 内核数据缓存刷写函数,刷写CPU DCache |
Functions
osal_printk
头文件清单
功能说明
- 提供格式化日志打印输出能力,支持可变参数列表
- 用于内核态调试信息输出,将格式化字符串输出到控制台
- 支持多操作系统环境:linux、liteos、seliteos、freertos
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| fmt | const char * | 格式化字符串指针,指定输出格式 | 不为NULL |
| ... | 可变参数 | 与 fmt 中的格式说明符一一对应的可变参数 | - |
osal_panic
头文件清单
功能说明
- 提供内核异常恐慌处理能力,打印异常信息后系统停止响应
- 打印内核恐慌信息,包含函数名、行号、触发条件等上下文
- 调用后系统将无法继续响应,属于不可恢复的致命异常处理
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| fmt | const char * | 格式化字符串指针,指定异常输出格式 | 不为NULL |
| fun | const char * | 发生异常的函数名 | 不为NULL |
| line | int | 发生异常的源码行号 | - |
| cond | const char * | 触发异常的条件表达式字符串 | 不为NULL |
osal_dump_stack
头文件清单
功能说明
- 提供内核回溯能力,打印当前运行任务的调用栈信息
- 从当前运行任务开始追踪并打印函数调用链
- 用于调试时定位函数调用路径和栈帧状态
osal_bug_on
头文件清单
功能说明
- 提供条件异常触发能力,当条件为真时触发系统异常
- 条件为真时触发异常(如写入非法地址),导致系统进入异常状态
- 用于内核态断言检查,检测不应出现的逻辑错误
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| condition | unsigned char | 条件判断值,非零时触发异常 | 0:不触发异常;非0:触发异常 |
osal_flush_cache
头文件清单
功能说明
- 提供CPU数据缓存刷写能力,将DCache中的脏数据回写到主存
- 用于确保数据一致性,在DMA传输、缓存调试等场景下调用
- 刷写完成后CPU数据缓存与主存内容保持一致