命令行维护SVN
svn log | head -n 10 #显示最近10行svn log更新
svn info #查看项目的svn URL地址,注意路径中的中文会乱码
svn rm test.c #文件状态会变为D,直接执行rm命令只变为!
svn status | grep ^[A\|M\|D] #过滤并显示出改动的文件
svn ci `svn st | grep ^[A\|M\|D] | awk '{print $2}'` -m "[CHG]test" #批量提交的SVN命令
svn revert --recursive ./test.c #取消错误add的文件,最后的参数项是目标文件
svn revert -R . #还原文件夹下所有的改动
嵌入式linux设备打印调试
打印级别参考:http://www.cnblogs.com/victor-ma/p/5332137.html
#define KERN_EMERG "<0>" /* 系统不可使用 */
#define KERN_ALERT "<1>" /* 需要立即采取行动 */
#define KERN_CRIT "<2>" /* 严重情况 */
#define KERN_ERR "<3>" /* 错误情况 */
#define KERN_WARNING "<4>" /* 警告情况 */
#define KERN_NOTICE "<5>" /* 正常情况, 但是值得注意 */
#define KERN_INFO "<6>" /* 信息型消息 */
#define KERN_DEBUG "<7>" /* 调试级别的信息 */
cat /proc/sys/kernel/printk #查看打印等级
7 4 1 7 #打印级别高于第一个值(控制台级别)的日志会被打印到串口
echo 8 > /proc/sys/kernel/printk #调整控制台级别
8 4 1 7
echo 4 > /proc/sys/kernel/printk
EXTRA_CFLAGS += -DDEBUG #使用pr_xxx函数族调试:pr_debug, pr_info等
#在Makefile中放开DEBUG宏,其他打印机别对应的函数没有宏控制
pr_debug("test"); //KERN_DEBUG
pr_info("test"); //KERN_INFO
嵌入式设备基本调试指令
cat /sys/bus/ #查看总线下的设备信息
cat /proc/meminfo #查看RAM,配合free,ps,top命令使用
cat /proc/interrupts #查看系统中断的统计信息
cat /proc/mci/mci_info #查看mmc接口的时钟速率
cat /proc/modules #查看已加载的驱动模块,配合lsmod
taskshow #查看进程状态
dmesg (-c) #所有printk信息,包括因为级别低而没有打印到console的信息。-c打印后还会清空dmesg信息
du -sh * #查看当前目录下子目录和文件的大小
ls -ld */ #只显示目录下的子目录
grep -n xxx * #只搜索当前目录下的内容+显示行号
grep -nr xxx . #递归搜索,当前目录+子目录的内容
find . -name "*.o"
dirs -v #显示目录栈
dir -c #清空目录栈
pushd (+N) (-N) #切换目录栈
反汇编
arm-ca53-linux-gnueabihf-objdump -Dz -S uart232.o | vim -
arm-ca53-linux-gnueabihf-objdump -D uart232.o | vim -