自定义博客皮肤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)
  • 收藏
  • 关注

原创 spinlock总结

spinlock原理

2022-11-02 11:53:19 353

原创 常用外设总线

常用基础外设总线

2022-10-22 17:54:38 2697

原创 无线网卡使用出现SIOCSIFFLAGS: Operation not possible due to RF-kill的解决办法

wifi相关

2022-01-29 10:45:30 3699 1

原创 交叉编译iw-4.0

1.下载iw工具的下载网站:https://mirrors.edge.kernel.org/pub/software/network/iw/我下载的是iw-4.0.tar.xz2.拷贝到ubuntu16共享目录并解压tar xvf iw-4.0.tar.xz3.进入目录cd iw-4.04.配置环境变量:export PKG_CONFIG_PATH=/home/syt/share/tools/libnl/libnl-3.2.21/_install/lib/pkgconfig5.编译mak

2021-05-06 13:40:06 364

原创 交叉编译hostapd-2.8

交叉编译hostapd2.8需要依赖libnl和openssl库,因此,需要先交叉它两。注意,openssl不同版本API不同,如果不能匹配hostapd会编译出错hostapd2.8版本需要的openssl库与hostapd2.5不一样hostapd2.5可以用openssl1.0.0hostapd2.8必须用更高的openssl版本,我这里用openssl-1.1.1a1、进入目录cd hostapd-2.8/hostapd2、使用默认配置项,拷贝成.config文件cp defconf

2021-04-20 15:32:33 831

原创 交叉编译libnl3.2

在7202环境编译libnl3.2版本:libnl-3.2.21.tar.gz交叉编译器版本:arm-gk720x-linux-uclibcgnueabi-1.解压:tar xvf libnl-3.2.21.tar.gz2.进入源码目录:cd libnl-3.2.213.创建安装目录mkdir _install4.配置编译器和安装路径。注意:arm-gk720x-linux-uclibcgnueabi后面没有横杠(-)./configure --host=arm-gk720x-linu

2021-04-19 09:43:19 1596

原创 交叉编译openssl-1.0.0

openssl版本号是openssl-1.0.0.tar.gz交叉编译器版本:arm-gk720x-linux-uclibcgnueabi-1.解压tar xvf open-1.0.0.tar.gz2.进入openssl目录cd openssl-1.0.03.创建安装目录mkdir _install (该目录名自定,交叉编译器后面有横杠(-))4.配置./config no-asm shared no-async --prefix=$PWD/_install --cross-compile

2021-04-19 09:40:41 1181

原创 树莓派更新kernel-headers记录

硬件平台:树莓派3B+1、官网下载最新镜像:2021-01-11-raspios-buster-armhf-full2、镜像烧写到SD卡,插入平台能正常启动3、编译驱动,发现在/lib/modules/(uname -r)目录下缺少build目录4、原内核版本是5.4,5、下载kernel-headers:sudo apt-get updatesudo apt-get install raspberrypi-kernel-headers6、下载的headers位于/usr/src/目录。7

2021-03-23 14:10:38 2040

原创 开发板运行可执行文件提示not found的问题

执行可执行文件提示 not found 时,常见问题有:1.权限,如果权限不够许添加可执行权限2.是否在PATH路径下,如果不在PATH路径下,需要添加到PATH路径下,或者才./执行3.需要的库找不到。这种情况需要拷贝必要的库,可能是下载,甚至需要自己编译。有些交叉编译的可执行文件,可以编译成静态链接方式,跳过查找库的步骤,不过该方式可执行文件会大很多。有时候库的路径不对,需要重新指定路径或者创建软链接。4.检查是否是可执行文件。...

2021-03-02 19:36:30 3544

原创 Ubuntu开发环境搭建

ubuntu开发环境搭建全过程1、安装VM VirtualBox或者VMware2、安装ubuntu虚拟机3、设置网络为桥接模式,之后与宿主机在同一网段,方便后期文件夹共享和挂载4、更新下载地址sudo apt-get update5、安装vimsudo apt-get install vim6、安装编译内核所需工具sudo apt-get install build-essential git-core libncurses5-dev flex bison texinfo zip un

2021-01-14 11:37:59 1636

原创 wireless_tool2.9交叉编译记录

版本:wireless_tool.29.tar.gz1.拷贝到ubuntu16,并解压tar xvf wireless_tool.29.tar.gz2.修改Makefile里面的编译工具链//CC = gccCC= arm-none-linux-gcc//AR = arAR= arm-none-linux-ar//RANLIB =ranlibRANLIB = arm-none-linux-ranlib3.编译make4.在当前目录下生成iwconfig和iwlist工具,和libiw

2020-12-11 11:00:25 394 1

原创 list_head记录

基本结构:struct list_head{struct list_head *next,*prev;};结构体定义于kernel/include/linux/types.h,该结构体只有2个元素,指向struct list_head 同类型的指针。next指向链表下一个元素,prev指向链表上一个元素。常用接口定义在list.h目录。该结构体一般不单独使用,而是当多个资源需要组成链表时,加入该变量,充当结构体的链表区。举例:struct frame {struct list_head

2020-11-15 23:16:54 168

原创 Linux中tar常用命令总结

Linux中tar常用命令总结tar常用选项-c: create,创建的意思,只是把文件打包在一起,并不会压缩,常和其他压缩选项一起使用-x:extract,提取的意思,与选项c互斥,不能同时使用,本身有解压的功能,只能解压最基本的格式-t:list,显示,查看,用于在不解压的情况下查看压缩包内容,要和-f一起使用。-z:以gzip格式压缩或者解压缩,一般后缀是.tar.gz-j:以bzip2格式压缩或者解压缩 ,后缀一般是.tar.bz2-J: :以xz格式压缩或者解压,后缀一般是.tar.

2020-11-13 19:23:31 472

原创 iperf编译记录

交叉编译iperf记录我用的iperf版本是iperf2.0.5,参考网络资料,自己编译通过后总结。1.拷贝iperf源码到ubuntu目录2.使用tar工具解压3.进入iperf目录,创建_install目录,并修改权限7774.执行./configure --host=arm-linux --prefix=%PWD/_install参数分析 :–host 配置交叉编译工具链,但是不包括后缀-gcc–prefix指定安装路径,主要便于查找编译后的iperf文件5.make如果make

2020-11-11 09:27:18 298

原创 tasklet和work_queue的一点使用总结

tasklet和work_queue的使用最近和同事一起做驱动,同事负责USB接口,我负责SDIO接口,因为我前面还有其他工作,他负责所有框架性东西,最近发现一个很典型的问题。他 的数据通路都已经完全通了,我发现我的SDIO接口在读写数据的时候老是提示在中断中发生调度,且调度超时的BUG。后面仔细阅读代码才发现,他的数据发送和接收部分都是用tasklet来实现的,因为USB里面没有中断,发送urb没有等待队列,所以不会发生调度。但是sdio中CMD53/53都有使用到wait_queue_head_t这个

2020-11-05 22:53:21 270

转载 Ubuntu16.04更新内核版本

1、 安装必备软件编译工具:sudo apt-get updatesudo apt-get install libncurses5-dev build-essential kernel-package2、 下载内核去www.kernel.org下载你需要的内核版本的源代码:linux-4.4.10.tar.bz23、 解压源码tar xvf linux-4.4.10.tar.bz25、 配置内核:cd linux-4.4.40建议使用当前系统配置文件,使用当前系统配置文件方法:#cp /

2020-05-29 09:30:16 2140

转载 linux下dd命令使用详解(转载)

一、dd命令的解释dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512;c=1;k=1024;w=2参数注释:if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output fi...

2019-06-11 09:46:01 530

原创 虚拟机与主机共享文件夹

1 主机关闭防火墙2 设置虚拟机的网络连接位桥接模式3 主机和虚拟机在同一频段,相互能ping同4 虚拟机创建文件夹,设置权限 777sudo chmod -R 777 xxx5 设置共享在虚拟机的file中找到该共享文件夹,点击右键选择 Local Network Share跟着提示信息安装Samba 输入密码,一路自动 安装直到完成6 主机Windows上打开我的电脑,...

2019-06-04 15:06:30 476

转载 Ubuntu 32位还是64位查询

使用命令 sudo uname -m显示i686,就是32位的操作系统显示x86_64,则是64位

2019-06-04 14:37:22 449

原创 tar.bz2解压

tar.gz 格式解压为 tar -zxvf xx.tar.gz.tar.bz2 格式解压为 tar -jxvf xx.tar.bz2

2019-06-02 16:39:41 2953

原创 关于加载内核失败

加载7668驱动的时候提示错误,提示Unknown symbol cfg80211_scan_done。。。。。原因是缺少cfg80211驱动需要执行:sudo modprobe cfg80211

2019-06-02 16:27:05 3022

转载 Linux 编译内核--安装基本的--工具软件

编译内核–安装基本的–工具软件安装 libncurses5-dev libssl-dev 库sudo apt-get install libncurses5-dev libssl-dev安装 build-essential opensslsudo apt-get install build-essential openssl安装 libidn11-dev libidn11s...

2019-06-02 16:22:56 825

空空如也

空空如也

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

TA关注的人

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