- 论坛徽章:
- 0
|
STEP
1 编译不含sio的kernel(注释掉device.hints和device sio), 并以附件中的sio.c编译sio.ko
2 备份当前系统的kernel和sio.ko,并更新kernel, 并重启
3 加载虚拟串口驱动
#kldload /path/to/sio.ko
4 测试串口
#ll /dev/cuad* (可以看到2个串口,如cuad2,cuad3)
终端1:#cat /dev/cuad2
终端2:#echo test > /dev/cuad3
如果在终端1上看到输出的test,则表明虚拟串口连接成功
在终端1上按CTRL+c终止cat
5 调试内核
为串口联调配置好vmware虚拟机,配置虚拟机中的串口为/dev/cuad2
在主机中执行#kgdb -r /dev/cuad3 kernel.debug进行联调
ADVANTAGE
1 超越硬件的限制
2 软件模拟串口,传输速度可以不受串口速度的限制
![]()
文件:sio.tar
大小:20KB
下载:
下载
BUG
1 对控制信号的模拟不够精确
2 该驱动的加载会导致物理串口不能正常工作(如需使用物理串口,kldunload sio.ko后kldload备份的sio.ko即可)
3 性能尚有待改进
REFERENCE
1 zzy《Debugging with GNU Project Debugger》
2 Interfacing the Serial / RS232 Port,
http://www.beyondlogic.org/serial/serial.htm
3 The RS232 Standard,
http://www.camiresearch.com/Data_Com_Basics/RS232_standard.html
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/41770/showart_460776.html |
|