- 博客(487)
- 资源 (6)
- 收藏
- 关注

原创 常用网址
1、RFC查询网站https://datatracker.ietf.org/doc/https://www.rfc-editor.org/search/rfc_search_detail.php2、
2020-09-23 11:06:45
458
1

原创 常用linux命令
grep rut_sendHttpdRedirect ./ -nrw有时候使用命令grep rut_sendHttpdRedirect ./ -nrw会出现不能在所有文件中查找的情况,这时候可以使用命令grep rut_sendHttpdRedirect ./ -rmkdir -p /root/test/jianshe/one/two,在加上-p参数后就可以一次建立多层目录在li...
2019-06-25 15:05:20
349
1

原创 个人笔记
1、一个线程不能被多个线程等待,也就是说对一个线程只能调用一次pthread_join,否则只有一个能正确返回,其他的将返回ESRCH 错误。2、c语言中#、##作为连接符只能在宏中使用3、strerror(errno)发生错误时可以使用这个打印错误信息,以%s打印4、iptables 命令有时候可能会执行不成功,最好添加-w参数。但是,加-w锁也不安全,所有地方加-w锁可能破坏调用顺...
2019-06-25 15:04:55
183
转载 yocto---学习1-介绍
本文参考yocto官方手册,如有理解不当之处,欢迎留言指出。项目概述和概念手册:https://docs.yoctoproject.org/overview-manual/index.html项目参考手册:https://docs.yoctoproject.org/ref-manual/index.html。
2025-02-20 10:50:15
76
转载 yocto的xxx.bb文件在什么时候会拷贝文件到build目录
此时的目标文件仍然存放在 ${WORKDIR} 中。此时,Yocto 会将 ${D} 中的文件(即你在 do_install() 阶段拷贝的文件)打包成一个软件包。构建阶段和安装阶段的区别:构建阶段(如 do_compile)主要是生成中间文件,而安装阶段(如 do_install)是将这些生成的文件拷贝到模拟的目标文件系统目录(${D})中。文件拷贝到 build 目录:主要发生在 do_install() 阶段,文件会被从构建目录(${WORKDIR})拷贝到目标目录(${D}),然后生成安装包。
2025-02-20 10:10:23
230
转载 IP fragment是什么意思?如何防御IP fragment攻击?
如果路由器、防火墙等中间设备对这些分片报文进行重组后在匹配其安全策略,那么又会对这些中间设备的资源带来极大的消耗,特别是在遇到分片攻击的时候,这些中间设备会在第一时间内消耗完其所有内存资源,从而导致全网中断的严重后果。黑客构造的分片报文,但是不向接收方发送最后一个分片报文,导致接收方要为所有的分片报文分配内存空间,可由于最后一个分片报文永远不会达到,接收方的内存得不到及时的释放(接收方会启动一个分片重组的定时器,在一定时间内如果无法完成重组,将向发送方发送。
2024-12-25 13:33:37
94
转载 Source Insight 4.x使用Ctrl+C无法复制
选用SourceInsight浏览代码目的是为了提高工作效率和编写代码的体验,在安装SourceInsight(3.5和4.0)后,选中代码片后,进行复制Ctrl+C或者剪切Ctrl+V快捷键操作时,光标立即跳入剪切板clips window(此前剪切板未打开),严重影响代码的编辑效率。关闭与SourceInsight热键冲突的软件(如谷歌翻译,有道词典,金山词霸的划词功能)。在使用的时候,可以鼠标调用。鼠标右击列表中的复制和粘贴功能正常,推测快捷键受其他热键影响未正常工作。
2024-12-09 18:24:03
521
转载 教你如何设置win7的快速启动功能
设置快速启动栏可以帮助我们能够更方便地打开常用软件。但是有不少人不知道该如何设置,其实方法非常简单,只需要修改一下文件夹路径,然后把程序添加到快速启动栏就可以了,下面就一起来看看具体步骤吧。
2024-12-08 12:09:23
1607
转载 exec函数用法总结
3、可能的几种错误有,找不到文件或路径,errno为ENOENT;execlp、execvp这两个函数第一个形参是名为file表示可以只列出文件名就可以了,不用指出它的路径。2、exec函数族执行成功后不会返回,执行失败会返回 -1,错误代码存放在errno中。要记住这六个函数之间的区别,就要搞清楚 “l” 、“v”、“p”、“e”代表的含义。族的时候,经常搞不清楚这六个函数之间的区别,下面就总结一下这六个函数的区别。“l”表示参数以列表的形式表示;“v”表示参数以数组的形式表示;1、参数以NULL结尾;
2024-12-06 09:41:41
58
转载 svn从一个分支同步代码到另外一个分支
接着在Show log中选择要从开发分支同步到补丁A分支的Revision号。1.4 在URL to merge from中填入A分支的地址。假设要同步代码的svn分支为:svn://A,简记为A。1.6 同步完毕后,检查无误后,在B分支中提交即可。svn目标分支的地址为:svn://B,简记为B。1.5 最后点击Merge(合并)即可。由于水平有限,如有问题,请指正。1.1 拉取B的最新代码。1.3 Next后选择第一个。
2024-11-14 15:35:22
397
原创 yocto错误汇总!!!
robot@robot-virtual-machine:~/poky$ ls bitbake LICENSE.GPL-2.0-only meta-selftest README.qemu build LICENSE.MIT README.poky scripts robot@robot-virtual-machine:~/poky$ source oe-init-build-env bash: oe-init-build-env: 没有那个文件或目录。下载的yocto不完全,删除后按照此博客重新下载。
2024-10-20 17:00:23
922
转载 Yocto:解决“QA Issue: Package version for package went backwards which would break package feeds”
主要原因是:如果启用了构建历史记录,那么当一个包在相同的名称下被构建出来时,Yocto 的 ERROR_QA 或者 WARN_QA 就会报告它的版本比以前构建的包的版本要低。如果你将旧版本包放置到镜像中,并使用该镜像升级目标系统上的包,则旧版本包可能导致目标系统无法正确升级到该包的“新”版本。
2024-10-17 14:22:54
135
转载 yocto
Yocto项目(YP)是一个开源协作项目,可帮助开发人员创建基于Linux的自定义系统,而无需考虑其硬件体系结构。该项目提供了一套灵活的工具和空间,全世界的嵌入式开发人员可以在其中共享技术,软件堆栈,配置和最佳实践,这些技术,可用于为嵌入式和IOT设备或需要定制Linux OS的地方创建量身定制的Linux映像。yocto的发行版为Poky,也是用来构建系统的基本工具。Poky包含定制版OpenEmbedded(OECore)和BitBake构建引擎,以及帮助我们构建系统的其他元数据,
2024-10-14 19:01:38
80
转载 Yocto编译系统介绍
其次是一个可用的Linux系统包含引导模块、内核、文件系统,以及很多必要的应用程序,如果手动编译上述的这些东西(LFS就是一个例子),需要花费很大的力气而且容易出错,而使用OpenEmbeded只需要几个简单的命令即可自动完成整个构建的过程。do_populate_sysroot:将do_install安装的目录文件拷贝到相应的sysroot中,这个目录最终会被放到共享区,其它任务构建就可以共享,具体哪些目标会被拷贝,取决于定义的sysroot相关的变量。Yocto,是一个开源社区。
2024-10-14 18:43:38
1220
转载 嵌入式Linux 开发经验:platform_driver_register 的使用方法
其实平台驱动本身一点都不麻烦,相反如果自己去拿个【设备节点名称】去匹配设备树,才会比较的麻烦,也就是说,注册了平台驱动,这个匹配操作就自动完成了,不需要用户写一些匹配设备树的操作函数手动去匹配了。利用平台驱动的这个机制,在设备匹配成功再去注册设备,那么注册实际的设备的操作放在平台驱动 probe 中调用,再适合不过了,如根据设备树觉得是否需要注册一个 misc 字符设备,如果匹配失败,那这个设备不存在,就无须注册,匹配成功,说明设备存在,就会在 probe 中注册设备。/* 移除驱动模块时会调用 */
2024-09-30 14:07:26
669
转载 Linux内核的 EXPORT_SYMBOL 和 EXPORT_SYMBOL_GPL 的作用
它表示一个符号,如果被重新定位引用,该符号的值不会与其地址,但必须在运行时调用。“w” 符号是一个弱符号,未被明确标记为弱对象符号。当弱定义符号与正常定义符号链接时使用定义的符号时没有错误。当弱未定义符号被链接且未定义该符号时,该符号的值将在特定系统中确定没有错误的方式。当弱未定义符号被链接并且符号未被定义,则弱符号的值变为零,没有错误。对于这样的符号,动态链接器将确保在在整个过程中,只有一个符号使用此名称和类型。第二列,是符号属性,小写表示局部符号,大写表示全局符号(具体含义参考man nm);
2024-09-30 13:30:21
579
转载 实现自动化构建与集成:Jenkins与SVN整合的指南
在SVN配置文件下有这样一个文件:/usr/local/svn/svnrepos/project/hooks/post-commit.tmpl,表示在执行commit之后,SVN会做什么事情。第一步:配置web发布服务器地址,参考上面的:https://www.cnblogs.com/zhangzhixi/p/17015148.html#_label2_6。比如我们这个项目的地址触发地址是:http://110.43.204.225/jenkins/job/apple/build?
2024-09-27 14:01:18
1101
转载 一招解决,SVN控制的文件夹都是绿色勾,没有叹号或者其它标识的问题
项目文件夹右键 》 tortoiseSVN-》setting-》Icon Overlays设置为Default。刷新文件夹即可看到效果。
2024-08-29 10:49:24
392
转载 《一篇搞懂》系列之一 —— iptables
iptables其实只是一个简称,其真正代表的是这个IP数据包过滤系统。为了简便,本文也将整套系统用iptables简称。iptables是3.5版本的Linux内核集成的IP数据包过滤系统。当系统接入网络时,该系统有利于在Linux系统上更好地控制IP信息包和防火墙配置。此外,iptables还可以进行NAT规则的管理。netfilter位于内核空间,是内核的一部分,由一些数据包过滤表组成,这些表包含内核用来控制数据包过滤处理的规则集;
2024-07-26 10:16:29
143
转载 一文详解iptables基础知识
iptables防火墙可以用于创建过滤(filter)与NAT规则。所有Linux发行版都能使用iptables,因此理解如何配置 iptables将会帮助你更有效地管理Linux防火墙。如果你是第一次接触iptables,你会觉得它很复杂,但是一旦你理解iptables的工 作原理,你会发现其实它很简单。首先介绍iptables的结构:iptables -> Tables -> Chains -> Rules. 简单地讲,tables由chains组成,而chains又由rules组成。如下图所示。
2024-07-26 10:07:20
2436
转载 OpenWrt启动过程分析+添加自启动脚本
之后还需要在rc.d目录下做一个链接,启动时系统会按顺序启动rc.d目录下的脚本链接,对应执行init.d目录下的启动脚本。总结一下OpenWrt的启动流程:1.CFE->2.linux->3./etc/preinit->4./sbin/init ->5./etc/inittab ->6./etc/init.d/rcS->7./etc/rc.d/S* ->8.OpenWRT的启动脚本放在 /etc/init.d 目录下,而系统开机时自动运行/etc/rc.d目录下的脚本。之后,linux系统启动起来了。
2024-07-23 18:29:12
1618
1
转载 Linux系统调用--getrlimit()与setrlimit()函数详解
终止w/core的含义是:在进程当前目录生成core文件,并将进程的内存映象复制到core文件中,core文件的默认名称就是“core”(这是 Unix类系统的一个由来已久的功能)。这里要注意的是,当你要修改limit的时候,如果不指定-S或者-H,默认是同时设置soft limit和hard limit。在linux系统中,Resouce limit指在一个进程的执行过程中,它所能得到的资源的限制,比如进程的core file的最大值,虚拟内存的最大值等。//进程可建立的文件的最大长度。
2024-07-11 11:27:45
501
转载 Source Insight 4.0的超实用的常规设置小技巧
【Options】->【Preferences】 ->【File】->【Default encoding】修改为:Chinese Simplified(GB2312),关闭所有文件,重启即可。【Options】->【File type Options】,选择【Auto Indent…】弹出对话框,将【Smart Indent Options】下的两个复选框的√去掉即可。【Options】->【File type Options】,勾选下图所示选项。打开函数调用关系窗口,这个窗口在你。
2024-06-15 17:38:05
2308
1
转载 linux内核cdev_init系列函数(字符设备的注册)
kobj_map函数中哈希表的实现原理和前面注册分配设备号中的几乎完全一样,通过要加入系统的设备的主设备号major(major=MAJOR(dev))来获得probes数组的索引值i(i = major % 255),然后把一个类型为struct probe的节点对象加入到probes[i]所管理的链表中,如图2-6所示。其中,dev是它的设备号,range是从次设备号开始连续的设备数量,data是一void *变量,指向当前正要加入系统的设备对象指针p。初始化 cdev 后,需要把它添加到系统中去。
2024-06-14 11:44:43
496
转载 register_chrdev_region、alloc_chrdev_region、register_chrdev区别
内核提供了三个函数来注册一组字符设备编号,这三个函数分别是和。这三个函数都会调用一个共用的函数向内核设备表来注册一组设备编号范围(即一个 char_device_struct 结构)。
2024-06-07 09:45:50
313
转载 01-register_chrdev_region解析
注意:cp = &(*cp)->next,cp是char_device_struct **类型,(*cp)->next是一个char_device_struct 类型,所以&(cp)->next,就得到一个char_device_struct **,并且这时候由于是指针,所以对cp赋值,就相当于对链表中的元素的next字段进行操作。在内核4.4版本中,MKDEV(ma,mi) ((ma)<<8 | (mi)),与之前的主设备号占高12位,次设备号占低20位不同,所以次设备号只能从0~255,
2024-06-06 17:50:34
69
转载 【Linux API 揭秘】module_init与module_exit
目录1、函数作用2、module_init函数解析2.1 module_init2.1.1 模块方式2.1.2 内建方式2.2 __initcall2.2.1 代码调用流程2.2.2 #和##的作用2.2.3 函数解析3、module_exit函数解析3.1 module_exit3.1.1 模块方式3.1.2 内建方式3.2 __exitcall4、扩展module_init和module_exit是驱动中最常用的两个接口,主要用来注册、注销设备驱动程序。并且这两个接口的实现机制是一样的,我们先以modu
2024-06-06 16:44:44
94
转载 【Linux】内核线程创建 kthread_run 函数和内核中断
kthread_run函数详解以PCIE的热插拔内核线程创建为例说明注意:内核线程和RTOS的线程略有不同,这里Linux上创建以后直接运行,RTOS上有的是需要加入到调度队列中后才会执行,比如RT-Thread的系统kthread_run 是 Linux 内核中的一个函数,用于创建和运行内核线程(Kernel Thread)。在 Linux 内核中,线程是一种轻量级的执行单位,可以独立运行并共享进程资源。
2024-06-06 15:08:45
86
转载 notepad++ 打开提示“Folder xx does not exist“解决
nodepad++打开文件 ,提示 xx catnot be opened,Folder xx does not exist",原因是文件是被notepad++以管理员权限方式打开的,重新以非管理员打开正常。即:退出notepad++重新进入即可!
2024-06-05 10:04:46
335
转载 Win11怎么重置系统?(小白专享篇)
重置Windows 11系统的步骤如下:方法一:1.同时按下【Windows+i】键打开系统设置。2.在当前页面下拉选择【系统】-【恢复】。3.点击重置此电脑下的【初始化电脑】。4.点击【删除所有内容】。5.选择删除所有内容后,继续选择安装Windows的方式,选择从【本地重新安装】即可。6.选择从本地重新安装后系统会提示电脑重置会删除的内容,点击【下一步】即可。7.点击下一页后系统会再确认一次重置需要删除的内容,直接点击【重置】即可。
2024-05-30 17:48:15
11956
1
转载 svn 分支(branch)和标签(tag)管理
版本控制的一大功能是可以隔离变化在某个开发线上,这个开发线就是分支(branch)。分支通常用于开发新功能,而不会影响主干的开发。也就是说分支上的代码的编译错误、bug不会对主干(trunk)产生影响。然后等分支稳定之后,可以再合并到主干上。版本管理系统的一大功能是标记特定版本,以便在任何时候都可以重建某个版本的环境,这个标记版本的动作就是打标签。svn不需要特殊命令来打分支或者打标签。它使用的是一种“轻量copy”的方式,这种方式有些像unix的硬链接。
2024-05-29 18:41:09
1964
转载 安装系统时找不到硬盘的处理方法
路径一般为在【Drivers】-【Production】下,选择【Windows10-x64】,点击【确定】。在出现的页面点击【驱动程序和下载】,在【关键字】中搜索:rapid,找到【英特尔快速存储技术驱动程序】,点击【下载】,下载的文件默认保存位置或保存到自己可以找到的位置即可。下载完成后,先把U盘接到电脑上,然后找到下载的文件,双击运行。接着在出现的页面选择【EXTRACT】进行解压,解压路径选择接入的U盘,等待解压完成。1、修改BIOS的硬盘模式为AHCI模式后,重启电脑,再次安装系统。
2024-05-28 19:30:55
5932
1
转载 failed to set hardware filter to promiscuous mode:连到系统是上的设备没有发挥作用(31)
百度网盘:https://pan.baidu.com/s/1BIyXd7aIGaULww9g0n-WJw 提取码: yequ。阿里云盘:https://www.aliyundrive.com/s/4UjQ3uEqywz 提取码:onechina。阿里云盘:https://www.aliyundrive.com/s/KrZZxS4jSPU 提取码:xv80。npcap软件下载页(需加速):https://npcap.com/dist/详细问题定位阅读:http://issues.npcap.org/628。
2024-05-28 19:28:23
789
转载 Ventoy的pe盘制作及重装系统步骤【解释的非常清楚!!!】
当我们使用一般的pe盘的时候,他会把我们的u盘格式化,而且里面下载了很多文件,我们可能就不敢轻易的使用这个u盘作为我们日常使用的u盘,只是把它放起来等到需要重装系统的时候才会拿出来,这就造成了u盘的浪费。而Ventoy就能解决这个问题。
2024-05-28 19:20:31
2456
转载 嵌入式Linux--U-Boot(五)NAND命令使用
uboot 是支持 NAND Flash 的,所以也有 NAND Flash 的操作命令,前提是使用的 NAND 版本的核心板,并且编译 NAND 核心板对应的 uboot,然后使用 imxdownload 软件将 u-boot.bin 烧写到 SD 卡中,最后通过 SD 卡启动。从上面给出了 NAND 的页大小、OOB 域大小,擦除大小等信息。上图中的文件就是我们写到 NAND 中的设备树文件,至于设备树文件的详细内容我们后面会有专门的章节来讲解,这里大家知道这个文件就行了。
2024-05-27 09:41:16
1012
转载 vscode编译多文件复杂项目时tasks.json launch.json 的配置
本文介绍了利用vscode编译复杂工程的方法,包括gcc和cmke编译时 tasks.json launch.json c_cpp_properties.json 的具体配置。一、编译代码使用例子c/c++在windows下编译:使用MinGW gcc从零编译项目二、g++配置tasks.json launch.json c_cpp_properties.jsontasks.json编译程序所需要的指令"tasks": [//下面两条g++语句编译动态库。
2024-05-24 14:05:22
1129
miwifi_r1cm_firmware_b9d56_2.7.11.bin
2020-07-30
openwrt-ramips-mt7620-miwifi-mini-squashfs-sysupgrade.bin
2020-06-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人