使用串口线真机调试Linux内核
一、环境
ubuntu 14.04
一台有串口的PC(编号PC1,被调试机器)
另一台PC通过USB转串口线连接PC1(编号PC2,发起调试命令的机器)
二、串口线配置及测试
安装cutecom
USB转串口连上PC2,并和PC1相连
PC1和PC2使用sudo cutecom将串口软件打开
PC1上使用/dev/ttyUSB0 PC2上使用/dev/ttyS0 相同波特率115200
测试:PC1发送数据,PC2能够正常接收并回显。
三、编译并安装内核
在PC2中编译,编译好之后将生成的*header*.deb和*image*.deb放在PC1并安装。
sudo make menuconfig
sudo make-kpkg --initrd --revision 1.0 --append-to-version -2016 kernel_image kernel_headers
sudo dpkg -i *headers*.deb
sudo dpkg -i *image*.deb
四、PC1动态启动调试选项
echo ttyS0,115200 > /sys/module/kgdboc/parameters/kgdboc
五、测试配置结果
PC1运行如下命令
sudo su
echo g > /proc/sysrq-trigger
PC2进入Linux内核源码目录,并运行
gdb vmlinux
>set serial baud 115200
>target remote /dev/ttyUSB0
之后正常的话能够看到PC2进入Linux相应代码段
六、参考材料
通过KGDB进行双机内核调试 - 博客频道 - CSDN.NET
KGDB with VirtualBox: Debug a Live Kernel - Open Source For You
Kernel Debugging and Tracing Linux Update
gdb - KGDB remote debugging connection issue via USB and Serial connection - Stack Overflow
最新文章
- linux下修改系统时间
- 工具类HttpServerUtility
- js图片无缝滚动代码
- MyEclipse中无法将SVN检出来的项目部署到tomcat中
- LeetCode39 Combination Sum
- AVR抗干扰能力一般
- JavaScript 判断用户输入的邮箱及手机格式是否正确
- iOS Xcode的快捷键
- (转)JSP中四种传递参数的方法:
- mybatis 多参数处理
- 解析Tensorflow官方English-Franch翻译器demo
- 如何让HTML的编写更具结构性
- 堆结构的优秀实现类----PriorityQueue优先队列
- java可访问修饰符
- matplotlib 无法显示中文和负号的解决办法
- js动态改变css伪类样式
- grid - 通过网格区域命名和定位网格项目
- OI生涯回忆录 2017.9.10~2018.11.11
- mysql8.0驱动问题
- TECH books
热门文章
- Android动画效果之Tween Animation(补间动画)
- StructureMap 代码分析之Widget 之Registry 分析 (1)
- C站投稿189网盘视频源(UP主篇)
- DDD及相关概念
- 类型基础---CLR Via C#笔记一
- [解决方案]CREATE DATABASE statement not allowed within multi-statement transaction.
- 基于Metronic的Bootstrap开发框架经验总结(14)--条码和二维码的生成及打印处理
- C#开发微信门户及应用(1)--开始使用微信接口
- input输入
- hibernate.cfg.xml