自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (8)
  • 收藏
  • 关注

原创 调试程序,实现了命令行下输入字符串,支持修改,回调

linux终端,命令行输入,回调,删除

2023-07-20 11:04:33 70

原创 移植通过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.4

高通最新的qca-wifi-10.4驱动源码解析文档,对于无线驱动开发人员,是非常好的帮助文档

2017-06-26

qca wifi-10.2源代码用户手册

这是高通的qca的wifi源码解析文档,对qca-wifi-10.2目录下各个目录以及文件的作用的详细说明,对于从事qca的无线wifi驱动开发的人来说,是非常用帮助的

2017-05-08

GBK_UTF8格式转换程序源代码

此程序为C语言源代码,提供了GBK到UTF8格式转化的函数,可直接调用,不需要任何库。

2016-11-22

Linux设备驱动开发详解:基于最新的Linux 4.0内核

Linux设备驱动开发详解:基于最新的Linux 4.0内核

2016-04-16

链接脚本详解

非常详尽的链接脚本语法讲解,学习脚本的好文档。

2015-12-29

shell经典教材

学习shell者,此书必看。以实例来讲解知识点,让你快速掌握。

2015-12-29

perl语言入门

想学习perl语言的经典教材,以实例来讲解知识点,而不是理论的。非常适合入门学习者理解。

2015-12-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除