TomWithKernel's Blog
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于

ftrace

什么是ftrace​ ftrace是 Linux 内核中一个功能强大的跟踪框架,用于跟踪和分析内核及其模块的执行情况。它提供了一系列工具和功能,帮助开发者调试内核、分析性能瓶颈、查看系统调用、函数调用、上下文切换等信息。 ​ ftrace 的主要功能: 函数跟踪 (function tracing): 可以跟踪内核中每个函数的调用情况,包括函数进入、退出的时间和执行时间。 例如,可以跟踪某个特定
2024-08-22
debug
#debug

I2C调试

I2C调试busybox devmem在Linux系统,如果我们想要访问某个寄存器,就需要写一个驱动程序,在驱动中映射寄存器地址,转为虚拟地址后就可以访问。但有时候,我们只是单纯想知道某个寄存器的值,不想这么麻烦,怎么办呢?Linux早就想到这一点了,于是提供了一个工具devmem,通过devmem就可以直接读写寄存器,devmem是一个命令,在shell中输入devmem命令就可以非常方便的读
2024-07-17
debug
#debug #i2c

ioctl

ioctl在驱动程序的ioctl函数体中,实现了一个switch-case结构,每一个case对应一个命令码,case内部是驱动程序实现该命令的相关操作。 ioctl的实现函数要传递给file_operations结构体中对应的函数指针,函数原型为 123#include <linux/ioctl.h>long (*unlocked_ioctl) (struct file * fp,
2024-07-10
ioctl
#ioctl

S3 问题根因分析技术文档

S3 问题根因分析技术文档问题背景 x86 1070 5.10 联想昭阳k4e-iml 待机自动唤醒 首先我们看一下日志 我们可以看到在准备Disabling non-boot CPUs 的时候检测到wakeup事件了(wake up pending),abort CPU freeze 一般这个wakeup事件产生可能是某些设备下电的时候出现异常,或者此时外部设备来了一个中断,打断S3的操作
2024-07-10
Power Management
#bug #Power Management

Suspend (kernel 5.10)

Suspend (kernel 5.10) state_store pm_suspend enter_state valid_state suspend_prepare sleep_state_supported pm_notifier_call_chain_robust suspend_freeze_processes freeze_processes freeze_kern
2024-06-20
Power Management
#Power Management

linux工具

USBcat_usb_device_power_wakeup.sh12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849#!/bin/bash# author: TomfileName=""productName=""for
2024-05-20
script
#script

USB

文章介绍了USB基本常识,USB硬件框架,USB子系统,包括如何传输,以及相关描述符的使用方法,USB hub以及USB设备插入检测等等
2024-05-18
usb
#usb

gdb

gdb编译程序加参数时生成调试信息 g 和 -ggdb 都是令 gcc 生成调试信息,但是它们也是有区别的 选项 解析 g 该选项可以利用操作系统的“原生格式(native format)”生成调试信息。GDB 可以直接利用这个信息,其它调试器也可以使用这个调试信息 ggdb 使 GCC为GDB 生成专用的更为丰富的调试信息,但是,此时就不能用其他的调试器来进行调试了 (如 ddx
2024-05-10
debug
#debug

perf

Perf工具安装下载先下载对应内核版本的perf源码:https://cdn.kernel.org/pub/linux/kernel/tools/perf/ 编译安装1234567tar -xvf perf-5.10.0.tar.gz cd perf-5.10.0cd tools/perf/makesudo cp perf /usr/local/bin/usr/local/bin/perf --v
2024-05-10
debug
#debug

strace

stracestrace会记录和解析命令进程的所有系统调用以及这个进程所接收到的所有的信号值 -c 统计每一系统调用的所执行的时间,次数和出错的次数等. -d 输出strace关于标准错误的调试信息. -f 跟踪由fork调用所产生的子进程. -ff 如果提供-o filename,则所有进程的跟踪结果输出到相应的filename.pid中,pid是各进程的进程号. -F 尝试跟踪vfork调用
2024-05-10
debug
#debug
12345

搜索

Tom repository
载入天数... 载入时分秒...
总访问量 次 总访客数 人