- 博客(520)
- 资源 (12)
- 收藏
- 关注
转载 linux tar分卷压缩、解压
tar -zcf - ROOT | split -b 10m - ROOT.tar.gz (按10MB分割,也可以写1G等等自定义大小)把ROOT文件夹打包压缩成ROOT.tar.gz00,ROOT.tar.gz01,ROOT.tar.gz02……把ROOT文件夹打包压缩成ROOT.tar.gz文件。-z压缩 -c归档(打包) -f指定包的文件名。-x解压 -C指定解压目录(可以不写)把ROOT.tar.gz压缩包解压。1、使用tar分卷打包压缩。1、使用tar打包压缩。2、使用tar分卷解压。
2025-05-26 09:52:55
69
转载 linux md5sum指令
通过md5sum来校验生成文件校验码,来发现文件传输(网络传输、复制、本地不同设备间的传输)异常造成的文件内容不一致的情况。工作 实践应用场景:需要比较2个rc1.tar.gz 包和rc2.tar.gz两个包,变更是不是和开发说的一致获取包,确保包正确无误获取包后,验证包的MD5值:md5sum rc*.tar.gz解压缩到指定目录确保对应的目录存在递归生成各文件的的MD5值比较两文件的MD5值或者用UltraCompare Professional比对结果。
2025-05-22 13:54:36
39
转载 ifneq ($(KERNELRELEASE),)用法
KERNELRELEASE是内核编译系统的Makefile中定义的宏,当内核编译系统反过来调用本模块的Makefile时,KERNELRELEASE已被定义,不为空,所以走else分支。在本模块内执行make 命令编译时,由于KERNELRELEASE没有被定义,值为空,所以make将执行ifeq分支:如果make的参数是clean,直接执行clean操作,然后结束。告诉内核编译系统本模块的路径;内核模块编译系统会反过来执行本模块的Makefile,主要目的是走else分支获取本模块的目标文件。
2025-05-13 16:06:30
40
转载 Makefile中的$(KERNELRELEASE)用法
KERNELRELEASE是在内核源码的顶层Makefile中定义的一个变量,在第一次读取执行此Makefile时,KERNELRELEASE没有被定义,所以make将读取执行else之后的内容,如果make的目标是clean,直接执行clean操作,然后结束。param-objs := file1.o file2.o 表示param.o由file1.o与file2.o 连接生成,obj-m := param.o表示编译连接后将生成param.o模块。
2025-05-13 16:02:58
29
原创 source insight 4.0没法自动补全次级结构体成员
在Source Insight中,需要进入“Options -> Preferences -> Typing -> Autocompletion”并勾选“Use automatic symbol completion window”。如果已经开启了自动补全功能但仍然无法补全次级结构体成员,可能是因为缺少相应的头文件。完成以上步骤后,重新打开Source Insight,尝试再次进行自动补全,看看是否能够正确补全次级结构体成员。次级结构体定义在上层结构体内,导致访问次级结构体成员没法自动补全;
2025-04-10 16:20:00
251
转载 Linux下C语言判断文件是否存在
pathname就是文件名(可包含路径),mode的取值有以下几种,可以使用或操作(OR)来组合,使用unistd.h里的函数access()来判断文件是否存在,其原型如下,X_OK 测试文件是否有执行权限。R_OK 测试文件是否有读权限。W_OK 测试文件是否有写权限。F_OK 测试文件是否存在。
2025-02-28 09:53:17
119
转载 windows 10/11访问samba: 0x80070035 找不到网络路径
说明:本人在win11上测试时,ubuntu16.04.5安装samba后,win11去访问samba出现了本博文描述的问题,直接重启一下win11,就能访问到samba了;在服务中查看Server、Workstation,Print Spooler、TCP/IP NetBIOS Helper以上的服务的状态,是否为启动的状态。Windows+x,打开控制面板,依次点击:控制面板\网络和 Internet\网络和共享中心\高级共享设置,在当前网络环境,打开“网络发现”和“文件和打印机共享“。
2025-02-27 11:44:59
884
原创 source insight 4.0 设置汉字编码方式
在 Source Insight 4.0 之前的版本中,对中文的支持不是很好。但是编辑器默认的编码格式是 UTF-8,所以如果之前的项目是其他编码格式,在打开的时候会显示乱码。以下是一些解决方法,可以帮助你更改 Source Insight 的编码格式,以正确显示中文字符。通过以上方法,你可以轻松地更改 Source Insight 的编码格式,解决中文显示乱码的问题,并优化你的编辑体验。除了更改编码格式,Source Insight 还有一些常用设置,可以提高你的使用体验。,选择你需要的编码格式,例如。
2025-02-19 09:53:14
1347
转载 RT-Thread代码启动过程——以及 Submain与Supermain
RT-Thread代码启动过程——以及 Submain与Supermain
2025-02-05 10:51:35
101
转载 zynq unable to alloc pbuf in recv_handler
网上最多查到的办法是增大pbuf部分的内存,例如 MEM_SIZE, MEMP_NUM_PBUF, PBUF_POOL_SIZE.这些参数。的时候是在循环中使用。1:这个错误在setup_rx_bds函数中发生,该函数功能是释放DMA的空闲bd块和传递以太网数据包。setup_rx_bds在emacps_recv_handler函数中调用。2:emacps_recv_handler函数是DMA函数的回调函数,以太网DMA收到数据包时候将会调用该函数。2:就是我们在循环外调用setup_rx_bds的方法。
2023-09-15 10:59:52
2441
4
原创 xilinx sdk2018.3批量注释代码
1. 快捷键:ctrl+/,先选择要注释的代码块,取消注释则再ctrl+/一下就行。2. 右键->选择source->Toggle comment。
2023-08-28 15:48:04
1084
原创 xilinx sdk2018.3格式化代码
3.选择source -> format即可格式代码,快捷键ctrl+shift+f可能成功不了,建议直接右键去格式代码。2.右键代码区空白处,弹出右键菜单栏。1. 打开sdk工程。
2023-08-24 15:25:01
861
转载 can2.0标准协议
其中CAN 2.0A协议仅支持标帧格式,而CAN 2.0B协议支持标准帧格式(Stand Frame,11位标识符)和扩展帧格式(Extend Frame,29位标识符),CAN 2.0B协议的存在只是为了解决标识符不够用的情况(标识符也称作CAN ID,位于数据帧或遥控帧的仲裁场),所以CAN 2.0B和CAN 2.0A一样每个数据帧最多传输8个字节的数据。标准格式 ID 与具有相同 ID 的遥控帧或者扩展格式的数据帧在总线上竞争时,标准格式的 RTR 位为显性位 的具有优先权,可继续发送。
2023-08-19 16:09:17
2297
转载 一文读懂can2.0协议规范
CAN 2.0 总线协议定义一个标称的位时间分为:同步段、传播段、相位缓冲段1、相位缓冲段2。同步段用于同步各节点,正常情况下跳变沿落在此段内;传播段用于补偿网络内的传输延时;采样点时刻读取的电平代表这个位的电平;CAN总线的时间份额通常由振荡器周期分频而得各时间段长度为:同步段1份额,传播段18份额,相位缓冲段1,18份额,相位缓冲段2,Max(相位缓冲段1,信息处理时间),其中信息处理时间
2023-08-19 15:54:47
2336
转载 ubuntu 更新阿里源
原文地址:https://www.cnblogs.com/moyu557/p/10710689.html查看新版本信息 lsb_release -cUbuntu 12.04 (LTS)代号为precise。Ubuntu 14.04 (LTS)代号为trusty。Ubuntu 15.04 代号为vivid。Ubuntu 15.10 代号为wily。Ubuntu 16.04 (LTS)代号为xenial1.备份源文件 sudo cp /etc/apt/sources.li
2022-05-12 15:41:00
761
转载 Ubuntu16.04.6 samba 不能访问共享文件夹,因为你的组织安全策略阻止未经身份验证的来宾访问
原文地址:https://jingyan.baidu.com/article/e9fb46e18b4e7f3420f7667f.htmlWindows 10提示你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问,怎么办呢?工具/原料 弘基Veriton E450 Windows10 方法/步骤 在win10的电脑上的左下角输入gpedit.msc,然后找到Microsoft通用管理文档 找到计算机配置-管理模板-网络
2022-04-18 14:09:40
3444
1
转载 十大经典排序算法
原文地址:一文搞掂十大经典排序算法_不才伟才的博客-CSDN博客一文搞掂十大经典排序算法今天整理一下十大经典排序算法。1、冒泡排序——越小的元素会经由交换慢慢“浮”到数列的顶端算法演示算法步骤比较相邻的元素。如果第一个比第二个大,就交换它们两个;对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数;针对所有的元素重复以上的步骤,除了最后一个;重复步骤1~3,直到排序完成。算法实现def bubbleSort(arr): for..
2022-04-14 13:47:06
173
转载 linux 文件IO - O_DIRECT和O_SYNC详解
原文地址:https://www.cnblogs.com/suzhou/p/5381738.html进入正题。O_DIRECT和O_SYNC是系统调用open的flag参数。通过指定open的flag参数,以特定的文件描述符打开某一文件。这两个flag会对写盘的性能有很大的影响,因此对这两个flag做一些详细的了解。先看一个open函数的使用例子. 1 2 3 4 5 6 /* Open new or existin
2022-04-07 16:44:22
8541
原创 source insight 3.5设置代码注释字体
打开source insight,菜单栏选择Options>>Style Properties>>Comment 选择注释文字字体,本人喜欢Calibri字体3. 保存设置,点击Done。注释效果如下:
2022-04-06 19:38:49
4381
2
转载 win10 命令行进入指定目录方法
原文地址:https://blog.csdn.net/weixin_29207913/article/details/106616959方法一在资源管理器”地址“前面输入cmd 。如下图:确认后cmd就会进入相关目录,进行其他cmd操作。如下图:方法二在资源管理器中,按住shift,同时右键空白地方,将会出现分别点击红框中选项,能分别使用PowerShell和WSL进入对应目录...
2022-03-21 21:31:47
2988
转载 xilinx petalinux离线编译
原文地址:https://www.cnblogs.com/hankfu/p/14074595.html介绍PetaLinux基于Yocto,编译Linux内核、文件系统等,非常庞大,需要的软件很多。如果从网络下载,可能消耗比较长的时间。本文基于Xilinx PetaLinux 2020.2.下载sstate文件进入Xilinx 网站嵌入式下载专区, 在页面内搜索“sstate”,找到和下载对应的文件。2020.1下,每个架构是一个独立的sstate文件。以前的版本,所有架构是一个sstat
2022-03-08 11:46:02
997
1
原创 linux 7z指令
安装7z指令包:Ubuntu安装:apt-get install p7zip-fullcentos安装:yuminstall p7zip -y压缩:7z/7za a -t7z -r *.7z /home/user/obj-folder/*a:表示压缩文件或文件夹-t:指定压缩格式,默认支持7z,也能支持.tar.bz2,-t后没有空格,直接接格式-r:表示递归解压缩子文件夹*.7z压缩后生成的压缩文件/home/user/obj-folder/*:要被...
2022-03-05 13:09:24
1524
转载 指针数组和数组指针的区别
原文地址:https://zhidao.baidu.com/question/410228978.htmlint (*p)[4] 和 int *p[4]的区别为:性质不同、长度不同、指向不同。一、性质不同1、int (*p)[4]:int (*p)[4]是个指针(数组指针),指向有四个int类型数据的数组。2、int *p[4]:int *p[4]是个数组(指针数组),每个元素都是一个int *指针。二、长度不同1、int (*p)[4]:int (*p)[4]的长度为1,为一个数组
2022-02-18 15:14:13
685
转载 linux spin_lock注意事项
原文地址:https://blog.csdn.net/madannasf/article/details/103246042一、概述在kernel中,发生并发访问的发生源主要为一下4种方式1、中断和异常,中断发生之后,中断处理函数与被中断进程之间有可能会出现资源并发访问2、软中端以及tasklet,软中断以及任务调度都会打断当前的进程,从而发生资源的并发性访问3、内核抢占,内核抢占也是会打断当前的进程,从而造成资源的并发性访问4、smp,多个CPU也会对同一个资源进行并发性的访问。为了解决资
2022-01-04 14:12:14
347
转载 linux select延时函数
原文地址:https://blog.csdn.net/star871016/article/details/108550068?ivk_sa=1024320u使用select接口写高精确延时。select接口int select(int maxfdp, fd_set *readset, fd_set *writeset, fd_set *exceptset,struct timeval *timeout);原理利用select的timeout参数实现定时器;设置timeval的值,而将其他
2021-11-18 11:45:51
1011
转载 linux usleep精度问题
原文地址:https://blog.csdn.net/weixin_42262944/article/details/107585320 最近在工作中遇到了一个应用程序usleep不准的问题,排查过程中了解了一下usleep的内核实现,简单的讲一下低精度模式下的usleep机制。 先把最终结论贴出来,内核使能 CONFIG_HIGH_RES_TIMERS选项,且平台支持高精度定时器模式,即可解决该问题。 下面主要来分析为什么在未使能高精度定时器的情况下,usleep不准的问题。参考文章可参
2021-11-17 14:46:42
4468
转载 windows取消、终止线程
原文地址:https://blog.csdn.net/SoaringLee_fighting/article/details/78377147一、线程终止windows操作系统中,创建的线程有以下4种终止方式1. 线程函数返回当线程函数返回时,该线程会被终止,始终应该采用该方式来结束线程的运行,因为这是确保所有线程资源被正确清除的唯一办法。如果线程按照该方式成功返回,则:1)线程函数中创建的所有C++对象均能通过他们的析构函数正确的被撤销2)操作系统将正确的释放线程运行栈所使用的内存
2021-10-09 15:24:29
2768
转载 如何处理代码中的长参数列表
原文地址:https://blog.csdn.net/qq_33589510/article/details/120445959有经验的程序员应该都见过,一个方法坐拥几十上百个参数。方法为何要有参数?因为不同方法间需共享信息。但方法间共享信息的方式不止一种,除了参数列表,还有全局变量。但全局变量总能带来意外惊喜,所以,取消全局变量也是各大语言的趋势。但方法之间还是要传递信息的,不能用全局变量,于是参数就成了唯一选择,于是,只要你想到有什么信息要传给一个方法,就会直接它加到参数列表中,参数列
2021-09-26 16:01:41
465
转载 WDF开发详解
原文地址:https://blog.csdn.net/lang_eva/article/details/109676808WDF开发详解添加设备:hdwwizKMDF驱动程序框架KMDF 驱动程序框架由对象和事件回调例程构成。KMDF 框架中所有的事物都由对象表示,各种事件处理都由事件回调例程来完成。学习KMDF编程,主要是学习 KMDF 的各种对象、对象函数和时间回调函数的编程。一、1.KMDF 对像为了实现基于对象的技术,微软精心设计了对象模型并进行了封装,提供了属性方法
2021-08-26 09:33:07
4058
转载 c 实现crc16查表校验
原文地址:http://www.seven365.cn/2017/12/21/2017-12/21/crc16/C实现的CRC16算法CRC即循环冗余校验码是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。基本原理任意一个由二进制位串组成的代码都可以和一个系数仅为0和1取值的多项式一一对应。例如:代码1010111对应的多项式为x6+x4+x2+x+1,而多项式为x5+x3+x2+x+1对应的代码101111。CRC的种类标准CRC生成多项式如
2021-08-16 15:37:38
2455
转载 winsocket tcp 非阻塞实例
在 Winsocket 一:单线程阻塞server&client程序(tcp) 和 Winsocket 二:多线程阻塞服务器程序(tcp)介绍了阻塞tcp程序,阻塞式tcp程序服务器程序会因为建立连接和关闭连接而频繁的创建和关闭线程会产生大量的内存碎片,从而导致服务端程序不能保证长时间的稳定运行,本文简单介绍非阻塞式tcp程序的编写。一、非阻塞 阻塞是指在进行一个操作的时候,如服务器接收客户端的连接(accept),客户端程序执行connect操作,服务器或者客户端读写数据(r...
2021-08-10 11:08:34
1848
转载 tcp 阻塞与非阻塞
原文地址:http://blog.chinaunix.net/uid-8489474-id-2031025.htmltcp协议本身是可靠的,并不等于应用程序用tcp发送数据就一定是可靠的.不管是否阻塞,send发送的大小,并不代表对端recv到多少的数据.在阻塞模式下, send函数的过程是将应用程序请求发送的数据拷贝到发送缓存中发送就返回.但由于发送缓存的存在,表现为:如果发送缓存大小比请求发送的大小要大,那么send函数立即返回,同时向网络中发送数据;否则,send会等待接收端对之前发送数据的确认
2021-08-05 17:29:37
3856
转载 windows driver - DeviceIoControl 用法
原文地址:https://www.cnblogs.com/lsh123/p/7354573.html之前写过一篇关于通过DeviceIoControl函数来使应用程序与驱动程序通信的博客,这次再通过这个完整的代码来简要疏通总结一下。 这种通信方式,就是驱动程序和应用程序自定义一种IO控制码,然后调用DeviceIoControl函数,IO管理器会产生一个MajorFunction 为IRP_MJ_DEVICE_CONTROL(DeviceIoControl函数会产生此IRP),MinorFunc.
2021-08-03 14:04:42
2533
3
转载 CTL_CODE宏函数
原文地址:https://blog.csdn.net/cosmoslife/article/details/7698688DDK中有一个CTL_CODE宏,用这个宏我们可以很方便的定义IOCTL。不管是IRP_MJ_DEVICE_CONTROL还是IRP_INTERNAL_DEVICE_CONTROL包,IOCTL都用如下形式定义:#define IOCTL_Device_Function CTL_CODE(DeviceType, Function, Method, Access)Devic
2021-08-03 11:20:43
359
转载 LARGE_INTEGER数据类型解析
驱动开发中,我们除了可以使用LONGLONG这个表示64位结构的数据外。还可以使用一个叫做LARGE_INTEGER的数据结构来表示64位数据。它的定义如下typedef union _LARGE_INTEGER { struct { ULONG LowPart; LONG HighPart; } DUMMYSTRUCTNAME; struct { ULONG LowPart; LONG HighPart; ...
2021-08-03 09:55:46
812
原创 UNREFERENCED_PARAMETER()宏函数
vs2013开发C程序,当定义一个变量如int val,这个变量未被使用时,vs编译就会报错或报出警告信息:“warning C4100: ''XXXX'' : unreferenced formal parameter.”屏蔽此报错或警告如下:加上UNREFERENCED_PARAMETER(val)即可。在vs编程windows 驱动时,经常没使用定义的变量会报错,导致编译失败。在vs编程windows 应用层代码时,经常没使用定义的变量会报警告,不影响编译。...
2021-08-02 14:21:03
634
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人