
串口线一条、手机一个
2.步骤
1将串口线插入电脑USB口,开启另一个终端查看串口设备名,输入下面命令:
dmesg
2找到最下面一行,尾部即是串口设备名称,我这里叫做“ttyUSB0”
3然后安装串口抓取软件,进入Ubuntu软件中心,搜索CuteCom,点击安装即可。
4运行CuteCom,需要root权限,所以通过终端来进行
sudo cutecom
打开后的界面如下:
5在上图位置1,填入/dev/ttyUSB0,位置2选最大参数921600
6准备工作就完毕了,点击Open device按钮,工具开始等待设备接入
7将手机连上串口线,点击开机按钮,位置3中就会将串口log打印出来
8如果需要保存,可以勾选位置4,点击后面的“…”按钮可以选择存储路径。也可以直接在位置3通过复制粘贴 *** 作进行。
3.注意事项
有些手机的串口log是没有打开的,那么就无法抓取得到。串口log一般都在开机后不再输出(影响性能),因此常用于分析开机log。
、去掉printk打印在linux内核中的/kernel目录下printk.c文件中有一个函数:
static void __call_console_drivers(unsigned long start, unsigned long end)
{
struct console *con
for (con = console_driversconcon = con->next) {
if ((con->flags &CON_ENABLED) &&con->write)
con->write(con, &LOG_BUF(start), end - start)
}
}
去掉如下两行重新编译内核即可:
if ((con->flags &CON_ENABLED) &&con->write)
con->write(con, &LOG_BUF(start), end - start)
2、标准输出、标准错误输出重定向
int main() {
int pid = 0
// fork a worker process
if (pid = fork()) {
// wait for completion of the child process
int status
waitpid(pid, &status, 0)
}
else {
// open /dev/null
int fd_null = open("/dev/null",O_RDWR)
if(dup2(fd_null, 1) == -1)
return 1
if(dup2(fd_null, 2) == -1)
return 1
XX_run()
}
return 0
}
我将标准输出和错误输出重定向到/dev/null中
如果我没有将输出重定向,只是关闭输出,close(1) close(2),程序经常出现错误,这个还需要继续研究。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)