自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 vscode批量修改ctrl F2

vscode批量修改ctrl F2

2022-07-13 14:23:41 697 1

原创 WARNING:CPU :2 PID:593 at net/wireless/nl802.c:2883 nl80211_send_chandef+0x54/0x180

如上图所示,我在移植rtl8723du到rk3566平台上,连接路由器出现的一个错误。这个错误是AP的带宽造成的,我使用的是2.4G、20M/40M自动的带宽,当我固定AP(我这里的AP就是路由器)带宽为20M时,设备连接路由器不会出现这个错误,AP带宽设置为20M/40M自动,连接路由器就会出现这个错误。解决这个问题的方法如下图,在驱动代码的os_dep/linux/ioctl_cfg80211.c的rtw_cfg80211_ch_switch_notify这个函数中对结构体struct cfg802.

2022-05-12 16:49:42 1350 1

原创 将RTL8723DU移植到RK3568并编译到内核中

注意我这里是之前就已经将编译出来的wifi模块加载到内核中并成功验证所有的功能正常使用,才将它编译到内核中的。Z:\rk356x\kernel\drivers\net\wireless\rtl8723du在wireless目录下新建rtl8723du,将原来的wifi驱动源码driver拷贝一份到新建的rtl8723du目录下。Z:\rk356x\kernel\drivers\net\wireless在Kconfig中添加source “drivers/net/wireless/rtl8723du/

2021-11-13 09:16:48 1332 2

原创 device no response, device descriptor read/64, error -71

最近在做移植RTL8723DU到RK356X的工作,这个过程遇到了一些问题。今天记录遇到的如标题所述的问题,这个问题是我在将wifi模块插到USB host上内核识别到但是连接不成功,查看了很多资料,好像挺多都讲到电流信号啥的问题,现在记录一下我遇到的这个问题希望可以帮到更多的人。将模块插到USB上,使用dmesg命令查看到的缓存信息:[ 406.785107] usb 5-1: new high-speed USB device number 2 using xhci-hcd[ 406.9088

2021-11-11 17:15:10 7699 6

原创 error: unrecognized argument in option ‘-mabi=apcs-gnu‘

这是我在编译RTL8723DU,执行makefile遇到问题:aarch64-buildroot-linux-gnu-gcc.br_real: error: unrecognized argument in option '-mabi=apcs-gnu'aarch64-buildroot-linux-gnu-gcc.br_real: note: valid arguments to '-mabi=' are: ilp32 lp64aarch64-buildroot-linux-gnu-gcc.br_r

2021-11-05 17:08:07 6163

原创 Linux导出环境变量

export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin

2021-11-04 08:28:24 738

原创 warning: NUL character seen; rest of line ignored *** missing separator. Stop.

记录问题:在windows与ubuntu共享的源代码中执行make编译程序报错,查看源代码及目录中的其他文件,发现全都是乱码。

2021-11-03 11:36:14 941

原创 阿里云镜像ubuntu18.04

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

2021-10-21 11:11:29 422

原创 ubuntu通过命令行给cmake指定编译器

在终端中输入命令cmake -DCMAKE_CXX_COMPILER=$(which g++) -DCMAKE_C_COMPILER=$(which gcc) ./然后可以在CMakeCache.txt文件里查看编译器路径是否已经更换成自己设置的路径。

2021-10-21 11:02:08 878

原创 Linux消息队列

消息队列框架

2021-07-31 14:41:23 106

原创 ubuntu18镜像源修改为清华镜像源

备份原来的镜像源(是否选择备份看个人)sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup打开清华镜像源,找到ubuntu点击❓,选择对应的ubuntu版本,将出现的所有网址复制,在ubuntu中打开配置文件/etc/apt/sources.list,删除之前的镜像源,把清华的镜像粘贴到这个配置文件。sudo code /etc/apt/sources.list --user-data-dir(墙裂推荐使用vscode编辑器!!!)

2021-03-26 21:23:38 784

原创 ubuntu下解压缩tar.xz格式压缩包的方法

tar xvJf filename.tar.xz

2021-03-25 23:21:23 453

原创 使用Filezilla在ubuntu与windows之间互传文件

开启ubuntu下的FTP服务使用命令sudo apt-get install vsftpd安装FTP服务,当软件安装成功后使用命令sudo vi /etc/vsftpd.conf打开配置文件(文件编辑器可自行选择,推荐使用vscode),打开之后找到local_enable=YES以及write_enable=YES取消这两行的注释“#”。保存之后sudo /etc/init.d/vsfpd restart重启FTP服务。Filezilla的配置在Filezilla软件打开文件选择新建站点,自己

2021-03-25 22:28:03 463

原创 字符设备驱动--点亮LED

驱动的作用设备驱动与底层硬件直接打交道,按照硬件设备的具体工作方式读写设备寄存器,完成设备的轮询、中断处理、DMA通信,进行物理内存向虚拟内存的映射,最终使通信设备能够接发数据,显示设备能够显示文字和画面,存储设备能够记录文件和数据。内存管理单元MMUMMU的功能MMU为编程提供了方便统一的内存空间抽象,我们的程序中所写的变量地址是虚拟内存当中的地址,倘若处理器想要访问这个地址时,MMU便会将此虚拟地址翻译成实际的物理地址,之后处理器采取操作实际的物理地址。MMU是一个实际的硬件,并不是软件程序。

2021-02-16 21:58:33 200 2

原创 linux字符设备驱动学习

字符设备驱动Linux设备分类字符设备:指应用程序按字节/字符来读写数据的设备。字符设备在实现时,大多不使用缓存器。系统直接从设备读取/写入每一个字符。块设备:通常支持随机存取和寻址,并使用缓存器。 操作系统为输入输出分配了缓存以存储一块数据。网络设备:是一种特殊设备,它并不存在于/dev下面,主要用于网络数据的收发。字符设备创建字符设备首先需要为字符设备申请设备号。Linux提供了静态申请和动态申请设备号两种方法。register_chrdev_region()register_chrd

2021-02-11 00:02:00 159

原创 C语言函数指针

函数是有地址的,因为函数的机器语言实现由载入内存的代码组成。指向函数的指针中储存着函数代码的起始处的地址。声明一个数据指针时,必须声明指针所指向的数据类型。声明一个函数指针时,必须声明指针指向的函数类型。为了指明函数类型,要指明函数签名,即函数的返回类型和形参类型。在c语言中声明以一个指向函数的指针格式为:...

2021-01-29 23:37:29 259

原创 new 操作符

c++中利用new操作符在堆区开辟数据,用delete释放内存。语法:new 数据类型利用new创建的数据,会返回该数据对应的类型的指针示例1:基本语法#include <iostream>using namespace std;int *func(){ int *a = new int(10);//定义int型变量a,并赋值10 return a;}int main(){ int *p=func(); int c,*b; b = &c; *b = 20

2021-01-26 22:50:23 141

原创 Lamda表达式

C++11中的Lamda表达式用于定义并创建匿名的函数对象,以简化编程工作。[capture](parameters)mutable->return type{ statement}[函数对象](操作符重载函数参数)mutable->返回值{函数体}函数对象参数[],表示一个Lamda的开始,这部分必须存在,不能省略。函数对象参数是传递给编译器自动生成的函数对象类的构造函数。函数对象参数只能使用那些到定义lamda为止时所在作用范围内可见的局部变量(包括lamda所在类的thi

2021-01-26 21:04:25 250

原创 在QT中添加C++11 标准

在.pro文件里添加CONFIG +=c++11或者QMAKE_CXXFLAGS += -std=c++11

2021-01-22 17:58:18 1716

原创 算法

算法的定义:算法是解决特定问题求解步骤的描述,在计算机中是指令的有限序列,并且每条指令表示一个或多个操作。算法的特性:有穷性、确定性、可行性、输入、输出。算法设计的要求:正确性、可读性、健壮性、高效率和低存储量需求。算法的度量方法:事后统计法(不科学、不准确)、事前分析估算方法。推导大O阶:用常数1取代运行时间中的所有加法常数在修改后的运行次数函数中,只保留最高阶段如果最高阶项存在且不是1,则去除与这个项相乘的常数得到的结果就是大O阶...

2020-12-22 20:41:10 136

原创 Linux内核驱动模块学习

.ko文件格式.ko文件在是elf(Excutable and Link Format)格式,是一种可重定位的目标文件。在编译驱动模块时,我们在makefile中用obj-m=xxx.o来指定生成内核驱动模块文件,即.ko文件。模块加载过程首先insmod会通过文件系统将ko读到用户空间的一块内存中, 然后执行系统调用sys_init_module()解析模组,这时,内核在vmalloc区分配与ko文件大小相同的内存来暂存ko文件, 暂存好之后解析ko文件,将文件中的各个section分配到init

2020-11-30 21:42:45 379

原创 ubuntu搭载网络文件系统与linux开发板共享资源

搭载网络文件系统的前提是开发主机和开发板需要连接在同一个局域网环境下。比如我这里的开发主机和开发板的网络IP分别为192.168.43.149和192.168.43.102。因此可知他们都连在同一个局域网下,都处于192.168.43.*这一个网段下。所以我们可以设置ubuntu下的配置文件网络的频段为192.168.43.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000,no_subtree_check)/home/lalalalisa/cros

2020-11-25 11:42:56 278

原创 E: dpkg was interrupted, you must manually run ‘sudo dpkg --configure -a‘ to correct the problem

在给Debian安装网络文件系统时,开发板断电,软件安装失败。第二天早上打开开发板执行相关命令出现错误“E: dpkg was interrupted, you must manually run ‘sudo dpkg --configure -a’ to correct the pro blem.E: dp”解决办法:cd /lib/udevsu

2020-11-25 10:55:57 456 1

空空如也

空空如也

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

TA关注的人

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