序言 ​
RP2040 (Raspberry Pi Pico) 拥有双核 Cortex-M0+ 架构和独特的 PIO 状态机。在进行 Rust 嵌入式开发时,我们需要一套稳定可靠的烧录与调试方案。
虽然官方提供了基于 USB 存储模拟的 UF2 拖拽烧录方式,但在实际开发中,我们需要断点调试、RTT 日志输出以及一键自动烧录。本文整合了从最基础的软件工具到进阶的硬件调试方案。
RP2040 (Raspberry Pi Pico) 拥有双核 Cortex-M0+ 架构和独特的 PIO 状态机。在进行 Rust 嵌入式开发时,我们需要一套稳定可靠的烧录与调试方案。
虽然官方提供了基于 USB 存储模拟的 UF2 拖拽烧录方式,但在实际开发中,我们需要断点调试、RTT 日志输出以及一键自动烧录。本文整合了从最基础的软件工具到进阶的硬件调试方案。
维护 HP 服务器时一不小心把 iLO (Integrated Lights-Out) 重置了导致高级功能授权丢失 (License), 这里记录了通过 HPE 网站提交 Case 找回 iLO License 的详细流程。
在使用惠普(HPE)服务器运行 Proxmox VE 时,硬件阵列卡(Smart Array Controller)通常会屏蔽底层的物理磁盘信息。
为了监控磁盘健康状态和配置阵列,我们需要安装 HPE 官方的 ssacli (Smart Storage Admin CLI) 工具。
此外,在不安装官方工具的情况下,我们也可以通过特定参数让 smartctl 穿透阵列卡直接读取物理硬盘的 SMART 信息。
smartctl -a -d cciss,<N> /dev/sg<M>
在进行嵌入式 GUI 开发(如使用 Rust 和 Slint)时,通常会面临以下技术挑战:
VSCode Remote - SSH 提供了便捷的远程开发体验,实现了 “本地编码,云端编译”。然而,Slint 的 “实时预览” (Live Preview) 功能依赖于图形界面显示。虽然配合 SSH X11 转发 可以将远程窗口投射至本地,但 VSCode 的插件机制存在一定的环境隔离,Slint 插件启动的预览进程往往无法正确获取 DISPLAY 环境变量,导致预览窗口无法显示。
本文介绍一种通过 LSP (Language Server Protocol) 代理脚本注入环境变量的方法,以解决该问题。
在管理 Linux 服务器时,通常使用 SSH 命令行进行操作。但有时需运行一些必须使用图形界面(GUI)的软件(如 Oracle 安装程序、IDE、虚拟化管理器 virt-manager 等),以及 Windows 配合 Docker 容器进行 GUI 开发时,而服务器本身可能没有安装桌面环境,或者为了安全和性能不希望安装完整的 VNC/RDP 服务。
X11 转发 (X11 Forwarding) 是一项非常实用的技术,它允许通过 SSH 通道将 Linux 服务器上的图形界面 “转发” 到本地电脑上显示。简而言之,即程序在服务器上运行,但窗口绘制在本地屏幕上。
chmod +x /etc/init.d/{name}
service {name} {action}
# 或
/etc/init.d/{name} {action}
pve kernel: e1000e 0000:00:1f.6 eno1: Detected Hardware Unit Hang
NVIDIA vGPU 是一种允许多个虚拟机使用受支持的单个物理 GPU 的技术。
NVIDIA 不允许在消费级 GPU 上使用 vGPU 功能,但是实际上硬件是完全支持的。
这里使用开源软件 vgpu_unlock 通过修补 NVIDIA 驱动的方式解锁了消费级 NVIDIA vGPU 功能。
当然这仅能使消费级 GPU 能够支持 vGPU 技术,而不是破解了授权。(所以还是需要去 NVIDIA 购买!)