自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux 自旋锁

spinklock 是内核中提供的一种比较常见的锁机制,自旋锁是“原地等待” 的方式解决资源冲突的,即,一个线城获取看一个自旋锁后,另外一个线程期望获取该自旋锁,获取不到,只能够原地“打转” (忙等待)。由于自旋锁的这个忙等待的特性,注定了它的使用场景的限制-------自旋锁不应该被长时间的持有(消耗CPU资源),一般应用在中断上下文。2.挂起当前进程,调度其它进程执行。

2024-09-19 00:36:30 255

原创 vue 案例使用

加上show-password就行。el-switch 按键的使用。

2024-09-17 21:49:02 458

原创 openwrt wsdd模块介绍

比如,A主机进入局域网,开启了 mDNS 服务,并向 mDNS 服务注册以下信息:我提供 FTP 服务,我的IP是 192.168.1.101,端口是 21。当B主机进入局域网,并向 B 主机的 mDNS 服务请求,我要找局域网内 FTP 服务器,B主机的 mDNS 就会去局域网内向其他的 mDNS 询问,并且最终告诉你,有一个IP地址为 192.168.1.101,端口号是 21 的主机,也就是 A 主机提供 FTP 服务,所以 B 主机就知道了 A 主机的 IP 地址和端口号了。

2024-09-16 19:40:31 759

原创 mtk7628 网口灯问题

修改为一样再次编,发现现象一致,插入网线到lan口,网口灯同样不会亮。差异点还剩下,网口OK的wuya产品,多执行了ethmode wllll,设置为五网口模式。查看代码,该指令会去设置寄存器,reg w 10000064 0x0,执行改指令后,验证了插入网线,网口灯就会亮了。对比了ok的代码,先对比设备树,未看到网口相关的GPIO。是不是还有哪里的脚本会去操作GPIO,尝试删掉了led相关shell代码,以及对应的leds_gpio .ko。继续查看网口相关代码,加打印,未看到有操作网口的灯。

2024-09-16 19:06:13 235

原创 Linux 网络设备驱动

test0就是我们的驱动。

2024-08-12 02:15:21 282

原创 Linux桥转发经过的netfilter钩子点

桥转发:在链路层,根据报文的目的MAC地址进行报文转发,我们也叫二层转发。进行二层转发的一般叫网桥(bridge), 进行二层转发的设备可以是一台设备,比如我们的交换机,而我们这里的桥转发,就是软件实现的交换机。ageing timer: 设备的老化时间,当我的设备拔掉网线,或者断开WiFi的时候,这里的老化时间就会增加,达到一定阈值就会删除表项(FDB表),不同设备时间有差别,这个是Linux内核实现,可以修改;这样三点经过的钩子点是不同的,在我们桥转发,也会有这样的钩子点;addr:设备的mac地址。

2024-08-11 18:32:51 678

原创 linux 内核常用的debug

默认情况下 printk_ratelimit 的值是 5 ,printk_ratelimit_burst 的值是 10。Linux内核就有这么一套机制,我们仅需调用一个接口,并根据接口的返回值来决定是否持续打印我们的信息。这个接口的内部会自动帮我们判断我们即将要打印的信息是否过于频繁。是的,就是这么简单。这个 printk_ratelimit() 函数是定义在 <linux/printk.h>上的。这个函数的机理是会判断我们的打印的频率的,即它会限制这条打印在指定时间间隔内最多只能出现指定次数条。

2024-08-11 02:20:52 392

原创 openwrt 使用ftace工具追踪协议栈转发流程

如果/sys/kernel/debug/tracing没有,可以挂载。

2024-08-08 03:50:43 199

原创 openwrt 性能工具perf和cpu占用查看工具sysstat编译及使用

openwrt下使用perf工具,查看当前系统调用栈情况;以及mpstat -P ALL 1 查看当前cpu占用情况

2024-08-07 23:11:22 436

原创 openwrt MTK7621关闭硬加速和编译命令

经实测,开硬件转发后跑100M带宽CPU占用为0%,但是上行跑满100M后ping延时增加明显。现在ramips已经切换到4.14了,支持offload了,而且MT7621支持硬件NAT!另外这个和mwan3兼容,工作正常!不存在SFE和mwan3不兼容的问题了。2018年4月7日更新。

2024-06-09 18:36:33 393

原创 ipv6有状态分配地址

设备在获取IPv6地址等信息时,会先发送RS报文请求链路上的路由设备,路由设备受到RS报文后会发送相应的RA报文来表示自身能够提供的IPv6服务类型。M/O都为1,无状态分配,地址和DNS等都从DHCPv6服务器取得。会有dhcpv6四步交互(对应ipv4的dhcp四步交互)对应的报文(icmpv6)

2024-06-09 09:47:02 357

原创 水质管理系统

【代码】水质管理系统。

2024-05-02 22:10:32 169

原创 ubuntu下boa服务器编译运行

其中/cgi-bin/指的就是当我们访问的文件带有cgi-bin字段的时候,就表示动态网页信息,因此我们的服务器,就会从后面的路劲/home/and/www/cgi-bin/下面去寻找此文件。当前编译环境OK,需要修改boa.conf文件,因为我们输入url的时候,会在对应的路劲下面去找,如何路劲不对,就会找不到,页面出现404。发现改了也不行,后面把boa.conf cp到了etc/boa/下面进行了替换就OK了。/cgi-bin/最后面的/一定不能缺少,不然还是找不到。在boa.conf做如下修改。

2024-04-21 11:31:59 622

原创 C语言查找相关题目

【代码】C语言查找相关题目。

2024-04-20 11:26:26 139

原创 openwrt开发包含路由器基本功能的web问题记录

openwrt开发包含路由器基本功能web问题记录

2024-03-31 19:49:07 520

原创 iptables与内核的交互

iptables与内核的交互

2024-03-03 23:30:17 1285

原创 Linux环境下C语言实现ping命令

Linux环境下C语言实现ping命令。

2024-02-25 21:34:29 1003

原创 Linux网络编程项目----FTP网盘

程序运行,服务端不断接收客户端指令,服务端可同时处理多个客户端接入并对指令作出解析,并把执行结果返回给客户端,客户端根据服务端对指令的解析并把由服务端传递过来的。(2)客户端匹配用户输入的指令,客户端发送指令到服务端,服务端解析指令作出响应。4、在程序运行的过程中,客户端输入lcd指令+路径 能够切换自己的目录。5、客户端输入get指令+文件名,能将服务端上面的某个文件下载到客户端。6、客户端输入put指令+文件名,能将客户端上面的某个文件上传到服务端。2、客户端输入cd指令+路径,可以切换服务端的目录。

2023-12-11 01:33:05 532

原创 Linux环境下socket本地通信

最近项目有用到了socket本地通信,故复习一下。之前都是基于本地虚拟机的ip地址通信的,现在项目,Linux单板上面有2个进程需要通信,故用到了本地socket通信,主要其实就是用了sockfd,文件描述符,也叫句柄。

2023-12-10 22:58:35 848

原创 web需求记录

需求1:根据后端传过来的设备名:DESKTOP-4DQRGQB,以及mac:e0:be:03:74:40:0b;iQOO-8,mac:b0:33:66:38:c3:25,用web option 是动态增加的(也就是那个选择框里面的东西是根据后端传过来的值动态增加的),当select选择设备名字时,下面一个框显示对应mac的地址。

2023-11-22 22:39:31 1650

原创 c语言实现http下载功能,显示进度条和下载速率

【代码】c语言实现http下载功能,显示进度条和下载速率。

2023-11-06 00:26:48 1037

原创 虚拟机Ubuntu下运行vue-element-admin项目

ui/editor,需要在package.json中将“tui-editor“: “1.3.3“ 修改成"@toast-ui/editor": “^3.1.3”,重新运行yarn 即可;等一会就可以了,然后运行成功会提示我们项目访问地址,输入地址就可访问了。因为vue 放弃“tui-editor“: “1.3.3“,已经更名为。没有问题,会输出对应版本号,我这里是10.19.0。进入项目文件夹内(cd demo),并安装项目依赖。如果没有安装依赖,直接运行,会有如下报错。安装完成后,查看对应的版本号。

2023-10-30 00:27:38 590

原创 Linux下C语言使用 netlink sockets与内核模块通信

Netlink套接字是用以实现用户进程与内核进程通信的一种特殊的进程间通信(IPC) ,也是网络应用程序与内核通信的最常用的接口。在Linux标准内核中,系统默认集成了很多netlink实例,比如日志上报、路由系统等,netlink消息是双向的,应用层可以发送消息到内核,同时内核也可以发送消息到应用层进程,非常适合涉及到内核信息采集的模块。

2023-09-08 00:41:06 1820

原创 Linux下 C语言路由器项目(纯C 1K代码,适合练手,也可写在简历上面 )

主机:Ubuntu:实践:主机与虚拟机相互ping成功:开发板与主机相互ping失败:(因为是不同网段)ok,完成最后,运行我们写的路由器代码后,主机与开发板可以在不同网段下通信开发板与主机相互ping。

2023-07-06 23:13:02 4218 31

原创 C语言一道简单题目,都做不出来,难受啊,一定要多写代码啊

1.用户从屏幕输入每个学生的成绩,格式如下:学号 成绩 换行。范围为1-50,成绩为浮点数。5.程序将所以学生的成绩进行排序后,按照成绩的高低进行打印,打印格式如下:学号 成绩 换行。3.用户最多只能输入50个学生的成绩,如果已经输入了50个,则表明成绩输入完毕。2.如果用户的学号输入有重复,表明前面输入有误,用新的成绩覆盖之。4.如果用户的学号输入-1,则表明成绩输入完毕。最后是chatgpt写的,满足要求的,附上源码。叫chatgpt用链表实现,也满足了要求。

2023-07-05 22:33:39 410

原创 C语言数据结构栈相关题目

3.栈的应用----中缀表示法转后缀表示法。2.栈的应用-----逆波兰表示法。4.栈的应用----括号匹配。5.栈的应用----回文判定。

2023-07-02 20:14:46 389

原创 嵌入式C语言杂七杂八

记录嵌入式学习过程一些杂七杂八的笔记

2023-05-31 00:58:19 832

原创 Linux系统编程代码汇总

线程:线程从属于进程,一个进程可以有多个线程,线程直接共享进程的资源。systemd(init): 所有进程的父进程。可以查看我们的进程树,就是进程关系。任务:具体要做的事情。

2023-05-03 06:23:45 2567 2

原创 专栏从0设计NTP时间服务客户端-NTP协议介绍和UDP编程实战

C语言实现一个NTP客户端

2023-03-27 00:46:12 783

原创 利用openssl库,C语言实现AES加密

利用openssl库,C语言实现AES加密

2023-02-24 00:18:45 4843

原创 学习嵌入式的相关问题汇总

学习嵌入式问题汇总,以便之后方便查询。

2023-02-18 10:26:54 1657

原创 【C语言开源库】 一个只有500行代码的开源http服务器:Tinyhttpd学习

【C语言开源库】 一个只有500行代码的开源http服务器:Tinyhttpd学习

2023-01-03 23:38:39 1704

转载 Linux 网络协议栈开发基础篇—— 网桥br0

Linux 网络协议栈开发基础篇—— 网桥br0

2022-12-27 00:12:47 1529

原创 编码任务练习

任务详情完成一个文件传输的客服端,需支持下面几种功能:1.支持上传和下载。2.支持HTTP协议和FTP协议(其中HTTPS有能力的可以支持,FTP协议只需要支持主动模式和被动模式一种,详情查看HTTP和FTP RFC文档)3.支持可以输入账号名,密码。4.支持为上传和下载指定存放目录。5.支持上传和下载时速率的显示。

2022-12-26 23:31:38 228

原创 瑞昱rtl819x-SDK-v3.4.14b的watchdog分析

watchdog看门狗,又叫watchdog timer,是一个定时器电路,一般有一个输入,叫喂狗或踢狗;一个输出到MCU 的 RST 端,MCU 正常工作的时候,每隔一段时间输出一个信号到喂狗端,给 WDT 清零,如果超过规定的时间不喂狗(一般在程序跑飞时),WDT 定时超过,就会给出一个复位信号到 MCU,使 MCU 复位。防止 MCU 死机。

2022-12-24 03:08:16 1509

转载 linux tc流量控制(二):classful qdisc

linux tc流量控制(二):classful qdisc

2022-12-15 16:25:16 394

转载 linux tc流量控制(一):classless qdisc

linux tc流量控制(一):classless qdisc

2022-12-15 16:21:41 2189

原创 13_cgi

13_cgi

2022-11-28 22:27:56 355

原创 12_AJAX

12_AJAX

2022-11-28 22:12:12 561

原创 11_html

嵌入式 一些简单的前端知识

2022-11-28 00:10:41 538

空空如也

空空如也

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

TA关注的人

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