
上位机知识篇
文章平均质量分 90
Ronin-Lotus
这个作者很懒,什么都没留下…
展开
-
上位机知识篇---keil IDE操作
Keil IDE 是嵌入式开发中常用的集成开发环境,提供了丰富的调试功能,帮助开发者高效定位和修复代码问题。调试前的准备工作包括确保代码可编译、设置调试选项和断点。进入调试模式后,Keil 会自动切换界面,显示调试工具栏和调试窗口,如寄存器窗口、变量观察窗口、内存窗口等。调试过程中,开发者可以通过全速运行、单步执行、运行到光标处等操作控制程序执行,并通过观察窗口查看和修改变量值。Keil 还支持条件断点、内存断点、性能分析等高级功能,进一步提升调试效率。原创 2025-05-21 01:28:23 · 1114 阅读 · 0 评论 -
图像处理篇--- HTTP|RTSP|MJPEG视频流格式
视频流技术是现代多媒体应用的核心,常见的传输方式包括MJPEG、RTSP和HTTP流。MJPEG是一种简单的视频压缩格式,通过HTTP传输独立的JPEG图像,具有低延迟和兼容性好的特点,但带宽效率低且不支持音频,适用于网络摄像头和嵌入式设备。RTSP是专为流媒体设计的协议,通常与RTP配合使用,支持低延迟和精确播放控制,但实现复杂且兼容性有限,适用于专业视频监控和视频会议。HTTP流基于HTTP协议,支持自适应码率和广泛兼容性,但延迟较高,常用于视频点播和直播服务。未来趋势包括WebRTC的崛起、低延迟HL原创 2025-05-10 22:46:28 · 1571 阅读 · 0 评论 -
图像处理篇---MJPEG视频流处理
MJPEG(Motion JPEG)是一种简单的视频流格式,由连续的JPEG图像组成,通常通过HTTP协议传输。Python处理MJPEG流的方法包括基础处理和高级处理。基础方法包括使用OpenCV直接读取和手动解析HTTP流,前者实现简单但兼容性有限,后者可完全控制流处理但实现复杂。高级方法包括异步IO处理(asyncio)和生成器管道处理,前者适合高性能应用,后者便于添加自定义处理逻辑。专业级方法则使用FFmpeg作为后端,适合复杂场景。这些方法各有优缺点,开发者可根据需求选择合适的方式处理MJPEG流原创 2025-05-10 22:05:48 · 1099 阅读 · 0 评论 -
程序代码篇---esp32视频流处理
本文介绍了如何使用Python读取和处理ESP32摄像头的视频流。ESP32摄像头通常通过Wi-Fi提供视频流,支持HTTP、RTSP和MJPEG等协议。文章详细展示了如何使用OpenCV库读取HTTP和RTSP视频流,并通过requests库处理MJPEG流。此外,还提供了处理连接不稳定、提高视频流性能的解决方案,如降低分辨率、跳过帧等。对于高级用户,文章还介绍了使用FFmpeg和PyAV库作为后端的方法。通过这些方法,用户可以轻松获取并处理ESP32摄像头的实时视频流。原创 2025-05-10 21:40:41 · 1103 阅读 · 0 评论 -
程序代码篇---Python视频流
Python 提供了多种库(如 OpenCV、PyAV、imageio)来处理视频流,广泛应用于计算机视觉领域。OpenCV 是最常用的库,支持从摄像头或视频文件中捕获视频流,并提供了帧读取、属性设置、视频写入等基础功能。此外,OpenCV 还支持多摄像头处理、帧处理(如灰度转换、边缘检测)以及视频流分析与统计(如实时 FPS 计算)。PyAV 和 imageio 是其他常用的视频处理库,分别基于 FFmpeg 和 imageio 提供视频读取与写入功能。为了优化视频流处理,可以使用多线程技术或动态调整分辨原创 2025-05-10 21:23:37 · 686 阅读 · 0 评论 -
深度学习篇---MediaPipe 及其人体姿态估计模型详解
MediaPipe 是 Google 开发的开源跨平台框架,专为构建多模态(如视频、音频)的机器学习管道而设计,特别适用于实时应用。其核心特点包括跨平台支持(Android、iOS、Windows等)、实时性能优化、模块化设计以及多种预训练模型(如人脸检测、手势识别、人体姿态估计)。MediaPipe 提供了两种主要的人体姿态估计模型:MediaPipe Pose(BlazePose)和 MediaPipe Holistic。BlazePose 支持 33 个关键点检测,适用于移动设备,而 Holistic原创 2025-05-10 19:21:34 · 1317 阅读 · 0 评论 -
上位机知识篇---PSRAM和RAM
以下是关于PSRAM(伪静态随机存取存储器)和RAM(随机存取存储器)RAM 是计算机中用于临时存储数据的易失性存储器,支持快速读写,断电后数据丢失。PSRAM 是一种结合了DRAM存储单元 和 SRAM接口的混合型存储器,本质是自带刷新电路的DRAM。PSRAM 是DRAM与SRAM的折中方案,适合成本敏感、接口简单的场景。SRAM 和 DRAM 仍是高性能与大容量的主流选择。技术选型需综合 速度、成本、功耗、系统复杂度 四大因素。原创 2025-05-02 22:22:35 · 791 阅读 · 0 评论 -
上位机知识篇---粗细颗粒度
本文简单介绍了粗细颗粒度。“粗细颗粒度”(Granularity)是描述数据、系统或模型中细节层级的重要概念,不同场景下的选择直接影响效率与效果。以下从定义、应用场景、优缺点到实例的系统解析,帮助你全面掌握这一概念。较大单元、较少细节。示例:企业年度营收总额、数据库表级权限控制。总结:粗细颗粒度无绝对优劣,需权衡业务目标与技术约束。掌握这一概念的核心在于理解细节与效率的取舍,找到适合当前场景的平衡点。原创 2025-05-02 22:02:27 · 984 阅读 · 0 评论 -
程序代码篇---ESP32云开发
本文简单介绍了实现 ESP32-S3 传感器数据上传至云平台 + 手机远程控制电机 的完整方案,涵盖推荐的云平台、手机端。一、推荐云平台及工具云平台选择阿里云 IoT 平台优势:国内稳定、支持大规模设备接入、提供完整设备管理及安全认证。协议:支持 MQTT、HTTP(S) 等协议,适合 ESP32-S3 通信。免费额度:新用户可免费使用基础功能。文档:阿里云 IoT 文档ThingsBoard(开源)优势:免费、可私有化部署、自带可视化仪表盘和手机端控制界面。原创 2025-05-01 14:03:53 · 626 阅读 · 0 评论 -
上位机知识篇---二进制操作
本文简单对单片机、上位机中的映射(Mapping)和位移操作符(Bit Shifting)等相关知识进行了简单介绍.一、单片机与上位机中的二进制操作基础在嵌入式开发(单片机)和上位机编程(如Python、C#等)中,二进制操作是底层数据处理的核心,尤其在硬件控制、通信协议解析和数据压缩等领域。位移操作符左移(<<):将二进制数向左移动指定位数,右侧补0。作用:等效于乘以2^n(n为位移数)。示例:0b0001 << 2 → 0b0100(十进制1→4)。原创 2025-05-01 13:49:47 · 1038 阅读 · 0 评论 -
上位机知识篇---ARM 汇编语言与寄存器深度讨论
本文简单介绍了ARM的汇编语言与寄存器的深度讨论.一、ARM 汇编语言的核心特性与应用深度剖析(一)指令集架构的独特优势ARM 架构采用精简指令集计算机(RISC)设计理念,其指令集具有简洁高效的特点。相较于复杂指令集计算机(CISC),ARM 指令长度固定,执行周期短,这使得指令流水线能够高效运作。在实验中的各类程序里,如两个 64 位数相加程序,通过合理组合 ADD、ADC 等指令,充分利用了 ARM 指令集对数据处理的高效性。原创 2025-05-01 13:43:09 · 1178 阅读 · 0 评论 -
上位机知识篇---流水线执行
本文简单介绍了流水线.基本概念流水线(Pipeline) 是一种通过将任务分解为多个子任务(阶段),并让不同子任务并行执行以提高效率的技术。其灵感来源于工业流水线,每个阶段专注于特定操作,多任务在不同阶段重叠执行,从而提升整体吞吐率(Throughput)。经典五级流水线阶段(RISC为例)取指(IF, Instruction Fetch)从指令存储器中读取下一条指令。程序计数器(PC)更新,指向下一条指令地址。译码(ID, Instruction Decode)原创 2025-05-01 13:40:39 · 1024 阅读 · 0 评论 -
问题整理篇---(1)keil
本文简单介绍了怎样解决Keil突然无法打开或者打开闪退的问题。原创 2025-04-29 19:13:26 · 903 阅读 · 0 评论 -
深度学习篇---抽样
抽样是将连续时间信号转换为离散时间信号的关键过程,其数学本质是用脉冲序列对连续信号进行调制。原创 2025-04-28 13:04:29 · 983 阅读 · 0 评论 -
图像处理篇---信号与系统的应用
图像和视频作为典型的时空信号,与信号与系统理论有着深刻的联系。原创 2025-04-28 12:42:04 · 1257 阅读 · 0 评论 -
上位机知识篇---微信小程序制作
本文简单介绍了微信小程序的制作.1.无需下载安装即用即走的应用(轻量级,内嵌于微信中)。2.跨平台(iOS/Android),基于微信生态开发。3.适合工具类、电商、服务预约等场景。创建复用组件:components/my-component,在页面中引入。原创 2025-04-27 14:01:24 · 783 阅读 · 0 评论 -
上位机知识篇---时钟分频
本文简单介绍了一下时钟分频。时钟分频(Clock Division)是数字电路设计中常见的技术,用于将高频时钟信号转换为较低频率的时钟信号,以满足不同模块的时序需求。它在处理器、FPGA、SoC(片上系统)和嵌入式系统中广泛应用。时钟分频的基本概念(1) 什么是时钟分频?时钟分频是指通过硬件或软件方式降低输入时钟频率,生成一个频率较低的时钟信号。例如,将 100MHz 的时钟分频为 50MHz(2分频)或 25MHz(4分频)。(2) 为什么需要时钟分频?降低功耗:高频时钟会增加动态功耗(原创 2025-04-26 23:57:38 · 1107 阅读 · 0 评论 -
上位机知识篇---寻址方式
本文简单介绍了各种寻址方式。在计算机体系结构和指令集设计中,寻址方法(Addressing Mode)是指 CPU 指令如何访问操作数(数据)的方式。不同的寻址方法会影响指令的灵活性、执行效率和编程便利性。立即寻址(Immediate Addressing)操作数直接包含在指令中,无需访问内存。特点:速度快,但数据大小受限(如 8/16/32 位立即数)。示例:assemblyR1 = 42(立即数42直接存入寄存器R1)2. 寄存器寻址(Register Addressing)原创 2025-04-26 23:55:52 · 687 阅读 · 0 评论 -
【KWDB 创作者计划】_深度学习篇---数据获取
在深度学习竞赛(如Kaggle、天池等)和研究项目中,获取大量高质量数据是成功的关键因素之一。以下是系统化的数据获取方法和资源大全。原创 2025-04-25 12:11:25 · 1127 阅读 · 0 评论 -
【KWDB 创作者计划】_上位机知识篇---Github
GitHub 是全球最大的 代码托管平台 和 开发者协作社区,基于Git 版本控制系统,支持个人和团队进行代码管理、项目协作、自动化开发等。GitHub 不仅是代码托管平台,更是开发者协作生态的核心工具。掌握Git 基础 + PR 流程 + Issues/Actions后,你可以高效管理项目,参与开源,甚至构建自动化工作流!🚀。原创 2025-04-24 13:11:12 · 1014 阅读 · 0 评论 -
【KWDB 创作者计划】_嵌入式硬件篇---寄存器与存储器&截断与溢出
本文简单介绍了寄存器和存储器的区别以及截断与溢出。在计算机中,截断(Truncation)和溢出(Overflow)都是由于数值存储空间有限而导致的数据精度或范围问题,但它们的产生原因和影响有所不同。位置:位于CPU内部,是CPU核心的一部分。寄存器是CPU的“工作台”,速度快但空间有限,直接支撑计算。存储器是“仓库”,容量大但速度慢,用于存储大量信息。现代计算机通过存储层次结构平衡速度与容量,寄存器是这一链条的顶端。当数据超出目标存储空间的位数限制时,直接丢弃高位或低位部分,导致。原创 2025-04-24 12:41:53 · 1135 阅读 · 0 评论 -
【KWDB 创作者计划】_上位机知识篇---PlatformIO
本文简单介绍了PlatformIO的使用与开发流程,并以PlatformIO开发ESP32-S3为例进行示例介绍。原创 2025-04-23 21:52:53 · 907 阅读 · 0 评论 -
【KWDB 创作者计划】_上位机知识篇---MicroPython
作为Python 3的精简优化实现,专为微控制器和嵌入式系统设计,在ESP32-S3等设备上展现了强大的开发优势。以下将从多个维度详细介绍其应用。原创 2025-04-23 21:37:57 · 1405 阅读 · 0 评论 -
【KWDB 创作者计划】_深度学习篇---向量指令集
向量指令集(如SIMD:Single Instruction, Multiple Data)通过并行化数据计算显著加速机器学习任务。其核心原理是利用硬件层面的并行性,在单个时钟周期内对多个数据执行相同操作。SIMD:单指令流多数据流。一个控制器控制多个处理器,同时对一组数据(数据向量)进行处理中的每一个分别执行相同的操作,实现空间上的并行的技术。原创 2025-04-23 21:08:14 · 1146 阅读 · 0 评论 -
【KWDB 创作者计划】_上位机知识篇---MQTT协议
MQTT (Message Queuing Telemetry Transport) 是一种轻量级的发布/订阅消息传输协议,专为低带宽、高延迟或不稳定的网络环境设计。原创 2025-04-23 20:41:00 · 494 阅读 · 0 评论 -
【KWDB 创作者计划】_上位机知识篇---Arduino
Arduino 是一个开源的电子原型平台,以其易用性、灵活性和丰富的生态系统著称,广泛应用于教育、创客项目、工业控制等领域。Arduino 通过硬件抽象和开源生态降低了嵌入式开发的门槛,适合快速原型开发。尽管性能有限,但其灵活性和社区支持使其成为创客、教育和小型项目的首选工具。对于更复杂的应用,可以过渡到或其他专业平台。原创 2025-04-20 19:39:05 · 514 阅读 · 0 评论 -
【KWDB 创作者计划】_上位机知识篇---Docker容器
本文简单介绍了Docker容器的概念以及使用。Docker 容器是什么?Docker 容器是一种轻量级、可移植的虚拟化技术,允许开发者将应用程序及其依赖环境打包成一个独立的运行单元。容器基于 Docker 镜像运行,具有以下特点:隔离性:每个容器运行在独立的用户空间,互不干扰(基于 Linux 的 cgroups 和 namespaces)。轻量级:与虚拟机(VM)相比,容器共享主机 OS 内核,无需额外运行完整的操作系统,启动更快、占用资源更少。原创 2025-04-19 23:53:57 · 824 阅读 · 0 评论 -
【KWDB 创作者计划】_程序代码篇---C语言程序内存布局
在C语言程序运行时,其内存布局通常分为四个主要区域:栈区(Stack)、堆区(Heap)、全局区(静态区,Static/Global)和代码区(Text Segment)。每个区域负责存储不同类型的数据,具有不同的生命周期和管理方式。栈区(Stack)作用:存储函数的局部变量、函数参数、返回值以及函数调用的上下文(如返回地址)。管理方式:由编译器自动分配和释放,遵循“后进先出”(LIFO)原则。特点:高效:分配和释放内存仅需移动栈指针。原创 2025-04-19 23:50:58 · 850 阅读 · 0 评论 -
【KWDB 创作者计划】_程序代码篇---Matlab实现S变换
本文简单简单介绍了Matlab实现S变换。原创 2025-04-18 23:58:47 · 335 阅读 · 0 评论 -
【KWDB 创作者计划】_上位机知识篇---SDK
软件开发工具包)是开发者用于构建特定平台、硬件或服务的应用程序的一站式工具集合。它包含开发所需的核心工具、接口、文档和示例代码,大幅降低开发门槛。SDK是开发者与复杂系统(硬件、平台、服务)之间的桥梁。通过提供标准化工具和接口,它让开发者能专注于业务逻辑,而非底层细节。无论是调用一颗AI加速芯片,还是接入微信小程序,SDK都是现代软件开发不可或缺的“瑞士军刀”。原创 2025-04-17 22:42:57 · 993 阅读 · 0 评论 -
【KWDB 创作者计划】_上位机操作篇---龙芯2k1000编译安装opencv
在龙芯2K1000(基于MIPS64架构)上安装OpenCV需要根据具体场景选择不同的方法。由于龙芯平台的生态与x86/ARM架构存在差异,以下提供几种详细的安装方案,涵盖本地编译、交叉编译和容器化部署。方法 适用场景 优点 缺点本地编译龙芯设备性能足够无需额外环境配置 编译时间较长交叉编译快速部署到多台设备利用x86主机性能加速编译 需要配置交叉工具链Docker 容器化隔离环境环境一致性高,易于分发需龙芯平台支持Docker根据实际需求选择合适的方法。对于初次尝试,推荐本地编译;对于批量部署,原创 2025-04-16 04:14:15 · 730 阅读 · 0 评论 -
【KWDB 创作者计划】_上位机知识篇---Dracut
Dracut 是 Linux 系统中用于生成的工具。initramfs 是一个临时的根文件系统,在系统启动时加载到内存中,用于挂载真正的根文件系统(如 /dev/sda1)。它在硬件初始化、驱动加载、解密加密磁盘等场景中起关键作用。以下从 功能、语法、常用选项、示例 和 常见问题 进行详细说明。# 添加 NVMe 驱动和网络支持场景 命令示例强制更新默认镜像生成指定内核的镜像 sudo dracut -f /boot/initramfs-5.10.img 5.10添加自定义驱动生成救援镜像。原创 2025-04-16 04:02:40 · 800 阅读 · 0 评论 -
【KWDB 创作者计划】_上位机知识篇---内核&镜像
本文简单介绍了内核和镜像的关系。内核是操作系统的核心组件直接与硬件交互,负责管理系统资源(如 CPU、内存、设备驱动等),并为用户空间的应用程序提供基础服务。镜像是文件或存储设备的静态副本,包含特定时间点的完整数据状态,用于快速部署或恢复系统。内核是操作系统的核心直接控制硬件,提供资源管理能力。镜像是静态数据副本,可能包含内核、文件系统、应用程序等。原创 2025-04-16 03:39:43 · 630 阅读 · 0 评论 -
【KWDB 创作者计划】_上位机知识篇---磁盘分区
本文是关于 磁盘分区(如 /dev/sda) 的简单介绍,涵盖基本概念、分区类型、管理工具及操作指南,适用于 Linux 系统。操作 命令/工具查看分区信息 lsblk, fdisk -l创建分区 fdisk, parted格式化分区 mkfs.ext4, mkswap挂载分区 mount, /etc/fstab逻辑卷管理(LVM) pvcreate, vgcreate, lvcreate掌握磁盘分区知识,可以灵活管理存储空间,适用于。原创 2025-04-16 03:12:19 · 875 阅读 · 0 评论 -
【KWDB 创作者计划】_上位机操作篇---Makefile
以下是关于 Makefile 的详细使用指南,本文涵盖基本语法、核心参数、常见用法及高级技巧,适用于 C/C++ 项目或其他编译型语言。CC = gcc # 定义编译器CFLAGS = -Wall -O2 # 定义编译选项TARGET = main # 定义目标名称SRCS = main.c utils.c # 定义源文件列表OBJS = $(SRCS:.c=.o) # 自动生成对象文件列表(将 .c 替换为 .o)功能 实现方法多文件编译。原创 2025-04-16 02:54:07 · 985 阅读 · 0 评论 -
【KWDB 创作者计划】_上位机操作篇---GCC命令
GCC(GNU Compiler Collection)和 G++(GNU C++ Compiler)是 Linux 环境下最常用的C/C++ 编译器。它们支持从预处理到链接的完整编译流程,并提供了丰富的命令行参数。以下从编译流程、核心参数解析到拓展知识进行详细说明。场景 常用命令快速编译 gcc main.c -o main生成调试信息启用所有警告 gcc -Wall -Werror main.c -o main。原创 2025-04-16 02:30:26 · 1175 阅读 · 0 评论 -
【KWDB 创作者计划】_上位机操作篇---pmon(龙芯2k1000)
在 龙芯2K1000平台上,PMON 是一个常用的Bootloader(类似x86 的 BIOS 或 UEFI),它负责硬件初始化并加载操作系统。串口引脚定义通常为:TX(发送)RX(接收)GND(地线)原创 2025-04-16 02:09:52 · 887 阅读 · 0 评论 -
蓝桥杯篇---客观题
本文简单介绍了蓝桥杯中客观题各个部分的知识点。原创 2025-04-11 23:11:10 · 589 阅读 · 0 评论 -
嵌入式通信篇---通信频段
本文简单介绍了工作频段以及对应的使用设备。频段资源有限,设备共存需依赖技术优化与严格管理。未来需平衡高带宽需求与干扰控制,推动智能频谱共享技术发展。原创 2025-04-11 04:13:17 · 883 阅读 · 1 评论 -
上位机知识篇---龙芯板子的开机快捷键
龙芯板子的开机流程通常基于 PMON(一种嵌入式引导程序)或UEFI固件,不同型号的板卡可能略有差异。Ctrl+D 是龙芯板卡开机阶段的关键调试键,用于进入底层命令行环境。熟悉PMON/UEFI快捷键可显著提升开发调试效率,尤其在系统修复和定制化启动流程中。操作前务必确认**固件版本,**避免因兼容性问题导致异常。原创 2025-04-10 05:18:52 · 641 阅读 · 0 评论