自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 工具 | modbus-utils(linux平台的modbus调试软件)

modbus-utils(linux平台的modbus调试软件)Modbus client and server command line tools based on libmodbus.代码仓库编译for ubuntu:sudo apt install libmodbus-devfor buildroot:BR2_PACKAGE_LIBMODBUS=ybuilding:$ cd modbus_client$ gcc -o modbus_client modbus_client.c

2020-12-31 18:03:51 10969 10

原创 OpenWRT | Uloop编程技术

uloop_timeout_add 与 uloop_timeout_set 功能类似,使用需确保 uloop_timeout 提前设置了超时时间。uloop 监听文件描述符时,flags 常用有两个取值:ULOOP_READ,ULOOP_WRITE。不支持多线程 uloop,因为 uloop 使用了全局变量来共享数据。

2024-03-28 10:19:07 380

原创 OpenWRT | Ubus编程技术

OpenWRT的是进程间通信的通用框架。在项目开发中,利用该技术可以将消息,从一个进程发送给另一个进程,它有封装的API,易于使用与理解的demo。避免了去编写非常底层的进程间通信代码(比如Linux中常用的进程间通信方法,管道,信号量,套接字),可以专注于逻辑实现。

2024-03-28 10:07:50 1407

原创 C++ | 什么时候使用虚函数和纯虚函数

C++ 在类中的成员函数存在三种声明方式,分别是。假设有个继承上面的类。父类规定子类的接口和缺省实现父类规定子类需要实现的接口,但纯虚函数也可以拥有自己的实现,可以用来作为缺省实现。

2024-01-15 19:58:12 399

原创 busybox | 添加第三方源码库

这里以添加 libhl 库为例:创建 libhl 目录,将 *.c 复制到 libhl,将 *.h 复制到 include 目录创建 libhl/Kbuild.src,内容为:# Makefile for busybox## Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>## Licensed under GPLv2, see file LICENSE in this source tree.l

2022-01-23 14:57:06 561

原创 busybox | 更改安装目录为/usr/local/bin

补丁diff --git a/libbb/appletlib.c b/libbb/appletlib.cindex 03389f5..7520d6d 100644--- a/libbb/appletlib.c+++ b/libbb/appletlib.c@@ -651,6 +651,7 @@ static void check_suid(int applet_no) # if ENABLE_FEATURE_INSTALLER static const char usr_bin [] ALIGN

2022-01-23 14:43:01 1036

原创 busybox | 添加自定义命令

基于busybox V1.35.0修改方法创建 my_utils/hello.c//usage:#define hello_trivial_usage//usage: "[-fF]"//usage:#define hello_full_usage "\n\n"//usage: "This is some description about your tools\n"//usage: "\n -h help"//config:config HEL

2022-01-23 14:29:51 1161

原创 Linux驱动 | 浅谈 Per-CPU 变量在统计网络收发报文的应用

为何要引入 Per-CPU 变量(1)spin_lock 空转 CPU在内核开发中,为了实现临界资源的互斥,我们常常直接使用 spin_lock,来实现临界区的保护,但是 spin_lock 实际上是一种忙等待锁。当锁不可用时,CPU会空转来等待资源可用。(2)当锁的数量达到上千个时,并发容易死锁当内核要维护的锁的数量急剧增加,由于锁争用的存在,并发情况下,spin_lock 进入死锁的概率会变高。Per-CPU 变量的原理Per-CPU变量,顾名思义,就是将某个变量,将其分 n 份存储在对应的

2022-01-15 00:45:33 570

原创 Linux系统安装 | 个人办公电脑 | 安装和配置Manjaro Gnome教程

文章目录一、获取Manjaro Gnome?1,获取官网镜像:[https://manjaro.org/downloads/official/gnome/](https://manjaro.org/downloads/official/gnome/)二、制作多系统启动盘1,安装Ventoy2.读入数据总结一、获取Manjaro Gnome? PS:Manjaro 的官方版本有 Gnome、Xfce、Kde,我个人喜欢简洁、配置简单的操作系统,所以选择了Gnome作为自己的办公环境1,获取官网镜像:h

2021-12-06 22:23:23 2025

原创 Linux驱动 | 调试宏和多平台兼容的Makefile

调试宏将头文件driver.h包含到驱动文件中。drvier.h#ifndef __SCULL_H__#define __SCULL_H__#ifdef EN_DRIVER_DEBUG #ifdef __KERNEL__ //处于内核空间 #define PDEBUG(fmt,args...) printk(KERN_DEBUG fmt,##args) #else //处于用户空间 #define PDEBUG(fmt,args..

2021-08-01 16:31:47 236

翻译 procd | 最简单的procd服务脚本

文章翻译自:https://openwrt.org/docs/guide-developer/procd-init-script-example配置假设我们想要创建一个服务,该服务在服务超时时进行消息提示,定时提醒我们从办公桌起身活动下。我们的服务名称是myservice,它依赖下面的脚本:/var/myscript.sh#!/bin/shif [ "$1" = '' ]; then name="You"else if echo "$1" | egrep -q '^[0-9]+

2021-07-20 22:34:25 2564

原创 工具 | Linux终端删除文件并移动到回收站

Ubuntu终端删除文件并移动到回收站

2021-07-18 12:05:03 880

原创 Linux驱动 | Linux中断下半部机制

1、Linux中断Linux中断分为两部分:上半部和下半部,上半部完成紧急且能很快完成的任务,下半部完成不紧急且比较耗时的任务。1.1、特征1,上半部和下半部都处于中断上下文中,不能调用任何可能调度的函数(意味着不能睡眠)。2,下部分的执行必须保证其原子性。硬件中断发生时,内核禁止了抢占,中断上半部被执行。上半部执行完成后,在执行下部分前,重新启用了中断,意味着在下部分执行时,可以被新的硬件中断抢占,意味着需要对中断上半部与下半部的涉及的共享资源加锁。3,实现下半部的机制:tasket和工作队列

2020-05-08 19:25:14 550

原创 Linux驱动 | Linux GPIO中断(代码实操,架构mips平台mt7688)

Linux中断原理Linux内核中每个中断irq对应一个struct irq_dest结构体(注意:这里的irq是内核内部irq,不是硬件irq),每个struct irq_desc包含一条struct irqaction链表。struct irq_desc { ...... struct irqaction *action; /* IRQ action list ...

2020-05-06 23:43:22 1265

原创 Linux驱动 | Linux高分辨率定时器hrtimer(实操代码编写)

本文主要说明hrtimer相关知识点,编写实实在在的驱动来验证。

2020-05-02 18:22:38 1219

原创 Linux驱动 | Linux低分辨率定时器timer(实操代码编写)

本文讲解Linux低分辨率定时器的用法,最后一个实例做验证。

2020-05-01 13:07:39 408

空空如也

空空如也

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

TA关注的人

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