手机网站seo优化,商城网站开发培训学校,wordpress 子目录建站,技术太差 不想干程序员FIQ-Debugger
fiq debugger是集成到内核中的一种系统调试手段。 FIQ在arm架构中相当于nmi中断#xff0c;fiq debugger把串口注册成fiq中断#xff0c;在串口fiq中断服务程序中集成了一些系统调试命令。
一般情况下串口是普通的console模式#xff0c;在串口工具下键盘输入…FIQ-Debugger
fiq debugger是集成到内核中的一种系统调试手段。 FIQ在arm架构中相当于nmi中断fiq debugger把串口注册成fiq中断在串口fiq中断服务程序中集成了一些系统调试命令。
一般情况下串口是普通的console模式在串口工具下键盘输入 fiq串口会切换到fiq debugger模式。
因为FIQ是不可屏蔽中断所以这种调试手段适合调试cpu被hang住的情况可以在hang住的时候用fiq debugger打印出cpu的故障现场常用命令是sysrq另一种情况是文件系统把 askconsole 关闭了也是同样适用的。
要使用fiq debugger需要内核配置
CONFIG_FIQ_DEBUGGER // 使能fiq debugger
CONFIG_FIQ_DEBUGGER_CONSOLE // fiq debugger与console可以互相切换
CONFIG_FIQ_DEBUGGER_CONSOLE_DEFAULT_ENABLE // 启动时默认串口在console模式对于RK3568 4.19内核在rk3568-linux.dtsi中fiq_debugger节点配置如下。由于fiq_debugger和普通串口互斥在使能fiq_debugger节点后必须禁用对应的普通串口uart节点。
chosen: chosen {bootargs earlyconuart8250,mmio32,0xfe660000 consolettyFIQ0;
};fiq-debugger {compatible rockchip,fiq-debugger;rockchip,serial-id 2;rockchip,wake-irq 0;/* If enable uart uses irq instead of fiq */rockchip,irq-mode-enable 1;rockchip,baudrate 1500000; /* Only 115200 and 1500000 */interrupts GIC_SPI 252 IRQ_TYPE_LEVEL_LOW;pinctrl-names default;pinctrl-0 uart2m0_xfer;status okay;
};uart2 {status disabled;
};Fiq debugger相关使用命令
debug help
FIQ Debugger commands:pc PC statusregs Register dumpallregs Extended Register dumpbt Stack tracereboot [c] Reboot with command creset [c] Hard reset with command cirqs Interupt statussleep Allow sleep while in FIQnosleep Disable sleep while in FIQconsole Switch terminal to consolecpu Current CPUcpu number Switch to CPUnumberps Process listsysrq sysrq optionssysrq param Execute sysrq with param