Linux 杂乱学习笔记前言 Uboot、根文件系统、Linux Linux驱动分为三大类,字符设备驱动、块设备驱动、网络设备驱动 linux 入门基础user@machine: ~$ $ 代表当前用户是普通用户 # 代表当前用户是root rootfs 根文件系统 /bin 存储一些二进制可执行命令文件,/usr/bin也存放了一些基于用户的命令文件。 在这里,我们可以找到准备执行的 Linu 2020-10-29 linux #linux
嵌入式编程杂乱笔记嵌入式编程杂乱笔记目录[TOC] 硬件类NTC和PTCNTC (Negative Temperature Coefficient 负温度系数) PTC (Positive 正温度系数) VCC、 VDD、VEE、VSS区别 一、解释VCC:C=circuit 表示电路的意思, 即接入电路的电压;VDD:D=device 表示器件的意思, 即器件内部的工作电压;VSS: 2018-03-11 embedded #embedded #note #stm32
GitGit Bref 工作区:就是你在电脑里能看到的目录。 暂存区:英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。 版本库:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。 workspace:工作区 staging area:暂存区/ 2021-08-15 tools #git
VSCodeVSCode快捷键 格式化代码 【Shift】+【Alt】+F 多行编辑 Ctrl+Alt+UpArrow Ctrl+Alt+DownArrow Alt+Click 鼠标点击多行编辑 Ctrl+Shift+L 对应文本多行编辑 行操作 Shift+Alt+UpArrow Shift+Alt+DownArrow 复制当前行 Alt+UpArrow Alt+DownArrow 移动当前行 2021-08-20 tools #ide #vscode
Docker ComposeDocker ComposeDocker Compose是什么Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具。通过一个 YAML 格式的配置文件(docker-compose.yml),您可以统一管理多个容器的配置(如服务依赖、网络、存储卷等),并通过简单命令一键启动或停止整个应用栈。 核心功能: 单文件配置:用 YAML 文件定义所有服务、网络、卷。 一键启 2025-05-13 tools #docker #dockerfile #namespace #cgroup #dockerhub
DockerDockerDocker是什么&如何理解DockerDocker的底层原理 cgroup namespace 容器(container)有不同的状态, 停止状态 镜像(image)是docker生命周期中的构建或打包阶段, 而容器(container)则是启动或执行阶段. docker hub !!ADD ME!! Docker 和 VM 的区别二者的不同: VM(VMware 2022-07-21 tools #docker #dockerfile #namespace #cgroup #dockerhub
ProxmoxVEProxmoxVE一些前置知识qcow2 raw vmdk 磁盘格式的区别KVM 虚拟化中使用的镜像格式通常为 RAW 和 QCOW2 两种格式. RAW (img) RAW 的原意是「未被加工的」, 所以 RAW 格式镜像文件又被称为 原始镜像 或 裸设备镜像, 从这些称谓可以看出, RAW 格式镜像文件能够直接当作一个块设备, 以供 GuestOS 使用. 也就是说 KVM 的 Guest 2023-08-24 tools #pve #virtual
正则表达式正则表达式正则表达式 - 语法可打印普通字符匹配普通字符包括没有显式指定为元字符的所有可打印和不可打印字符。这包括所有大写和小写字母、所有数字、所有标点符号和一些其他符号。 字符 描述 . 匹配除换行符(\n、\r)之外的任何单个字符,相等于 [^\n\r]。 \w 匹配字母、数字、下划线。等价于 [A-Za-z0-9_]\W 匹配任何非单词字符。等价于“[^A-Za-z0-9_] 2022-01-21 language #正则表达式
一些优秀的开源项目OSNetTinyhttpd(示例代码)tinyhttpd是一个超轻量型Http Server,使用C语言开发,全部代码只有 502 行(包括注释),附带一个简单的 Client 可以通过阅读这段代码理解一个 Http Server 的本质。 tinyhttpd 是我为学校项目编写的一个相对简单的网络服务器。虽然非常简单,但 tinyhttpd 是线程化的,可以处理基本的 CGI 脚本!这是一个 2024-08-01 embedded #embedded
Linux 应用编程Linux Application Programming<stdio.h> 英语:standard input/output header,标准输入/输出头文件)是C语言为输入输出提供的标准库头文件,其前身是迈克·莱斯克20世纪70年代编写的“可移植输入输出程序库” 类型 标识符 说明 size_t 用于表示大小的数据类型 FILE 记录流的信 2023-03-26 linux #linux
ESP32 DevelopESP321234567idf.py set-target esp32c3idf.py menuconfigidf.py buildidf.py -p COM12 flash moniter IDF组件管理器 The ESP Component Registryhttps://components.espressif.com/ create-manifest idf.py create- 2025-07-03 embedded > blog #embedded #esp32 #idf
License差异对比参考SPDX License List 使用 SPDX 短格式标识符 以简单、高效、便携和机器可读的方式 传达 FOSS 许可证信息 123// SPDX-License-Identifier: MIT/* SPDX-License-Identifier: MIT OR Apache-2.0 */# SPDX-License-Identifier: GPL-2.0-or-later 术语什么 2023-02-02 blog #license
OSIOSI开放系统互联参考模型(Open System Interconnection Reference Model),即我们通常所说的网络互联的七层框架,它是国际标准组织(International Organization for Standization)于1977年提出的标准,又称为ISO/IEC 7498或X.200建议。值得注意的是,OSI并没有提供一个可以实现的方法,它不是一 2020-08-08 blog #osi
Tmux 终端复用器(Terminal Multiplexer)tmux 终端复用器(terminal multiplexer)☆为重要内容 Tmux 简介tmux 终端复用器(terminal multiplexer) tmux 能干什么命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称”窗口”),在里面输入命令。用户与计算机的这种临时的交互,称为一次”会话”(session) 。 会话的一个重要特点是,窗口与其中启动的进程是 2022-09-29 tools #linux #tmux
Hyper-V家庭版启用Hyper-V若要检查 Windows 版本及内部版本号,选择 Windows 徽标键 + R,然后键入“winver”,选择“确定”。更新到“设置”菜单中的最新 Windows 版本。 将下面代码改成.bat文件,管理员运行 123456pushd "%~dp0"dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum 2022-08-16 tools #hyperv
Obsidian一些格式问题%%两个百分号在html中是“一个模板引擎系统,其语法基于jinja。” Obsidian 会默认把CRLF的换行符自动转换成LF的 我们需要将单独这个仓库的git配置成autocrlf = false以保证换行符的统一。 2024-03-08 tools #markdown #obsidian
HTMLHTMLHTML 概述HTML 是什么HTML 是用来描述网页的一种语言。 HTML 指的是超文本标记语言: HyperText Markup Language HTML 不是一种编程语言,而是一种标记语言 标记语言是一套标记标签 (markup tag) HTML 使用标记标签来描述网页 HTML 文档包含了HTML 标签及文本内容 HTML文档也叫做 web 页面 HTML 标签HTML 2024-02-21 language #html
CSSJS (JavaScript)JS 简介JavaScript 是 web 开发人员必须学习的 3 门语言中的一门: HTML 定义了网页的内容 CSS 描述了网页的布局 JavaScript 控制了网页的行为 JS 特性 JavaScript 是脚本语言 JavaScript 是互联网上最流行的脚本语言,这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能 2024-02-26 language #html #web #js
Frp背景介绍frp 是一款高性能的反向代理应用,专注于内网穿透。它支持多种协议,包括 TCP、UDP、HTTP、HTTPS 等,并且具备 P2P 通信功能。使用 frp,您可以安全、便捷地将内网服务暴露到公网,通过拥有公网 IP 的节点进行中转。 特性 通过在具有公网 IP 的节点上部署 frp 服务端,您可以轻松地将内网服务穿透到公网,并享受以下专业特性: 多种协议支持:客户端服务端通信支持 2023-11-03 tools #frp
USBUSB 版本及发展历史USB接口自1994年推出以来,经过26年的发展,经过USB1.0/1.1、USB2.0、USB3.x,最终发展到了现在的USB4;传输速率也从最开始的1.5Mbps,大幅提高到了最新的40Gbps。 USB1.0 1996年1月15日推出USB1.0接口规范 规定低速传输速率为1.5Mbit/s 对外提供供电电压为5V,最大电流500mA 一般适用于鼠标 2023-12-01 embedded > blog #embedded #usb
RT-Thread 宝藏之Ringblk组件RT-Thread 宝藏之ringblk组件序言ringblk是什么?ringblk = ring block(环形块缓冲区),它的缓冲区的单位是一个 block , 每次对数据的操作都是以 block 为单位。 还有一个更加常见的 ringbuf(环形缓冲区,一种数据结构)。ringbuf就是比较常见的先入先出(FIFO,First-In-First-Out)的环形缓冲区。 下面是两 2024-06-04 RTOS #rtos #rt-thread
查看Apk安装包的签名查看apk安装包的签名首先,确保你已经安装了Java开发工具包(JDK),以便使用其中的工具。 查看Android apk的签名信息方式有两种 直接查看apk的签名信息(推荐) keytool -list -printcert -jarfile wechat.apk 12345672. 通过apk中的RSA文件查看签名信息 1. 将apk后缀改为.zip,然后解压(**apk 2023-11-20 blog #apk #java
踩坑记 BSS段的初始化前言接手一个项目,调试全靠串口日志,测试同事测试产品的时候无法拿到日志,刚好产品RAM够大,且刚好有SD卡。所以就诞生了将日志缓存在RAM上,在特定条件下将它写到SD卡上的想法。 开工。 写完代码之后发现机器偶尔会无法启动,无法开机,无任何日志。 有的时候是烧录完成代码后重启无法启动,有些情况下是烧录完成代码后运行正常,放置一段时间后无法启动。 有时候有些无法启动的机器放置一段时间又成功启动。 一 2023-10-20 blog #embedded
音视频编解码视频显示原理视频是利用人眼视觉暂留的原理,通过播放一系列的图片,使人眼产生运动的感觉。单纯传输视频画面,视频量非常大,对现有的网络和存储来说是不可接受的。为了能够使视频便于传输和存储,人们发现视频有大量重复的信息,如果将重复信息在发送端去掉,在接收端恢复出来,这样就大大减少了视频数据的文件,因此有了各种视频压缩标准。 视频编码参考 I帧、P帧、B帧、GOP、IDR 和PTS, DTS之间的关系视频 2024-07-21 blog #audio #video
OrangePiOrangePi 3B 系统安装… 系统镜像: EN: http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-3B.html CN: http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers 2023-11-23 linux #linux
语义化版本编号 Major、Minor、Patch语义化版本(Semantic Versioning):Major、Minor 和 Patch 版本号解析语义化版本,通常简称为SemVer,是一种软件版本号的标准化方案,旨在使软件版本号的管理更加透明和可预测。它主要由三个部分组成:Major(主版本号)、Minor(次版本号)和Patch(修订版本号)。在这篇文章中,我们将深入解释这三个部分的含义,并提供详细的示例来说明它们的用途和变更规则。 在 2024-01-19 blog #major
RustDeskServer 搭建RustDesk Server OSS功能简单,无需许可证,RustDesk Server Pro功能更强,需要许可证。 参考官方文档。 RustDesk Server OSS 搭建RustDesk Server OSS有两个程序hbbs和hbbr。 hbbs- RustDesk ID/Rendezvous 服务器 hbbr- RustDesk 中继服务器 默 2023-12-16 blog #RustDesk
代码、硬件常见的缩写代码、硬件常见的缩写常用单词缩写 全词 缩词/简写 中译 全词 缩词/简写 中译 指令内核相关类 source src 源头 default def 默认 destination dst或des 目的地,目标 define def 定义 operator optr 操作符 macro mcr 宏 operand opnd 操作数 retur 2024-01-12 blog #words
常见MCU上电初始化逻辑 以STM32F1 CortexM3 为例前言每一款芯片是如何启动的都值得去研究,只有明白了它是怎么样启动的,你才能知道为什么你的程序可以运行?程序是从哪里运行来的?运行你写的函数之前执行了哪些操作? 也只有这样你才有对全局的掌控,才能对代码了然于心,提高你解决复杂问题的能力。 有一次踩坑,某MCU的BSS段未在main运行之前初始化导致程序运行异常,也是跟这个启动流程有关。 通过了解启动文件,我们可以体会到处理器的架构、指令集、 2023-06-20 blog #embedded #stm32 #cortexm3
AESAES高级加密标准( AES Advanced Encryption Standard),原名Rijndael,是美国国家标准与技术研究所(NIST) 在 2017 年制定的电子数据加密规范。 AES已被美国政府采用。它取代了1977 年发布的数据加密标准(DES) 。AES 描述的算法是对称密钥算法,这意味着相同的密钥用于加密和解密数据。 一些特性 对称加密,加密解密使用同样的密钥 分组加密 2024-03-23 blog #aes
AUTOSARAUTOSARautosar是一个组织,是一套汽车软件开发的方法论(框架),是一个软件架构(操作系统 中间件),是一个通信接口。 统一标准、分散实现、集中配置 AUTOSAR分为两种,这两种是并存的,一个是Classic AUTOSAR(硬实时系统),一个是Adaptive AUTOSAR(软实时系统), Classic AUTOSARClassic AUTOSAR,是基于OSEK的嵌入式实时E 2023-07-27 blog #autosar