- 博客(22)
- 资源 (8)
- 收藏
- 关注
原创 移植通过CMake编译的库的各种坑
1.源码库一定要注意是.tar.*格式的压缩包,必须通过tar命令进行解压缩,如果是zip格式的压缩包,一般是win版本的,在linux编译就容易出现各种格式问题,导致无法编译通过2.因为我通过cmake -D CMAKE_TOOLCHIAIN_FILE=/home/liuy/toolchain.cmake指定工具链版本,总是无法编译通过,所以只能通过直接把编译变量写进CMakeLists....
2020-03-13 11:33:04 1667 1
原创 监控线程是否存在
struct pthread_info{ pthread_t thread_id; char thread_name[64];}thread_id;struct pthread_info all_pthread_info[20];int cur_pthread_num = 0; if(thread_timer_cnt++ > 50) ...
2019-11-01 14:08:29 194
原创 段错误dump调试
1.在应用程序运行平台中,打开dump功能(如果没有ulimit):busybox sh -c 'ulimit -a'ulimit -c unlimited2.将应用程序编译,开启调试信息:在makefile的cflags中: -g3.当程序出现段错误时,会将dumped文件输出到你运行程序的目录下。比如说,你是在tmp下,运行程序,那么dumped文件就会在t...
2019-09-24 09:46:34 476
原创 uboot源码分析 (1) --makefile分析
1.为什么需要uboot,不能直接用linux启动。答:linux内核对uboot初始化过的硬件照样要重新初始化一遍,那么为什么需要uboot呢,因为linux内核很大,为了减少硬件成本,必须放在相对便宜的储存器中。要知道,CPU只能够访问具有直接运行代码的存储设备,即内存。而对于要启动设备而已,这个内存不仅要cup能够直接访问,而且断电不丢失数据。既然要有这么个内存,那么为了花费更小的硬件成...
2018-10-14 22:28:22 237
原创 数据排序算法
栈的实现:顺序存储栈:1 #include<stdio.h>2 #include<stdlib.h>3 #define STACK_INIT_SIZE 1004 #define STACKINCREMENT 105 typedef struct{6 int *base;7 int *top;8 int stacksize;9 }SqStack;10...
2018-04-19 00:22:43 868
原创 查看各种相关信息的命令
获取网关ip: route -n 获取网关mac: cat /proc/net/arp 获取网关port: brctl shwomacs br-lan 获取对方的bssid:iwconfig $sta_iface | grep "Access Point" | awk -F" " '{print $6}获取时间磋:cat /proc/uptime | c...
2018-04-11 09:09:43 213
原创 循环切换AP热点连接脚本
此脚本用于定时切换到不同的ap热点上,用于测试所连接ap的连接情况和稳定性#/bin/shbssid="00:0C:29:49:FC:11"echo >/etc/unconnect_log.txtecho >/etc/no_ping.txtwhile true;dofor bssid_ap in $bssid;dosed -i "s/^.*bssid.*$/bss...
2018-04-11 09:03:07 704
原创 MPDU和MSDU区别
Difference in implementation:If we see the packet being handed from the IP layer to the MAC layer the following sequence of processing is seen. The packet goes from the IP layer to the MAC-llc (logi...
2018-02-23 11:06:43 4376
原创 tftp安装
ubuntu更新时间:1.sudo tzselect2.sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime3.sudo ntpdate time.windows.com--------------------------------------------------------------------------------...
2017-07-07 10:36:45 288
原创 network switch配置
交互芯片内部解构:switch主要用在路由器上或交换机上。一般来说,像我们的家用路由器,有一个wan口,还有多个lan口。而没有交互芯片的路由器也就固定了wan口链接到物理接口eth0,lan接口连接到eth1上。那么如果我们有了交互芯片的话,如果wan坏了。我们就可以在原来的lan口上重新配置,划分wan口,和lan口用途一:wan口坏了,我需要重新转移到lan上去lan(...
2017-07-04 11:22:15 2474
原创 linux启动流程分析(一)
我分析的linux 版本是linux3.14.77编译脚本是:arch/arm/kernel/vmlinux.lds根据顶层Makefile可知,最开始编译的文件是arch/arm/kernel/head.S,所以这个文件是最开始执行的: 所有arm架构的芯片都是这个入口开始执行:arch/arm/kernel/head.S: 80 ENTRY(stext) 81 ARM...
2017-06-23 00:28:46 371
原创 quilt的常用使用命令解释
生成patch文件一般步骤为:生成空patch(quilt new filename.patch)->文件关联patch(quilt add {files})->修改文件->生成最终patch文件(quilt refresh) 1.生成一个空patchqulit new filename.patch2.文件关联patch(注:一定要在修改文件之前进行这个动作)q...
2017-05-24 18:35:03 6866
原创 git的经常使用的命令与svn类比
1.为新项目project建立git管理:进入project项目目录下:1)git init2)git add .3)git commit2.查看修改了哪些文件git status <-> svn st -q 3.查看文件具体修改内容(即文件修改前后对比)git diff <-> svn diff //这个命令只在 git add 之前使用有效。如果已经 add 了,那么此...
2017-05-24 15:41:57 453
原创 Openwrt系统中shell脚本获取配置文件信息解读
在网上查了发现关于这一方面的都没有详细的说明,搞得人一头雾水,如果不清楚里面是如何实现的,那么这些openwrt下shell脚本根本就看不下去了。没有详细的资料,唯有自己研究了。Shell脚本中获取文件信息主要依靠于以下几个shell函数:config_load,config_get,config_set.以解读配置文件/etc/config/wireless为例/etc/config...
2017-05-18 20:01:03 9438 3
原创 makefile与shell语法易混点
1.Shell变量和Makefile变量名一样,但是含义不一样:Makefile以下变量含义:$@ :扩展为当前规则的目标文件名;$< :扩展为当前规则依赖文件列表中的第一个依赖文件;$? :扩展为所有的修改日期比当前规则的目标文件的创建日期更晚的依赖文件,该值只有 在使用显式规则时才会被使用;$*: 扩展成当前规则中目标文件和依赖文件共享的文件名,不含扩展名;$^ ...
2017-04-15 01:23:11 1164
原创 如何自定义可变参数函数
在我们编写代码中,有时需要我们自定义可变参数函数,像库函数中有pirntf,ioctl都是可变参数函数,如果我们要实现自定义可变参数,一般要实现像int ioctl(int fd, unsigned long request, ...)这种功能的。下面讲解如何实现ioctl这个类型函数1.通过分析printf函数:1)typedef char *va_list; 2)#define...
2017-04-15 00:33:01 4179
原创 解决中文字符乱码问题,如何将gbk格式转换utf-8格式
中文乱码的原因是因为编码格式是gbk的,而显示的时候是utf-8格式的,所以需要将其utf-8格式,才能正常显示出来。1.gbk生成utf8程序需要经过两次转化。 1.gbk->unicode 2.unicode->utf82.gbkuni30_gen.h是gbk转化的unicode的数组,只有unicode部分,通过另一个文件程序可生成。gbk是索引(此文件可在我...
2017-04-06 10:14:43 9248 1
原创 svn常用用法
svn:1.下载项目源码1)svn co svn://192.168.2.13:3690/project-kaili2.更新项目代码(内容)1)svn up3.查看修改的内容1)svn st4.上传修改代码(内容)1)svn ci -m "*m: modify 说明文字" 文件名5.添加文件1)svn add 文件名2)svn ci -m "+: add 说明文字" 文件名...
2017-04-06 10:05:59 248
转载 内核写文件
#include <linux/fs.h>#include <linux/uaccess.h> struct file *fp; char p_buf[12]="run here!!\n",*string; mm_segment_t fs;int len; loff_t pos; fp =filp_open("/var/test.txt...
2017-04-06 09:57:56 336
原创 shell变量小常识
调试脚本可打印出运行命令命令行:sh -vx xxx.sh或脚本中:set -x -a FILE ] 如果 FILE 存在则为真。 [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。 [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。 [ -d FILE ] 如果 FILE 存在且是一个目录则为真。 [ -e FILE ]...
2017-04-06 09:49:40 287
原创 Arm-linux-xx编译工具用法
Arm-linux-gcc这个命令是程序的包装,它会根据不同的参数要求去调用预编译编译程序cc1(预处理+编译),汇编器arm-linux-as,链接器arm-linux-ld.一.GCC识别的文件扩展名文件扩展名文件类型.cC语言代码.C ,.ccC++语言代码.i
2015-05-20 11:25:22 510
qca wifi-10.2源代码用户手册
2017-05-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人