嵌入式常用命令调试篇

设备文件上传、下载方式
在嵌入式应用开发中,往往需要把程序拷贝到设备上运行,或者一些配置文件拷贝到设备上,这是需要借助一定的工具来完成文件的传输,这里介绍三种文件传输的方式。
(1)NFS共享(虚拟机需要搭建NFS服务器)
mount -o nolock -t nfs 设备IP:设备目录 虚拟机目录
例如;mount -o nolock -t nfs 10.82.16.64:/home/chenjg/chen/nfs/ /mnt/nfs/

(2)tftp传输**
下载
#tftp -gr 文件 服务器IP
tftp –g –l 目标文件名 –r 源文件名 服务器地址
上传
#tftp -pr 文件 服务器IP
tftp –p –r 目标文件名 -l 源文件名 服务器地址
注:tftp传输需要设备和电脑IP是相同网段才能传输

tftp工具网盘路径
链接:https://pan.baidu.com/s/1DpiActuRM1NZSwk9oLYF1w
提取码:ljke

(3)ftp(文件传输协议) ftp服务器配置好用户名、密码、共享文件等**
下载
ftpget -u 用户名 -p 用户密码 -P 21 设备IP 文件名
上传
ftpput -u 用户名 -p 用户密码 -P 21 设备IP 文件名

ftp服务器下载路径:提供两个,选其中一个即可
链接:https://pan.baidu.com/s/1F3QLjFoi9qUCOM_ubHPFlA
提取码:kzbj
加粗样式
挂载调试
挂载调试是程序最方便的调试手段之一,修改程序,挂载运行,不需要经过设备重启的过程,节省了很多的调试时间,当不断kill进程,不断挂载运行,会导致共享内存和缓冲越来越大,最后导致程序运行空间不足,以下命令可以清楚缓冲,挂载程序时,不需要重启启动设备,调试更加方便,可靠。
清除共享内存
ipcs -m | awk ‘$s ~/[0-9]+/{print $2}’ | while read s; do ipcrm -m $s; done
清除缓冲
echo 3 >/proc/sys/vm/drop_caches

设备故障排查方式
如果设备遇到内存不足、硬件问题导致程序挂掉或者设备重启的情况,软件调试基本是很难去排查问题,但dmesg命令却可以帮助去排查这些问题。dmesg命令设备故障的诊断是非常重要的。
1、可以进行硬件的连接或断开连接操作时,我们可以看到硬件的检测或者断开连接的信息。
2、可以查看是否为内存不足的而导致程序挂起

抓包调试
当程序涉到协议层数据的分析时,比如http协议、tcp,usp、arp等等,往往需要借助抓包工具进分析,这里提供抓包工具的下载
1、Fiddler2
常用于和网页进行调试。

2、wireshark
功能十分强大、可以抓任意协议的包数据。
Fiddler2和wireshark抓包工具下载路径
链接:https://pan.baidu.com/s/1PToowhVJz1NVSwrigFcfig
提取码:3akn

3、tcpdump
上面介绍的两种抓包工具是在window平台上使用的。而tcpdump是在设备环境中进行使用的,可以更直接分析数据。

tcpdump工具的源码下载:
链接:https://pan.baidu.com/s/13QmdhzY706CxtXr4XsIKOw
提取码:ri3n
注:tcpdump的编译环境已经搭好,只需要改变CC工具链即可。

查看设备nand、flash空间、设备内存和CUP命令
设备nand、flash空间是系统层比较重要的一块,空间大小决定于所容纳程序的大小,所存放数据的大小。如果空间不够,程序大小或者数据量超出空间就会导致系统出现问题。掌握磁盘的管理,一方面可以对程序大小和数据量加以限制,另一方面可以对程序和数据量方面进行裁剪。
以介绍一些磁盘管理命令:
df --用于显示目前在Linux系统上的文件系统的磁盘使用情况统计。
du–du命令用于显示目录或文件的大小。
mount (cat /proc/mounts)–mount 命令查看已挂载的文件系统
mount -a 会将 /etc/fstab 中定义的所有挂载点都挂上(一般是在系统启动时的脚本中调用,自己最好别用!),/etc/fstab :存放文件系统的静态信息的文件。
mount的一些应用:
(1)nfs挂载
mount -o nolock -t nfs 10.82.16.64:/home/chenjg/chen/nfs/ /mnt/nfs/\n
问题:nfs mount 默认选项包括文件锁,依赖于portmap提供的动态端口分配功能。
解决方法:kill 文件锁(lockd)或者mount -o nolock

(2)文件系统读写权限设置
设备有些目录是没有权限读写的,无法创建或者修改文件,需要给目录赋予读写权限,通过mount实现。
mount -o remount,rw /
mount -o remount,rw /mnt/flash/Server/
rw:读写
ro:读

(3)分区挂载
mount -t yaffs2 -o rw /dev/mtdblock12 /mnt/flash/save

(4)分区卸载
1、如果要卸载某硬件设备,在执行 umount 命令之前,用户须退出挂载目录
2、卸载命令后面既可以加设备文件名,也可以加挂载点
umount /mnt/flash/save

tmpfs为临时文件系统,是一种基于内存的文件系统
优势:1、动态文件系统大小 2、速度快
缺点:断电数据丢失

设备内存和CUP命令
设备的内存和CPU是衡量设备性能的重要一环,掌握设备的内存和CPU的管理也是很重要的。
free
命令显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存
top
命令经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。
-d 表示top命令显示的页面更新一次的间隔。默认是5秒

在top命令显示的页面还可以输入以下按键执行相应的功能
H键:显示各个线程占用的CPU,有助于优化线程性能
S键:show memory 有助于查看内存是否泄漏问题

系统启动时间和运行时间命令
(1)uptime
08:33:11 up 3:23, 2 users, load average: 11.86, 13.33, 13.70
08:33:11 当前时间
3:23 系统运行时间
2user 正在登录用户数
11.86, 13.33, 13.70 依次是 1分钟,5分钟,15分钟的平均负载

(2)查看/proc/uptime文件计算系统启动时间
12599.24 7859.24
第一数字即是系统已运行的时间5113396.94 秒,运用系统工具date即可算出系统启动时间
cat /proc/uptime| awk -F. ‘{run_days=$1 / 86400;run_hour=($1 % 86400)/3600;run_minute=($1 % 3600)/60;run_second=$1 % 60;printf(“系统已运行:%d天%d时%d分%d秒”,run_days,run_hour,run_minute,run_second)}’
输出:系统已运行:59天4时13分9秒

文件搜索命令
**find **
find 搜索文件的命令格式:find [搜索范围] [匹配条件]
选项:
-name 根据名字查找
-size 根据文件大小查找, +,-:大于设置的大小,直接写大小是等于
-user 查找用户名的所有者的所有文件
-group 根据所属组查找相关文件
-type 根据文件类型查找(f文件,d目录,l软链接文件)
-inum 根据i节点查找
-amin 访问时间access
-cmin 文件属性change
-mmin 文件内容modify

(1)find 搜索目录 -name 目标名字

(2)*通配符来匹配使用
find / -name *file

grep
用法: grep [选项] “字符串/基本正则表达式” [文件]
grep命令可以根据指定的字符串或者正则表达式对文件内容进行匹配查找
-n 显示匹配行及行号。
-r 递归处理,将指定目录下的所有文件及子目录一并处理。
-v 反转查找。

wc
用法:wc [-clw][–help][–version][文件…]
-c或–bytes或–chars 只显示Bytes数。
-l或–lines 只显示行数。
-w或–words 只显示字数。
–help 在线帮助。
–version 显示版本信息。
在默认的情况下,wc将计算指定文件的行数、字数,以及字节数

ls
法:ls [选项]… [文件]…
-S sort by file size, largest first
-t sort by modification time, newest first

who
作用:用于显示系统中有哪些使用者正在上面,显示的资料包含了使用者 ID、使用的终端机、从哪边连上来的、上线时间、呆滞时间、CPU 使用量、动作等等。

uname
作用: 可显示电脑以及操作系统的相关信息。
-a或–all  显示全部的信息。
-m或–machine  显示电脑类型。
-n或-nodename  显示在网络上的主机名称。
-r或–release  显示操作系统的发行编号。
-s或–sysname  显示操作系统名称。
-v  显示操作系统的版本。
–help  显示帮助。
–version  显示版本信息。

locate
作用:命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值