当前位置: 首页 > news >正文

Ftrace 调试 Rockchip MIPI D-PHY 驱动步骤

 

#内核配置项 CONFIG_FUNCTION_TRACER=y、CONFIG_FUNCTION_GRAPH_TRACER=y 等# 挂载 debugfs(如果尚未挂载)
mount -t debugfs none /sys/kernel/debug# 设置 tracer 为 function_graph
echo function_graph > /sys/kernel/debug/tracing/current_tracer# 清空 filter 和 notrace
echo > /sys/kernel/debug/tracing/set_ftrace_filter
echo > /sys/kernel/debug/tracing/set_ftrace_notrace# 添加你关心的函数到 filter(以 rockchip_mipidphy_* 为例)
echo rockchip_mipidphy_probe > /sys/kernel/debug/tracing/set_ftrace_filter
echo rockchip_mipidphy_remove >> /sys/kernel/debug/tracing/set_ftrace_filter
echo rockchip_mipidphy_suspend >> /sys/kernel/debug/tracing/set_ftrace_filter
echo rockchip_mipidphy_resume >> /sys/kernel/debug/tracing/set_ftrace_filter# 可选:添加不想追踪的函数到 notrace
# echo some_unwanted_function > /sys/kernel/debug/tracing/set_ftrace_notrace# 开启 trace 记录
echo 1 > /sys/kernel/debug/tracing/tracing_on# 运行图像采集程序(触发驱动调用)
your_v4l2_app_or_command_here# 停止 trace
echo 0 > /sys/kernel/debug/tracing/tracing_on# 查看 trace 输出
cat /sys/kernel/debug/tracing/trace

输出示例

# tracer: function_graph
#
# CPU  TASK/PID         DURATION                  FUNCTION CALLS
# |    |               |   |                     |   |0)                |  rockchip_mipidphy_probe() {0)                |    devm_kzalloc() { ... }0)                |    devm_platform_ioremap_resource() { ... }0)                |    devm_request_irq() { ... }0)                |  } /* rockchip_mipidphy_probe */

完整自动化脚本(保存为 trace_dphy.sh

#!/bin/shMOUNT_DEBUGFS=1
TRACER=function_graph
FILTER_PATTERN="rockchip_mipidphy_*"# 挂载 debugfs
if [ $MOUNT_DEBUGFS -eq 1 ]; thenmount -t debugfs none /sys/kernel/debug 2>/dev/null || true
fi# 设置 tracer
echo $TRACER > /sys/kernel/debug/tracing/current_tracer# 清除 filter
echo > /sys/kernel/debug/tracing/set_ftrace_filter
echo > /sys/kernel/debug/tracing/set_ftrace_notrace# 设置 filter
echo $FILTER_PATTERN > /sys/kernel/debug/tracing/set_ftrace_filter# 启动 trace
echo 1 > /sys/kernel/debug/tracing/tracing_on# 提示运行应用程序
echo "Start your V4L2 capture program now..."
read -p "Press Enter to stop tracing..."# 停止 trace
echo 0 > /sys/kernel/debug/tracing/tracing_on# 输出 trace
cat /sys/kernel/debug/tracing/trace > /tmp/dphy_trace.txt
echo "Trace saved to /tmp/dphy_trace.txt"

使用方式:

chmod +x trace_dphy.sh
./trace_dphy.sh

http://www.xdnf.cn/news/1004599.html

相关文章:

  • 明远智睿SD2351核心板:边缘计算时代的工业级核心引擎深度解析
  • 深度学习之模型压缩三驾马车:基于ResNet18的模型剪枝实战(3)
  • DEVICENET转MODBUS TCP网关连接DeviceNet数字远程IO模块配置案例
  • 解决新版RN 热更新报错:recreateReactContextInBackground
  • Unity Mecanim C# 动画切换实践:实现随机播放待机动画
  • 网络安全:OWASP防护守则
  • Tomcat调优
  • Ntfs!NtfsAllocateRestartTableIndex函数分析和Ntfs!DIRTY_PAGE_ENTRY_V0结构的关系
  • CSS 基础选择器 文字控制属性 综合案例
  • python3.12安装记录
  • 分割任意组织:用于医学图像分割的单样本参考引导免训练自动点提示方法|文献速递-深度学习医疗AI最新文献
  • MCU、MPU、GPU、Soc、DSP、FPGA、CPLD……它们到底是什么?
  • 日本云服务器租用多少钱合适
  • 当卷积作用于信号处理
  • AppInventor2原生进度条组件LinearProgress用法及注意点
  • 第四讲 基础运算之小数运算
  • SAP ERS 自动化发票
  • ubuntu 挂载问题
  • COHERENT XPRV23光电接收器控制软件
  • 观点 | 技术型企业在参数堆砌下的品牌识别度缺失
  • 5分钟玩转Swagger UI:Docker部署+静态化实战
  • 零基础设计模式——行为型模式 - 观察者模式
  • 将创世SD NAND FLASH设计在无人机上,可从硬件适配、接口与协议兼容、性能匹配
  • 不同环境的配置文件
  • OpenCV 图像几何形状绘制
  • 回归-嵌入式与c概念
  • docker 单机部署redis集群(一)
  • 股指期货入门基础知识
  • 【笔记】Blockchain
  • 微机原理与接口技术,期末习题(一)