bug调试
酸菜鱼的鱼
Linux rtos 驱动应用开发 本博客主要用于工作学习的总结和备份,欢迎大家留言评论交流,谢谢
展开
-
Linux下查看分析可执行文件的方式
本文主要讲解可执行文件信息的查看方式和方法:readelf,ldd,nm,file,strip,size, strings,objdump转载 2020-07-02 21:24:12 · 4612 阅读 · 0 评论 -
树莓派cm3+的i2c使用总结
本文主要介绍了树莓派cm3+的i2c的使用配置方法,包括芯片平台自带的两个i2c外设soc的使用,i2c0总线上面挂接多个i2c设备的设备地址探测以及配置软件模拟i2c的方法。原创 2020-06-28 20:30:45 · 2118 阅读 · 0 评论 -
Linux系统中段错误信号sigsegv的捕获和调试使用
本文介绍了在Linux系统中通过捕获信号sigsegv信号debug segmentation fault的方法。要在程序的执行过程中能捕获段错误发出的信号sigsegv,需要在程序的开始的时候注册信号的处理函数signal(SIGSEGV, sigsegv_handler);并且在信号的处理函数sigsegv_handler中需要调用系统调用backtrace和bacetrace_symbols打印出回溯信息。接下来还需要通过objdump 的命令将程序反汇编成一个.s的汇编文件。然后根据回溯信息和汇翻译 2020-06-20 10:42:38 · 6370 阅读 · 2 评论 -
树莓派CM3+的串口1(uart1)和串口0(uart0)的功能实现
本文主要介绍了在树莓派的CM3+的平台上实现gpio接口的复用功能的方法。以gpio32和gpio33实现uart1的功能为例。以及在gpio14和gpio15上面实现uart0的方法。翻译 2020-05-12 22:32:49 · 2994 阅读 · 2 评论 -
Linux应用层对串口的使用操作
在Linux中串口作为字符设备,设备节点在/dev/目录下,使用普通的open,close,write和read等系统调用即可使用。这其中会涉及到一些串口的基本属性的设置,如:波特率,奇偶校验,停止位,数据位以及有无流控等。一些特殊的系统调用和数据结构会被使用。参考:https://blog.csdn.net/u013485792/article/details/51006790下面是一个简单的示例:#include <stdio.h>#include <str..转载 2020-06-07 10:32:32 · 1289 阅读 · 0 评论 -
open FIFO for write returns “No such device or address”
https://stackoverflow.com/questions/43402013/open-fifo-for-write-returns-no-such-device-or-address这个回答是说,打开一个fifo文件的时候,如果open设置为非阻塞只写的情况下,读端如果还没有打开的情况下,写端就会返回失败。所以在open一个fifo文件的时候,最好是设置为阻塞状态。这样ope...翻译 2020-03-04 22:08:31 · 1566 阅读 · 0 评论 -
Linux线程创建时参数传递的一些注意
最近在Linux平台下编程的时候,涉及到多线程的使用,在创建线程的时候少不了需要向线程中传递一些参数。Linux中的线程创建函数:intpthread_create(pthread_t*tidp,constpthread_attr_t*attr, (void*)(*start_rtn)(void*),void*arg);第四个参数void *arg就是创建线程的时候需要...原创 2019-12-10 19:07:44 · 1488 阅读 · 0 评论 -
windows网络抓包工具wireshark的使用(以调试rtsp为例)
下面介绍网络抓包工具wireshark的基本使用,以抓取rtsp流媒体服务器和客户端数据交互为例。工具的下载:https://pc.qq.com/detail/9/detail_6909.html安装好软件。现在的任务是,使用wireshare软件抓取流媒体服务器的服务端和客户端rtsp协议的交互过程,分析数据是否完整正确。软件的开始界面:我们使...原创 2019-11-15 19:27:09 · 4291 阅读 · 0 评论 -
C#调用socket 后出现配置系统未能初始化的问题解决方法
之前在csdn的论坛上提了一个问题,大概就是说我使用vs2015编写了一个使用udp广播的C#代码,但是每次执行vs上的运行按钮,代码执行到socket接口的时候都会报错,感觉很蒙蔽。也没有找到合适的方法。问题详情如下:https://bbs.csdn.net/topics/392725452自己摸索了一下,倒也不算什么解决方法,只能算是规避吧。解决方法:就是每次点击了上面的运行后,都...原创 2019-07-01 10:34:51 · 863 阅读 · 0 评论 -
安装软件时Ubuntu桌面的左边和上边的菜单栏消失的解决办法
背景:突然想着要在Ubuntu上安装一个有道翻译。不仅并没有安装成功,反而造成了Ubuntu桌面的左边和上边的菜单栏消失,右键没有open the terminal的选项。解决方法:Ctrl Alt F6 进入命令模式输入用户名aispeech-xyw,密码:命令行输入:sudo apt-get install compizconfig-settings-manager运行compi...原创 2019-06-11 09:32:34 · 2471 阅读 · 0 评论 -
在window的cmd命令行中通过chcp修改代码页--正确显示utf-8字符
Mt8616的开发板通过adb工具可以在Windows系统的cmd命令行显示出debug信息,但是mt8516开发板的系统上是移植的裁剪的linux系统,也就是里面的文件是utf-8的编码形式,不能正常的显示文件的内容。可以再Windows系统的cmd命令行中使用chcp命令改编代码页,utf-8的代码页是65001,执行后代码页就变为utf-8了。以下来自网络:在中文Windows系...转载 2019-06-10 19:08:43 · 1109 阅读 · 0 评论 -
linux中内存泄漏检测工具valgrind的使用
在ubuntu中的安装:sudo apt-get install valgrind使用方法:例如编译后的可执行文件为main。valgrind --leak-check=full ./main如下测试使用malloc申请1k的内存空间,并且释放。#include <stdio.h>#include <stdlib.h>int main(in...原创 2019-06-10 17:45:30 · 553 阅读 · 0 评论 -
应用层系统调用read,write 执行不到Linux内核驱动中file_operations中的read,write所指向的函数
open系统调用中的open(‘’/dev/dev_node”, RD_ONLY)第二个参数,如果指定为RD_ONLY,那么即使在应用层调用了write接口,也不能执行内核中write的驱动函数,同理如果指定为WR_ONLY,即使在应用层调用了read接口,也无法执行内核中的read函数。...原创 2019-05-11 14:32:26 · 940 阅读 · 0 评论