- 博客(185)
- 资源 (8)
- 收藏
- 关注
原创 OpenMP 全面解析:用最简单的方式让你的 C 代码跑满多核 CPU
OpenMP 多核并行编程实战指南 本文介绍了 OpenMP 这一简单高效的 C/C++ 多核并行编程框架。OpenMP 通过简单的编译器指令(如 #pragma omp parallel for)即可实现代码并行化,无需手动管理线程、锁或任务分配。 文章详细解析了 OpenMP 的核心语法结构,包括 parallel、for 等关键指令的使用方法,并提供了清晰的三步使用流程:添加 pragma 指令、编译时添加 -fopenmp 参数、运行前设置线程数。 通过一个计算大数组平方的实战示例,直观展示了 Op
2026-03-16 18:21:51
354
原创 USB‑C PD 充电系统完整解析(SC8886 + FUSB302)
USB-C PD充电系统解析(SC8886 + FUSB302) 本文详细解析了Rockchip平台基于SC8886和FUSB302的USB-C PD充电系统架构。系统由三部分组成:FUSB302负责PD协商和角色检测,SC8886实现电源转换/充电/OTG功能,Linux USB-C Connector Class管理系统角色。文章深入讲解了硬件配置、DTS设置、PD协商流程、电压选择机制以及OTG反向供电实现。重点分析了TCPM的电压选择规则(默认优先最高电压)、Sink PDO配置方法,并提供了常见问
2026-03-11 10:59:47
535
原创 从“原始模型”到“板子上真正跑起来”
本文系统梳理了AI模型从原始训练到硬件部署的全流程。首先从任务类型(LLM/VLM/CV)确定模型家族,然后分析不同训练框架(PyTorch/TensorFlow等)对应的原始模型格式。重点阐述了ONNX作为通用中间格式的关键作用,以及各芯片厂商(如Rockchip/NVIDIA等)特有的部署格式。特别解释了RKNN-Toolkit的工作机制:支持静态图框架(Caffe/TF等)直接转换,但PyTorch需先转ONNX。最后区分了PC端(模型转换)与ARM端(仅推理)的功能差异,并说明YOLO系列从Dark
2026-02-25 14:39:06
945
原创 Linux 音频系统全景解析:PipeWire、PulseAudio 与 ALSA 的层次关系
本文系统解析了Linux音频架构的多层体系:内核ALSA驱动提供硬件控制,UCM2定义声卡场景配置,PulseAudio路径策略决定控件切换逻辑,PipeWire作为新一代音频服务器整合各层功能。整个系统通过alsa-card-profile实现配置转换,最终由桌面UI调用PipeWire/PulseAudio API完成用户交互。这种分层设计既保持硬件兼容性,又提供灵活的音频处理能力,是Linux音频系统的核心架构特点。
2026-02-12 11:24:30
479
原创 在 Android 14 上使用 scrcpy 的投屏问题与解决方案
问题根源:scrcpy 1.24 不兼容 Android 14 的系统 API。解决方案:升级到 scrcpy 最新版本(≥3.3.4)。验证结果:在 Firefly AIO-3588Q 板卡上测试,scrcpy 3.3.4 已能正常投屏和交互。✅一句话总结在 Android 14 上,旧版 scrcpy 会因系统 API 变更导致投屏报错,升级到 scrcpy 3.3.4 即可解决问题。
2026-02-10 14:57:35
481
原创 V4L2 框架下 `v4l2-ctl --list-frameintervals` 调用链解析
摘要: 分析v4l2-ctl --list-frameintervals命令触发双打印现象。用户空间发起VIDIOC_ENUM_FRAMEINTERVALS后,内核分两阶段处理:先调用sensor驱动(IMX415)的g_frame_interval输出帧率信息,再通过CIF驱动查询时因sensor->sd指向CSI2桥接设备(未实现该接口)而回退到默认30fps。根因是CIF层未正确绑定到真实sensor节点,建议检查media拓扑和接口透传。该现象本质是单次ioctl在内核subdev与captu
2026-01-30 13:56:15
808
原创 V4L2 Subdev g_frame_interval 源码解析
本文解析了V4L2框架中的g_frame_interval接口实现机制。该接口用于获取子设备(sensor/ISP等)的帧间隔(帧率倒数),定义在v4l2-subdev.h中,通过v4l2_subdev_call宏调用。驱动可自定义实现(如IMX415返回模式表中定义的fps),若未实现则上层默认使用30fps。文章详细介绍了调用路径、接口定义位置和典型驱动实现方式,帮助理解V4L2子设备帧率获取机制。
2026-01-30 09:27:30
457
原创 模拟 GStreamer 获取帧率能力:CIF 与 ISP 的差异
本文分析了GStreamer在视频采集时获取帧率能力的机制差异。通过V4L2的VIDIOC_ENUM_FRAMEINTERVALS查询,发现ISP路径(/dev/video11)返回连续型帧率能力,使caps协商宽松;而CIF路径(/dev/video0)返回离散型能力,要求严格匹配。当sensor未实现g_frame_interval时,ISP会回退到30fps,而CIF可能返回非法值导致GStreamer报错。这种底层实现的差异直接影响上层应用的帧率设置行为。
2026-01-29 14:42:46
342
原创 视频编解码与 GOP 结构详解
本文介绍了视频编解码中的关键概念:帧类型(I帧、P帧、B帧)及其特性,详细解释了GOP(图像组)结构的定义与参数(N、M),分析了显示顺序与解码顺序的差异。同时阐述了编码参数(码率、GOP长度、M值等)对视频质量的影响,并针对不同应用场景(直播、点播、监控)提供了参数配置建议。文章帮助读者理解视频编码的基本原理和优化方向,为实际应用中的参数选择提供参考依据。
2026-01-28 18:18:54
853
原创 Flutter 在嵌入式开发的策略与生态
Flutter在嵌入式开发领域已有多个成熟方案,主要包括Sony主导的flutter-elinux(适合工业部署)、社区项目eflutter(轻量级)、flutter-pi(树莓派专用)以及自定义embedder方案。这些项目通过OpenGL ES/Vulkan实现硬件加速渲染,但需注意硬件支持要求。选择方案需考虑场景需求:工业级推荐flutter-elinux+Yocto集成,树莓派开发可选flutter-pi,特殊硬件需自建embedder。丰田等工业案例已验证Flutter在嵌入式领域的可行性,但开发
2026-01-20 18:12:00
717
原创 # Xorg 配置与 modesetting 驱动详解:从设备节点到显示旋转
Xorg 配置与 modesetting 驱动解析 Xorg 是 Linux 下的图形显示服务器,其配置文件由多个 Section 组成,包括 Device(显卡驱动)、Monitor(显示器属性)和 Screen(绑定显示设备)等。现代系统通常使用 modesetting 驱动(modesetting_drv.so)通过 DRM/KMS 接口与内核交互,尤其适用于 ARM/Rockchip/Mali 平台。 设备节点中,card0 负责显示输出,card2 处理 GPU 渲染。modesetting 驱动
2026-01-15 18:15:36
691
原创 Linux 内核动态打印机制详解
本文介绍了Linux内核的动态调试机制(Dynamic Debug),重点讲解如何通过debugfs控制dev_dbg()和pr_debug()等调试信息的输出。主要内容包括:1) 内核编译需启用CONFIG_DYNAMIC_DEBUG和CONFIG_DEBUG_FS;2) 通过/sys/kernel/debug/dynamic_debug/control文件按文件、函数、模块或行号范围启用调试输出;3) 使用启动参数或模块加载参数预配置调试选项;4) 调整日志级别确保调试信息可见。该机制为内核调试提供了灵
2026-01-14 10:24:48
461
原创 USB 通讯异常后的 reset/枚举机制
USB通讯异常处理机制概述 USB子系统通过两条路径处理设备异常:外部HUB路径(由hub.c主导)和直连root HUB路径(由host驱动实现)。核心模块包括USB Core、Host Controller驱动和Controller IP层。系统通过关键宏定义控制重试策略(如5次端口复位、2次地址分配尝试)和超时参数(10-800ms不等)。异常处理流程包括端口状态检测、多重复位尝试、设备验证和完整枚举。无论是外部HUB还是直连端口,最终都遵循hub.c的统一策略,只是底层操作由不同模块实现。系统还包含
2026-01-13 17:56:01
662
原创 Linux 图形栈全景解析:从 OpenGL 到 DRM/KMS 的完整链路
本文系统解析了Linux图形栈的完整架构,从应用层到硬件层的全链路实现。主要内容包括:渲染API层(OpenGL/GLES/Vulkan)、平台绑定层(GLX/EGL/WSI)、用户态buffer管理(GBM/dma-buf)、内核显存管理(GEM/TTM)、显示框架(DRM/KMS)、用户态驱动(Mesa)以及窗口系统(X11/Wayland)。文章特别强调了嵌入式系统中EGL和GBM的重要性,并对比了Qt在EGLFS和Wayland模式下的实现差异。最后提供了完整的Linux图形栈层级示意图,帮助开发者
2025-12-29 15:44:22
1462
原创 Android 多媒体体系完整总结
本文系统梳理了Android多媒体体系架构,包括官方框架和第三方生态。官方栈从应用层的VideoView/MediaPlayer到框架层的MediaCodec/AMediaCodec,再到底层的Stagefright和OMX硬件抽象层。第三方方案如FFmpeg、ExoPlayer等提供补充选择。重点对比了MediaCodec与AMediaCodec的适用场景:前者适合Java/Kotlin应用开发,后者适合Native/C++项目及性能敏感场景。最后通过层级关系图和使用场景对比表,帮助开发者根据项目需求选择
2025-12-12 10:03:56
1071
原创 Linux 内核设备模型与驱动框架解析 ——以 rk-pcie 为例
本文解析了Linux内核设备模型与驱动框架,重点以rk-pcie为例。内核设备模型采用设备与驱动分离思想,通过总线进行匹配,支持热插拔和sysfs管理。驱动框架为不同总线类型提供统一API,如PCI、USB、I²C/SPI等。Platform驱动用于管理SoC内部非标准片上外设,如rk-pcie驱动负责初始化Rockchip SoC的PCIe控制器并接入标准PCI总线。文章还对比了不同驱动类型的bind/unbind机制差异,指出Platform驱动通常固定绑定,而PCI/USB驱动支持动态匹配。最后说明d
2025-12-04 09:05:59
810
原创 Linux 下 Realtek WiFi/BT 二合一模组详解
📡 Linux 下 Realtek WiFi/BT 二合一模组详解。👉 因此 WiFi 部分通常能自动工作,不需要额外操作。这种架构导致 WiFi 和蓝牙的初始化方式完全不同。3.5 启动 Bluetooth 服务。3.4 hciattach 初始化。执行成功后,系统会生成 hci0。此时 hci0 应该可见。
2025-12-03 20:29:56
1000
原创 Linux 总线模型与 bind/unbind 完整解析
Linux设备模型通过sysfs提供统一的驱动绑定机制。不同总线类型(platform、PCI、I²C、SPI、USB等)会在/sys/bus/下动态注册目录,具体显示取决于内核配置和驱动状态。驱动需通过标准API注册并实现probe/remove方法后,才能在/sys/bus/<bus>/drivers/<driver>/下生成bind/unbind文件。这些文件可用于手动触发设备的绑定或解绑操作,如"echo设备名>bind"会触发probe(),而&q
2025-12-03 15:56:07
1027
原创 Linux 图形系统启动流程与配置详解
↓↓读取 /etc/lightdm/lightdm.conf 和 lightdm.conf.d/*.conf↓启动 seat0↓执行 display-setup-script (/usr/local/bin/xrandr-screen.sh → /etc/default/xrandr)↓启动 Xorg :0↓运行 greeter (lightdm-gtk-greeter)↓用户登录 (autologin 或手动)↓启动桌面会话 (xubuntu, gnome, kde...)
2025-11-26 18:14:35
579
原创 LightDM 启动流程与配置详解
📘 LightDM 启动流程与配置要点 核心角色: LightDM 是 Linux 显示管理器,负责管理 seat(显示终端环境)、启动 Xorg/Wayland 服务器、调用登录界面程序(greeter)和用户会话 关键配置: 主配置:/etc/lightdm/lightdm.conf.d/ 目录下的文件 典型配置: 20-autologin.conf(自动登录) 10-xrandr-screen.conf(显示初始化) 启动流程: systemd → lightdm → 读取配置 → 启动seat0
2025-11-26 17:37:41
633
原创 Android 系统中的 NTP 服务器配置与选择逻辑详解
本文详细解析了Android系统中NTP服务器配置的选择逻辑。主要内容包括:1) 不同来源的NTP服务器配置,包括Framework默认值(config_ntpServer)、SettingsProvider默认值(def_ntp_server)和系统属性覆盖;2) 代码调用流程,核心逻辑在NtpTrustedTime.java中实现三级优先级选择;3) 验证方法,通过adb命令检查实际使用的NTP服务器;4) 常见NTP服务器对比。总结指出NTP服务器选择遵循"系统属性 > Setting
2025-11-25 17:22:35
420
原创 [特殊字符] 嵌入式 Linux 网络管理全景解析:Netplan、systemd-networkd、NetworkManager 与 Wi-Fi 配置
本文系统解析嵌入式Linux网络管理方案,重点剖析Ubuntu引入的Netplan配置工具及其与后端管理器(systemd-networkd/NetworkManager)的协作机制。文章详细介绍了HDMI驱动导致网络初始化的典型问题及解决方案(NETPLAN_GENERATE_SKIP_UDEV_SETTLE),并提供Wi-Fi配置的具体实现方法(配合wpa_supplicant)。通过完整的网络管理关系图,清晰展示各组件间的交互逻辑,最后针对不同应用场景给出明确的配置建议,为嵌入式系统(如RK3588平
2025-11-19 09:33:46
716
原创 [特殊字符]️ 嵌入式 Linux 平台 Wi-Fi 配置与 Netplan 加速启动指南
本文介绍了嵌入式Linux平台下Wi-Fi配置与Netplan启动优化的完整方案。首先详细讲解了使用wpa_supplicant@wlan0.service实例化服务管理Wi-Fi接口的方法,包括配置文件设置、服务启用和IP获取流程。其次对比分析了全局服务和实例化服务的区别,推荐在嵌入式平台采用后者以获得更好的可控性。最后针对Netplan启动延迟问题,提出通过设置NETPLAN_GENERATE_SKIP_UDEV_SETTLE环境变量跳过设备等待以加速启动的方法,并附有自动启动脚本示例。该方案特别适用于
2025-11-18 16:06:20
389
原创 [特殊字符] 嵌入式音频接口全景图解:I2S、TDM、PDM、SPDIF、AC’97 与 PCM 的关系
在嵌入式音频系统中,常见术语如 I2S、TDM、PCM、PDM、SPDIF、AC’97 等常被混用,容易造成理解混乱。│ ├── PDM:1bit 高速流(数字麦克风)│ ├── SPDIF:光纤/同轴传输压缩音频。│ └── AC’97:老式音频总线(主板用)│ ├── TDM:多通道(多个 SLOT)│ ├── I2S:左右声道(2 通道)├── PDM:密度编码,需解码为 PCM。├── AC3 / DTS:压缩多声道音频。├── PCM:线性无压缩,最常见。
2025-11-14 22:29:08
782
原创 理解 `dpkg` 与 `pkg-config`:从安装到编译的完整链路
摘要(139字): 在Linux开发中,dpkg负责安装.deb包(如libvpx-dev),部署头文件、库文件和.pc文件;而pkg-config在编译时读取.pc文件,自动生成-I、-L等编译参数供gcc使用。两者形成"安装→配置→编译"的协作链路:dpkg提供资源,pkg-config解析依赖关系,最终通过gcc $(pkg-config --cflags --libs vpx)完成构建。文中还提供了两者的常用命令速查表,涵盖安装查询和编译辅助功能。
2025-11-07 10:30:00
367
原创 从 Rust 到 Flutter:嵌入式图形与构建工具全景指南
本文系统梳理了构建跨平台应用(RustDesk等)所需的技术栈,包括Rust语言(工具链、cargo)、Flutter框架、系统依赖库(pkg-config、OpenSSL)和图形栈(Mesa/llvmpipe)。重点介绍了这些组件在ARM64架构下的协作方式:Rust处理核心逻辑,Flutter构建UI,通过flutter_rust_bridge通信;Mesa提供OpenGL兼容性;同时涵盖构建工具(cargo-bundle)和可选组件(Redis)的使用方法。文章还提供了各组件安装命令和验证方法,为嵌入
2025-11-06 16:49:11
1091
原创 Linux 磁盘与文件系统工具全景指南
Linux磁盘与文件系统工具摘要 本文系统介绍了Linux下常用的磁盘与文件系统管理工具,包括: 基础工具: fsck:检查修复文件系统错误 fdisk/gdisk:MBR/GPT分区管理 mkfs:格式化创建文件系统 lsblk:查看块设备结构 dumpe2fs:查看ext文件系统元数据 文件系统专用工具: FAT/vfat:fatlabel/fsck.vfat exFAT:exfatlabel/fsck.exfat XFS:xfs_info/xfs_repair Btrfs:btrfs filesyst
2025-10-22 15:05:55
1001
原创 AI 模型部署体系全景:从 PyTorch 到 RKNN 的嵌入式类比解析
📌 AI模型部署全景解析 本文系统梳理了AI模型从训练到嵌入式部署的全流程,类比嵌入式系统开发逻辑: 🔹 部署流程 PyTorch/TensorFlow(源码)→ ONNX/TFLite(中间格式)→ RKNN/TRT(目标平台格式)→ NPU/GPU推理执行 🔹 主流框架对照 PyTorch(.pt)→ONNX TensorFlow(.pb)→TFLite Darknet(.weights)→ONNX 专用芯片平台(如RK3588)需转换.rknn格式 🔹 关键格式解析 ONNX充当"A
2025-10-16 14:31:11
428
原创 在嵌入式 Linux 上配置 PulseAudio 默认输出设备的完整指南
本文介绍了在嵌入式Linux系统上配置PulseAudio默认输出设备的完整指南。主要内容包括:PulseAudio简介及其功能;查看和设置输出设备的方法;实现多声卡同时输出的合并sink技术;永久生效配置方式;解决XDG_RUNTIME_DIR报错问题;以及嵌入式部署建议和常用命令速查。重点阐述了如何通过pactl命令和修改配置文件来管理音频输出设备,特别针对Firefly RK3588等嵌入式平台提供了实用建议。
2025-09-26 11:50:45
1030
原创 LightDM 深度解析:图形登录管理器的机制、TTY 映射与嵌入式调试实战
摘要: 本文深入解析Linux图形登录管理器LightDM的运作机制,重点剖析其架构设计、自动登录流程和TTY映射原理。通过解析Xorg进程和session-child子进程的PID、TTY绑定等关键字段,指导开发者在嵌入式环境中诊断图形界面异常。文章详细说明自动登录配置方法,比较不同greeter组件的特性差异,并提供查看lightdm日志、检查密码修改时间等实用调试命令,最后给出防止密码篡改的系统加固建议。全文结合Ubuntu系统实例,为开发者提供LightDM的深度技术参考。
2025-09-25 16:00:44
764
原创 XFCE 桌面环境中的 Splash 与 Dock
XFCE桌面环境中的Splash与Dock功能解析,包括概念区分和实施指南。Splash分为系统级(plymouth)、桌面级(xfce4-session)和应用级三种。Dock功能主要由第三方工具Plank提供,相比原生xfce4-panel具有更丰富的视觉效果。文章详细介绍了如何关闭XFCE的桌面Splash,以及Plank的安装配置方法(包括自动启动设置)。针对不同开发场景提供了实用建议,如嵌入式系统推荐使用轻量的Plank,Kiosk模式可结合自动登录和禁用Splash等。
2025-09-22 08:59:37
452
原创 Ubuntu 下练习编译 `.deb` 包的完整指南(适用于批量部署)
摘要: 本文详细介绍在Ubuntu系统中编译打包.deb文件的完整流程,适用于批量部署场景。内容涵盖打包概念、工具安装(devscripts/dh-make)、源码获取(apt source或GitHub克隆)、构建debian目录(dh_make生成模板)、编译命令(debuild -b -uc -us)及部署方案(dpkg安装或APT仓库分发)。特别说明不同构建系统(Meson/CMake/Python等)的兼容性,并提供lintian检查、dpkg查看包内容等实用技巧。通过标准化打包流程,可实现多设备
2025-09-20 22:23:29
691
原创 Ubuntu22.04 双显卡系统使用集显 DRM 渲染的完整流程记录
在搭载Intel集显和NVIDIA独显的笔记本上,本文记录了让Ubuntu22.04使用集显进行DRM渲染的过程。通过安装NVIDIA驱动并验证加载后,发现系统仍由集显控制显示输出。经排查,确认framebuffer绑定情况,尝试使用i915的DRM接口时遇到权限问题,最终在纯tty环境下成功运行kmscube测试程序,验证了i915的DRM渲染功能。
2025-09-20 17:52:58
558
原创 Linux 内核镜像与启动组件全解析:从 vmlinux 到 extlinux.conf
本文系统解析了Linux内核启动流程中的关键组件:vmlinux是原始ELF格式内核文件,用于调试;Image是去除了调试信息的可启动内核镜像;zImage是压缩版本,带解压引导代码;uImage是U-Boot专用的带头部信息的镜像;System.map提供符号表用于地址定位;extlinux.conf则是U-Boot的启动配置文件。这些组件共同构成了Linux内核从编译到启动的完整链条,适用于嵌入式系统开发与调试场景。
2025-09-13 20:52:15
962
原创 嵌入式 Linux 启动机制全解析:从 Boot 到 Rootfs
本文详细解析嵌入式Linux启动机制,以RK3588为例,梳理从BootROM到rootfs的完整流程。重点分析ext4+extlinux启动方式,包括U-Boot加载、内核与设备树解析、initrd挂载等关键步骤。对比11种主流启动方案(如FAT32+GRUB、UEFI+systemd-boot等)及其适用场景,并详解extlinux.conf的高级配置技巧。同时总结不同文件系统(ext4/FAT32/UBIFS等)对启动方式的影响,为嵌入式系统启动优化提供全面参考。
2025-09-13 20:41:09
724
原创 Android 12 在 Rockchip 平台上的分区表parametet.txt 自动生成机制解析
📦 Android 12在Rockchip平台的分区表自动生成机制 该系统采用三部分协同工作: parameter.in模板:定义分区表基础结构 RebuildParameter.mk:根据AB分区等配置动态生成分区列表 parameter_generator.py:计算分区偏移并生成最终parameter.txt 关键特性: 支持AB分区和动态分区配置 自动计算分区偏移和对齐 特殊处理userdata为可扩展分区 通过BoardConfig.mk可灵活定制分区大小和布局 实际挂载包含metadata、c
2025-09-04 16:01:03
497
原创 理解 USB Gadget 配置失败的根本原因与解决路径
摘要:本文分析了嵌入式Linux平台(如RK3588)配置USB Gadget时常见的UDC绑定失败问题,重点对比了FunctionFS与CDC ACM模块的差异。FunctionFS需用户态程序预先写入USB描述符才能激活,而CDC ACM等模块由内核自动生成描述符。文章提供了ADB的正确激活流程及CDC ACM配置示例,并指出常见误区,建议根据需求选择合适模块:复杂协议用FunctionFS,快速部署用内核自带模块(如ACM、mass_storage)。最后强调FunctionFS必须用户态配合,否则绑
2025-09-02 10:37:56
653
原创 深入理解 EXT4 镜像构建与分析:嵌入式系统中的实用指南
本文介绍了嵌入式Linux中128MB ext4文件系统镜像的构建与优化方法。主要内容包括:使用truncate创建稀疏镜像文件,通过mkfs.ext4格式化并设置标签;使用tune2fs和dumpe2fs分析文件系统结构,查看块数、保留空间等元数据;提供三种优化方案:关闭保留空间、禁用日志功能以减少占用、调整inode数量;列举了truncate、mkfs.ext4等关键工具及其适用场景。这些方法可帮助开发者有效构建和优化ext4镜像,适用于嵌入式系统开发。
2025-08-27 16:10:57
334
原创 Linux Shell 返回码详解:命令执行的隐形信号
Linux Shell 返回码是命令执行后的状态指示器,范围0-255。0表示成功,非0表示失败或特定错误。常见返回码如1(通用错误)、127(命令未找到)、130(被Ctrl+C中断)。通过$?可获取上条命令的返回码,用于条件判断和错误处理。脚本中可用exit自定义返回码,建议分层设计(0成功,1-99脚本错误,100-199外部依赖错误)。进程被信号终止时返回码为128+信号编号,如Ctrl+C对应130。合理使用返回码能编写更健壮的Shell脚本。
2025-08-14 19:13:16
850
原创 Shell 脚本中的常用特殊变量详解
本文整理了Bash脚本中常用的特殊变量及其用途,包括$?、$0、$1-$n、$#、$@、$*等,用于参数处理、错误控制、调试等功能。表格详细列出了变量含义、示例和常见应用场景,如$?用于错误处理、$$用于进程跟踪等。最后提供了包含脚本名显示、参数检查、权限验证等功能的实用示例脚本,帮助开发者更高效地编写Shell脚本。
2025-08-14 19:09:54
467
i.MX 6ULL Applications Processor Reference Manual.pdf
2020-03-14
东荣VLASV(新型东荣伺服器).pdf
2020-03-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅