- 2024-11-04rust学习四、控制语句
rust的控制语句和大部分语言没有什么区别,都是熟悉的for,while,loop,if。比较不同的是,在绝大部分非常流行的语言中都有的switch,rust是没有的。诸如c/c++,java,javascript,c#。连PL/SQL都有casewhen语句。 一、基本的for、while、if,loop示例-for,while,loop,if/**学习控
- 2024-10-23STM32中U8, U16 ,U32啥意思
1.unsigned int 32 (C语言标准表达方法) 2.uint32_t ; 3.u32; 这三种方式都是在表达同一个意思。可为什么ST的开发人员要搞的这么乱呢? 其实ST 搞这么多花样,无非是想开发人员在写代码时定义数据类型能少写几个符号,然后又因为前后版本
- 2024-10-02找到一个数最接近的比它大的2的n次幂的代码分析
pubfnf1(mutn:u32)->u32{n=n|(n>>1);n=n|(n>>2);n=n|(n>>4);n=n|(n>>8);n=n|(n>>16);n} 如果n的输入类型为u32(32位无符号整型),上述代码的结果为大于等于n的2^k-1的值(因为可能会出现溢出,所以并没有直
- 2024-09-11FrameBuffer
一、基本概念 FrameBuffer:可以译作"帧缓冲、帧缓存",有时简称为fbdrv。这是一种独立于硬件的抽象图形设备。是Linux为显示设备提供的一个接口,把显存抽象后的一种设备,允许上层应用程序在图形模式下直接对显示缓冲区进行读写操作控制fb。 对于
- 2024-08-18基于STM32的寄存器实现点亮LED--基于RUST实现
main.rs#![no_std]#![no_main]usecore::ptr;usecortex_m_rt::entry;usepanic_haltas_;//当发生panic时停止执行//定义寄存器地址constRCC_BASE:u32=0x40021000;constGPIOB_BASE:u32=0x40010C00;constRCC_APB2ENR_OFFSET:u32=0x18;constGPIOB
- 2024-08-07; 每隔10分钟定时关闭并重启蘑菇游戏下载器,防止下载器卡死宕机死机停止下载的AutoHotkey脚本2024年8月7日
;每隔10分钟定时关闭并重启蘑菇游戏下载器,防止下载器卡死宕机死机停止下载的AutoHotkey脚本2024年8月7日 ;每隔10分钟定时关闭并重启蘑菇游戏下载器,防止下载器卡死宕机死机停止下载的AutoHotkey脚本2024年8月7日;测试环境:AutoHotkey_1.1.37.02_Setup.exe&Win
- 2024-08-03framebuffer(帧缓冲)
framebuffer 在Linux系统中,Framebuffer通常是指Framebuffer设备,它是一种特殊的字符设备,在Linux系统中,Framebuffer设备使得程序员可以通过其设定的函数接口直接访问硬件,而不需要通过CPU。framebuffer的一般操作流程为:1.打开 (open)2.获取frame相关信息 (ioctl)3.
- 2024-07-130170-Multiboot2 启动头
环境Time2022-11-11WSL-Ubuntu22.04QEMU6.2.0NASM2.15.05前言说明参考:https://os.phil-opp.com/multiboot-kernel/目标编写一个符合multiboot2规范的启动文件。multiboot2规范https://www.gnu.org/software/grub/manual/multiboot2/multiboot.html#Header-tag
- 2024-06-14多项式与点值的双射 与 Reed–Solomon 编码纠错
其实早就知道啊,不过apiot3之后还是在皮皮橙大神的指导下认真看了看.放一个$O(n^2)$的实现#include<bits/stdc++.h>usingu32=unsigned;usingi64=longlong;usingu64=unsignedlonglong;usingidt=std::size_t;constexpru32mod=998244353;constexpru32mul(u32
- 2024-05-24LCD显示原理及应用
Linux环境下LCD显示原理及应用1.LCD原理概述LCD(LiquidCrystalDisplay)液晶显示器是一种广泛应用于各种电子设备中的显示技术,它利用液晶分子在电场作用下的排列状态来控制光的透过,从而实现图像显示。2.LCD驱动原理LCD显示屏的驱动通常需要硬件和软件两方面的支持:硬件支持:
- 2024-04-14Linux内核协议栈skb成员
struct__sk_buff{ __u32len; __u32pkt_type; __u32mark; __u32queue_mapping; __u32protocol; __u32vlan_present; __u32vlan_tci; __u32vlan_proto; __u32priority; __u32ingress_ifindex; __u32ifindex; __u32tc_index; __u32cb[5]; __u32has
- 2024-04-07c++primer 9.52答案
萌新业余时间学c++中,学过一点c之前,下面一个自己写的9.52答案,尽量用到了前面学到的知识,与大加分享交流一下,希望能互相讨论学习。/*******************************************************************************************@FilePath:MyDate.h*@Author:YMM*@Date
- 2024-03-26V4L2应用程序开发(1)
参考资料:韦东山第三期 v4l2应用程序开发分为两个部分,数据采集流程和控制流程两个部分 数据采集流程:分为空闲链表和完成链表 驱动程序周而复始地做如下事情:从硬件采集到数据把"空闲链表"取出buffer,把数据存入buffer把含有数据的buffer放入"完成链表"APP也会周而
- 2024-03-21Uboot移植
一个开发板运行uboot,DDR或者DRAM,串口,SD/EMMC等驱动要存在。这些基本要和原厂一样的 nxp官方uboot下载地址:https://github.com/Freescale/u-boot-fslcnxp官方imx6系统板子介绍:https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/i-mx-applications-
- 2024-03-18ZYNQ AXI 片上互联的再思考:AXI GP口/axi lite
之前笔记:Zynq上的存储器接口与差分时钟与DDR3_zynqddr3-CSDN博客使用AxiLite接口访问寄存器列表作为缓冲区_两个参数共用axilite中一个寄存器-CSDN博客PS与PL互联与SCU以及PG082_pl能不能用ps-gtr-CSDN博客ZYNQ上互联的AXI主要有三种:AXILITEAXIHPAXIACP AXILITE
- 2024-03-07BPF BTF 详解
1.介绍BTF(BPFTypeFormat)是内嵌在BPF(BerkeleyPacketFilter)程序中的数据结构描述信息。BPF原本是用于数据包过滤的编程语言,但随着eBPF(extendedBPF)的发展,它的用途已经扩展到多种内核子系统中,包括性能监测、网络安全和配置管理等。BTF是为了实现更复杂的eBPF程序而设计的。其
- 2024-03-01关于pacemaker-集群-token-网络心跳检测时间的修改
在笔者操作系统Redhat8.8中,pacemaker默认的token时间为3000毫秒,也可以理解成心跳检测时间这样根据默认的规则,consensus有时间如果没有特别指定的话,将是token*1.2,即3600毫秒[root@azdb01qq-5201351]#corosync-cmapctl|grep'totem.token\|consensus'runtime.config.tote
- 2024-02-23[Rust] Create a loop in Rust
ThislessonshowshowtouseaRust loop torunaprograminfinitely. usestd::io;usestd::process;fnmain(){loop{println!("Pleaseenterafirstnumber:");leta=read_user_input();println!("Plea
- 2024-01-15设备树 memory reg 的理解。
再设备树中经常见到这样的描述。 这里adress使用两个u32来描述,length使用两个u32来描述。 实际上address=0x0000000040000000length=0x0c0000000 是拼起来的。至于是不是加上0x,感觉可加可不加。
- 2023-12-17第十一章学习笔记
@目录一、学习笔记1.EXT2文件系统2.EXT2文件系统数据结构3.邮差算法5.遍历EXT2文件系统树6.基本文件系统7.文件系统的级别二、苏格拉底挑战三、问题与解决思路四、实验过程及截图一、学习笔记1.EXT2文件系统多年来,Linux一直使用EXT2(Card等1995)作为默认文件系统。EXT3(EXT3,
- 2023-12-05一种简洁且常数较小的在线树上k级祖先求解.
起因是有人在la群问已知u是v的祖先,求u到v路径上第一个点.怎么写比较简单.突然想起很久之前我在la板子上写过一个题解区里没有看到的简洁做法.有一个不难证明的结论,一个节点u的k级祖先v对应深度的所有节点中dfn序中小于等于u的最后一个点.考虑dfn序的性质,u一定在v所在的子
- 2023-11-26【未完善】多项式全家桶
#include<iostream>#include<cmath>#include<cctype>#include<functional>#include<algorithm>#include<vector>#defineUP(i,s,e)for(autoi=s;i<e;++i)#defineDOWN(i,e,s)for(autoi=e;i-->s;)usingstd::c
- 2023-11-10min25筛的常数优化&“多记一维”的艺术
前置知识:min25筛,即你要用min25筛通过板子题,不管写成啥样,不管常数多大,但是你要了解一点min25。没有特殊说明的话有如下记号(大部分记号与oi-wiki一致):\(x/y=\lfloor\frac{x}{y}\rfloor\)\(\text{P}\)为素数集合,\(p_k\)表示第\(k\)小素数。特别地,令\(p_{0}=1\)。\(\t
- 2023-10-285. 从零开始编写一个类nginx工具, 通讯协议建立, 为内网穿透做准备
wmproxywmproxy是由Rust编写,已实现http/https代理,socks5代理,反向代理,静态文件服务器,内网穿透,配置热更新等,后续将实现websocket代理等,同时会将实现过程分享出来,感兴趣的可以一起造个轮子法项目++wmproxy++gite:https://gitee.com/tickbh/wmproxygithub:https://github.com/tic
- 2023-10-20实验二代码SM4
.h文件#include"sm4.h"//4字节无符号数组转无符号long型voidfour_uCh2uLong(u8*in,u32*out){ inti=0; *out=0; for(i=0;i<4;i++) *out=((u32)in[i]<<(24-i*8))^*out;}//无符号long型转4字节无符号数组voiduLong2four_uCh(u32in,u8*o