- 博客(150)
- 资源 (19)
- 收藏
- 关注
原创 设计模式之代理模式在 C 语言中的应用(含 Linux 内核实例)
摘要:本文探讨了代理模式在C语言中的应用,通过结构体和函数指针模拟面向对象特性实现代理功能。代理模式的核心价值在于为真实对象添加额外功能(如日志记录、权限控制等)而不修改其代码。文章提供了5个实例:基础代理(日志记录)、远程代理(网络请求)、保护代理(权限控制)、虚拟代理(延迟加载)以及Linux内核中的VFS代理示例。每个实例均包含代码实现和UML图示,展示C语言如何通过函数指针和结构体组合实现代理模式的核心思想——控制对真实对象的间接访问。
2026-03-07 06:17:58
410
原创 设计模式之享元模式在 C 语言中的应用(含 Linux 内核实例)
享元模式是一种结构型设计模式,通过共享重复对象减少内存占用和对象创建开销。其核心是将对象属性分为可共享的内部状态和不可共享的外部状态,适用于存在大量相似对象的场景。C语言可通过结构体封装状态和哈希表管理对象池实现享元模式。文中提供了字符渲染引擎和配置项管理两个实例,展示了如何复用内部状态(如字体、颜色或日志级别)而仅存储外部状态差异,从而显著降低内存消耗和性能开销。
2026-03-07 06:17:27
524
原创 设计模式之外观模式在 C 语言中的应用(含 Linux 内核实例)
外观模式是一种结构型设计模式,通过定义统一的高层接口封装复杂子系统,降低客户端使用难度。C语言中可通过结构体和函数封装实现该模式。本文通过三个实例展示其应用:1)智能家居控制整合灯光、空调等子系统;2)文件处理外观简化加密压缩流程;3)网络连接外观整合DNS解析、TCP连接等操作。每个实例都演示了如何通过单一接口隐藏底层复杂性,使客户端代码更简洁。外观模式特别适用于需要简化复杂库或系统交互的场景,能有效降低代码耦合度。
2026-03-05 08:50:15
405
原创 设计模式之装饰模式在 C 语言中的应用(含 Linux 内核实例)
摘要:装饰模式是一种动态扩展对象功能的结构型设计模式,通过装饰器包裹原始对象实现功能叠加,避免类爆炸和代码耦合。在C语言中,可通过结构体嵌套和函数指针实现。文章提供了两个实例:(1)日志装饰器为文件操作添加日志功能;(2)加密装饰器为网络传输添加加密/压缩功能。该模式支持运行时灵活组合功能,无需修改原始代码结构,适用于需要动态扩展的场景。 (字数:150字)
2026-03-05 08:49:47
537
原创 设计模式之组合模式在 C 语言中的应用(含 Linux 内核实例)
摘要: 组合模式是一种结构型设计模式,通过统一单个对象和对象集合的接口,将对象组织成树形结构,使客户端能够一致地处理整体与部分。在C语言中,可通过结构体多态和链表/树结构实现该模式。核心步骤包括定义抽象接口(函数指针结构体)、实现叶子节点(不支持子对象操作)和组合节点(递归处理子对象)。文中提供了文件系统和UI组件两个实例,展示了如何统一操作文件和目录、按钮和面板,无需区分具体类型即可处理整个树形结构。该模式适用于层级化对象结构,简化客户端代码并提高扩展性。
2026-02-14 10:36:23
569
原创 设计模式之桥接模式在 C 语言中的应用(含 Linux 内核实例)
桥接模式是一种结构型设计模式,通过将抽象部分与实现部分分离,使两者可以独立变化。它解决了多维度变化导致的类层次结构臃肿问题,支持抽象与实现的独立扩展。在C语言中,可以通过结构体分离抽象与实现,并使用函数指针建立桥接关系。本文通过两个实例展示了桥接模式的应用:形状与颜色分离的动态组合,以及设备与通信协议的灵活搭配。桥接模式避免了类爆炸,提高了系统的可扩展性和灵活性。
2026-02-14 10:36:03
1079
原创 模板方法模式在 C 语言中的应用(含 Linux 内核实例)
本文介绍了模板方法模式在C语言中的实现及应用。该模式通过定义算法骨架(模板方法)并将可变步骤延迟到子类实现,解决了代码冗余和维护困难的问题。在C语言中,通过函数指针和结构体组合实现模板方法模式:定义包含固定流程函数和抽象步骤函数指针的结构体,在模板方法中按顺序调用这些指针完成流程。文章通过一个"读取-处理-保存"数据流程的实例,展示了如何创建不同处理逻辑(如大小写转换、字符串反转)的具体实现,同时复用相同的流程框架。最后给出了Linux内核中文件操作和网络协议处理的实例,说明该模式在实际
2026-02-12 09:46:58
866
1
原创 访问者模式在 C 语言中的应用(含 Linux 内核实例)
访问者模式在C语言中的应用:解耦数据结构与操作 摘要:访问者模式通过分离数据结构与操作逻辑,实现系统扩展性。本文以C语言实现为例,展示了文件系统遍历的典型应用。模式核心包括:1)定义元素接口(accept方法)和访问者接口(visit_xxx方法);2)通过函数指针实现双重分派机制;3)新增操作只需添加访问者而不修改元素类。实例演示了打印信息和计算大小两种访问者,验证了模式对"开闭原则"的支持。该模式特别适用于需对稳定数据结构执行多种独立操作的场景,如编译器AST处理、Linux内核VF
2026-02-12 09:44:05
974
原创 contains an operation using the old override syntax. Please convert this layer/metadata before attem
摘要:在构建Yocto镜像时出现错误,主要原因是IMAGE_INSTALL_remove变量使用了旧的覆盖语法。
2025-12-23 16:15:55
286
原创 设计模式之适配器模式在 C 语言中的应用(含 Linux 内核实例)
适配器模式在C语言中的应用 适配器模式通过接口转换使不兼容的类能协同工作。在C语言中,可通过结构体封装和函数指针实现: 定义目标接口:客户端期望的接口格式 明确适配者:需被适配的旧接口 实现适配器:通过函数指针转换调用适配者 典型应用场景: 电压转换(实例1:两脚插头转三脚插座) 数据格式转换(实例2:CSV转JSON) 新旧API兼容(实例3:旧版函数适配新版接口) 优势: 复用旧代码无需修改源码 解耦客户端与适配者 支持平滑系统升级 实现要点:适配器内部完成参数/返回值转换,对客户端透明。
2025-11-28 14:02:09
903
原创 设计模式之单例模式在 C 语言中的应用(含 Linux 内核实例)
单例模式是一种创建型设计模式,确保一个类仅有一个实例并提供全局访问点。其核心价值在于避免资源浪费和状态不一致,适用于日志管理器、配置管理器等需要全局唯一实例的场景。 在C语言中,单例模式可通过静态全局变量和封装创建函数实现。典型实现方式包括: 懒汉式(首次使用时创建,需线程安全) 饿汉式(程序启动时创建) 文中提供了两个典型实例: 日志管理器(懒汉式):使用双重检查锁定保证线程安全 配置管理器(饿汉式):程序启动时直接初始化静态实例 单例模式解决了全局资源重复创建、状态冲突等问题,是系统设计中常用的模式。
2025-11-28 13:59:45
1032
原创 设计模式之建造者模式在 C 语言中的应用(含 Linux 内核实例)
摘要:建造者模式是一种创建型设计模式,通过将复杂对象的构建过程与表示分离,实现灵活的对象创建。本文以C语言为例,演示如何实现建造者模式,核心包括产品结构体、建造者接口、具体建造者和指挥者四个角色。通过汽车构建实例,展示基础版和豪华版汽车的分步构建过程,指挥者控制构建流程(先底盘→发动机→车身),最终生成独立于构建过程的产品对象。该模式解决了构造函数臃肿、构建顺序易错等问题,使复杂对象创建更灵活可维护。
2025-11-25 14:11:26
1076
原创 设计模式之抽象工厂模式在 C 语言中的应用(含 Linux 内核实例)
本文介绍了抽象工厂模式在C语言中的实现方法。该模式通过定义抽象工厂接口来创建相关联的产品家族,实现工厂与产品的解耦,支持整体替换产品系列。文章详细说明了抽象工厂模式的核心价值、解决的问题,以及如何在C语言中通过结构体和函数指针实现该模式。最后通过一个跨平台UI组件创建的实例,展示了Windows和Linux两个产品家族的具体实现方式,包括按钮和文本框两种相关产品的创建过程。
2025-11-25 14:08:13
1343
原创 设计模式之工厂模式在 C 语言中的应用(含 Linux 内核实例)
工厂模式是一种创建型设计模式,通过统一的工厂接口创建对象,隐藏对象创建细节,实现对象创建与使用的解耦。在C语言中,可以通过结构体封装和函数指针实现工厂模式,主要分为简单工厂和工厂方法两种形式。简单工厂适用于对象类型较少的情况,通过类型参数区分不同对象;工厂方法则为每种对象定义专属工厂,更易于扩展。文中通过形状创建和日志器两个实例,展示了工厂模式的具体实现方式,包括抽象产品定义、具体产品实现以及工厂的创建逻辑。这种模式有效降低了代码耦合度,提高了系统的可扩展性。
2025-11-24 14:13:46
1156
原创 设计模式之原型模式在 C 语言中的应用(含 Linux 内核实例)
原型模式是一种创建型设计模式,通过复制已有对象(原型)来创建新对象,避免重复初始化。C语言实现时,使用结构体封装原型对象,通过函数指针定义克隆接口,支持浅克隆和深克隆。 示例1展示了用户对象的基础克隆,复制ID、姓名等属性。示例2演示了含动态内存属性的深克隆,确保复制指针指向的内容而非仅指针本身。原型模式适用于复杂对象初始化或批量创建相似对象场景,提高效率并保持一致性。 关键点: 原型模式解耦对象创建与实现 C语言通过结构体和函数指针实现 区分浅克隆(基础属性)和深克隆(动态内存) 适用于资源密集型对象的创
2025-11-24 14:10:54
701
原创 从对象创建到行为协作:三大类设计模式帮你解决 90% 的架构问题
本文梳理了创建型和结构型设计模式的核心特点与适用场景。创建型模式(单例、工厂、抽象工厂、建造者、原型)聚焦对象创建过程,通过封装实例化逻辑提高灵活性;结构型模式(适配器、桥接、组合、装饰、外观、享元、代理)关注类与对象的组合关系,优化系统结构。两类模式分别从对象创建与组织角度提升代码复用性和可维护性,开发者需根据具体需求选择合适模式。
2025-11-06 09:01:42
724
原创 图解码说-六大设计原则(开闭原则、单一职责原则、里氏替换原则、接口隔离原则、依赖倒置原则、迪米特法则)
本文探讨了在C语言中实现面向对象设计模式的四个基本原则: 单一职责原则(SRP):强调每个函数或结构体只负责一个功能,如数据处理与显示分离,提高模块化与可维护性。 开闭原则(OCP):通过函数指针支持扩展(如新增排序算法),避免修改已有代码,增强系统稳定性。 里氏替换原则(LSP):子类型需严格遵循基类契约,如通过结构体嵌套实现多态,确保替换时的行为一致性。 接口隔离原则(ISP):拆分庞大接口为更小、聚焦的接口,避免强制实现冗余功能,降低耦合。 这些原则通过C的结构体与函数指针模拟面向对象特性,提升代码的
2025-11-06 09:00:59
817
原创 图解码说-六大UML类图关系(依赖,继承,实现,关联,聚合,组合)
摘要:UML类图是面向对象设计的核心工具,通过六大关系描述类间交互逻辑。继承(is-a)使用空心三角实线,实现(can-do)用虚线;依赖(临时使用)为虚线箭头;关联(长期持有)为实线箭头;聚合(部分独立)用空心菱形实线,组合(强依赖)用实心菱形实线。识别时先看符号形状,再判断关系强度与生命周期,最后对应业务语义。掌握这些规则可快速解析系统结构,提升设计效率。(148字)
2025-10-28 16:13:21
731
原创 设计模式之适配器模式c语言实例分析及内核应用
适配器模式通过接口转换实现不兼容组件的协同工作。在C语言中,可通过结构体封装和函数指针实现该模式。典型应用包括: 硬件接口适配(如电压转换) 数据格式转换(如CSV转JSON) API版本适配(旧版接口适配新版) 核心实现方式: 定义目标接口(客户端期望的格式) 封装适配者(已有不兼容接口) 创建适配器结构体,实现目标接口并内部调用适配者 优势在于无需修改已有代码即可实现接口兼容,适用于整合遗留系统或第三方库的场景。
2025-10-27 11:04:32
700
原创 [xboard] 34 buildroot 的overlay机制
Buildroot的overlay机制允许用户在生成的根文件系统基础上定制文件,无需修改Buildroot源码。通过在System configuration中配置BR2_ROOTFS_OVERLAY指向自定义目录(推荐放在board/<manufacturer>/<boardname>/rootfs-overlay/),该目录下的文件会覆盖output/target/中同名文件。示例展示了创建overlay目录、添加文件并验证结果的完整流程。此外,Buildroot还提供post-
2025-10-12 19:57:42
207
原创 [xboard] 33 buildroot处理补丁的3种方法及应用示例
本文介绍了补丁的制作方法及其在Buildroot中的应用。主要内容包括:1)三种补丁制作方式(diff命令、git工具、quilt工具);2)Buildroot中三种补丁管理方案(全局补丁、包内补丁、结构化包补丁);3)通过示例演示如何在Buildroot中创建测试包、准备补丁并应用。文章重点讲解了补丁生成与应用的具体命令,以及Buildroot项目中对补丁的组织管理方式,为嵌入式开发中的代码修改与协作提供了实用指导。
2025-10-11 15:58:53
138
原创 [xboard] 31 buildroot应用(包)获取代码的4种方法大总结
本文介绍了Buildroot中获取代码的两种主要方法:本地代码获取和通过GitHub获取。本地代码获取通过在.mk文件中定义源代码位置和使用方法,示例展示了如何编译本地应用并安装到目标系统。主流方法则通过GitHub自动下载指定版本的代码包,示例以linux-serial-test为例说明配置和下载过程。两种方法均展示了Buildroot包管理的基本流程,包括同步、配置、编译和安装步骤。
2025-10-11 15:56:42
227
原创 [xboard] 32 buildroot应用编译(make cmake automake)
Buildroot作为自动化构建系统,通过包定义文件统一不同构建系统的编译流程。本文展示了Makefile和CMake两种构建系统的集成实现:1) Makefile项目通过定义.mk文件配置编译参数,使用TARGET_CC等变量完成交叉编译;2) CMake项目通过CMakeLists.txt管理构建过程,Buildroot自动处理配置阶段。两种方式最终都生成目标平台可执行文件并安装到指定目录,验证了Buildroot对不同构建系统的兼容性。文章提供了完整的配置文件和编译日志,展示了从源码到二进制产物的完整
2025-10-10 10:20:42
711
原创 [xboard] 30 buildroot应用的编译方法大总结
Buildroot常用命令摘要 Buildroot提供了丰富的配置和编译命令,包括图形化配置(menuconfig等)、交叉编译器编译(make sdk)、包管理命令(<pkg>-build等)、内核和uboot定制命令(linux-menuconfig等)。支持多种操作:保存配置(savedefconfig)、查看依赖关系(show-depends)、生成依赖图(graph-depends)、详细编译(V=1)等。还提供清理命令(distclean)、SDK生成(make sdk)和帮助查看(
2025-10-10 10:16:33
71
原创 [xboard] 29 buildroot最小根文件系统移植
本文对比了四种常用根文件系统工具(Buildroot、Debian/Ubuntu、Yocto Project和OpenWrt)的适用场景,重点介绍了Buildroot的特点和使用方法。文章详细讲解Buildroot的下载方式(官网、Git和LTS版本)和代码结构,并以ARM Cortex-A8为例,演示了从配置目标架构、工具链到系统设置的全过程。最后简要说明了编译步骤,输出包含ext格式的根文件系统镜像。Buildroot因其简单高效的特点,特别适合资源受限、快速启动的小型嵌入式项目。
2025-10-10 10:14:35
248
原创 [xboard] 28 busybox最小根文件系统
本文介绍了Linux根文件系统类型及BusyBox构建最小系统的过程。主要内容包括:1)常用根文件系统特点(ext4、squashfs、jffs2/ubifs、NFS);2)BusyBox的三种下载方法和代码结构解析;3)交叉编译BusyBox的具体步骤;4)构建最小根文件系统的目录结构创建和设备文件配置方法。文章为嵌入式系统开发提供了实用的根文件系统构建指南,重点讲解了BusyBox的配置编译流程和最小系统环境的搭建要点。
2025-10-09 20:29:25
214
原创 [xboard] 27kernel内核中的kconfig工作原理及完整示例
本文介绍了Linux内核配置系统的Kconfig语法和使用方法。主要内容包括:1) 配置界面的组织结构,说明主界面显示项与各目录下Kconfig文件的对应关系;2) 配置选项的基本语法,包括bool/tristate/string等数据类型定义、depends on/select依赖关系、menu/choice等组织结构;3) 通过示例展示了完整的Kconfig配置,包含版本信息、调试级别、网络驱动、系统配置选项组等典型配置场景。重点讲解了正向/反向依赖、互斥选项、条件编译等关键特性,为内核配置提供了实用参
2025-10-09 20:21:17
57
原创 [xboard] 26 kernel启动流程之initrd、initramfs、ramdisk核心异同
摘要: initrd、initramfs和ramdisk均为内存中的临时文件系统,用于Linux内核启动初期加载驱动和初始化脚本。三者的核心差异在于实现机制:ramdisk是内存模拟的块设备,需格式化文件系统;initrd基于ramdisk机制,需单独加载镜像并由bootloader传递参数;initramfs直接通过cpio.gz包嵌入内核,解压到内存文件系统,效率更高且成为2.6内核后的主流方案。在i.MX6平台上,实现步骤包括:1) ramdisk需制作ext2格式镜像并通过U-Boot加载;2) i
2025-10-08 16:47:28
109
原创 [xboard] 25 kernel启动参数分析(console=ttyS0,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait)
本文介绍了Linux内核命令行参数的常见用法及定义方式。主要内容包括: 常见cmdline参数示例,如console、root、rootfstype等串口和根文件系统配置参数; 内核定义的标准cmdline参数,详细说明了root、init、debug等核心参数的用途和选项; 命令行参数的定义机制,对比分析了__setup()、early_param()、core_param()和module_param()四种宏的特点: __setup():最早的参数解析机制,已过时 early_param():用于极早
2025-10-08 16:43:42
232
原创 [xboard] 24 kernel启动流程之c语言篇
本文介绍了ARMv7 CPU内核启动流程,主要分为三个阶段:初始化解压镜像、汇编阶段初始化和C语言阶段初始化。重点分析了start_kernel函数的执行过程,包括极早期初始化、架构相关设置、内存管理初始化、内核参数解析和核心子系统初始化。关键步骤包括:smp_setup_processor_id确定CPU ID、setup_arch进行架构设置、mm_init初始化内存管理、sched_init实现任务调度等。整个启动过程完成了从硬件初始化到多任务调度的完整转换,为系统运行奠定了基础。
2025-10-03 15:26:53
71
原创 [xboard] 23 kernel启动流程之汇编篇
文章摘要: ARMv7内核启动流程分为三个阶段:初始化解压镜像、汇编初始化阶段和C语言阶段。核心入口函数stext位于arch/arm/kernel/head.S,主要完成处理器模式设置(强制SVC模式)、处理器ID验证、内存管理单元(MMU)初始化准备等工作。关键步骤包括通过__lookup_processor_type验证处理器支持,__create_page_tables创建初始页表,最终通过__enable_mmu和__turn_mmu_on启用MMU。其中MMU使能通过设置CP15控制寄存器完成,
2025-10-03 15:24:32
120
原创 [xboard] 22 kernel启动流程之zImage自解压
本文分析了ARMv7架构下Linux内核压缩镜像zImage的生成流程。内核启动包含三个阶段:初始化解压镜像、汇编阶段初始化和C语言阶段初始化。生成过程遵循vmlinux→Image→compressed/vmlinux→zImage的转换链,通过objcopy剥离符号和注释段,并使用LZO算法压缩内核数据。关键步骤包括:将原始内核vmlinux转换为二进制Image(19MB),压缩为piggy_data(8.8MB),最终生成含自解压代码的zImage(8.9MB)。整个流程通过Makefile和链接脚
2025-10-01 15:16:15
110
原创 [xboard] 21 kernel镜像种类(vmlinux Image zImage bzImage uImage)
Linux内核镜像类型及应用场景分析 Linux内核编译会生成多种格式的镜像文件RW: 基础格式: vmlinux(原始ELF格式,含调试信息) Image(未压缩二进制镜像) 压缩格式: : zImage(通用压缩型,<8MB) bzImage(x86专用,突破大小限制) 专用格式: uImage(U-Boot专用) 对 xipImage(就地执行镜像) FIT Image(集成设备树和安全启动) 辅助系统: DMA - initramfs/initrd(临时根文件系统) 不同架构推荐使用不同镜像格
2025-10-01 15:13:18
123
原创 [xboard] 20 kernel Makefile逐行分析2
内核构建关键变量解析 KBUILD_IMAGE:默认构建目标为vmlinux,可通过环境变量或命令行覆盖(如make KBUILD_IMAGE=bzImage),架构目录定义优先级最高。 路径控制变量: INSTALL_PATH:内核违反默认安装至/boot INSTALL_DTBS_PATH:设备树安装路径(如/boot/dtbs/5.15.0) MODLIB:模块安装路径模板(<INSTALL_MOD_PATH>/lib/modules/<版本>) 核心构建逻辑(非外部模块时生效
2025-09-30 22:20:52
63
原创 [xboard] 19 kernel Makefile逐行分析1
本文分析了Linux内核构建系统Makefile的关键设计。首先介绍了版本号规范(5.15.180)和开发分支命名规则(Trick or Treat)。其次阐述了目标过滤机制,通过MAKECMDGOALS检测用户输入,防止直接调用内部目标(__前缀)。然后详细说明了环境控制,包括禁用make内置规则(MAKEFLAGS)、统一区域设置(LC_COLLATE)等。最后解释了输出控制逻辑,通过V参数(0/1/2)和-s选项调节构建过程的详细度。这些设计共同确保了内核构建的可靠性、跨平台一致性和可调试性。
2025-09-30 22:14:20
83
原创 [xboard]18 kernel的历史与下载编译
Linux内核发展历程与代码结构概览 Linux内核由Linus Torvalds于1991年发起,最初作为开源替代UNIX系统。经过30多年发展,从仅支持i386架构的0.01版演进至支持多处理器、64位计算等现代特性的6.x系列,代码量从万行级增至2700万行。其发展历程可分为几个关键阶段:1991-1996年基础建设期、1996-2003年服务器优化期、2003-2015年架构革新期以及2015年至今的成熟稳定期。目前维护7个长期支持版本(LTS),覆盖从嵌入式设备到云服务器的各种场景。 内核代码采用
2025-09-29 21:37:50
188
原创 [xboard]17 uboot中的binman
本文介绍了U-Boot构建系统中的binman工具,用于自动化镜像组装。主要内容包括:1)binman工具的功能概述,支持多种镜像格式和灵活布局控制;2)具体生成步骤,包括启用binman配置、创建镜像描述文件(.its)和编译生成镜像;3)关键原理说明,如镜像描述文件结构和地址映射;4)镜像验证方法和常见问题解决方案。通过binman工具可高效生成符合全志sunxi平台要求的u-boot-sunxi-with-spl.bin镜像,简化复杂镜像管理流程。文中还提供了示例.its文件配置,规范了SPL和U-B
2025-09-28 21:15:25
141
原创 [xboard]16 uboot启动控制内核的3种方法(boot.scr uEnv.txt extlinux.conf)
每种启动配置文件都有其特定的用途和创建方法。选择哪种取决于你的具体需求和系统环境。例如,如果你需要在U-Boot中快速加载一个操作系统而不需要复杂的脚本处理,boot.scr可能是一个好选择。如果你需要更灵活的环境变量设置,uEnv.txt可能更适合。而如果你使用的是基于EXT Linux的系统,那么extlinux.conf将是必需的配置文件。确保根据你的系统需求选择合适的配置文件,并正确设置和部署它们。
2025-09-28 20:22:03
261
原创 [xboard]15 uboot加载内核启动分析
bootm命令启动流程分析:该命令支持三种启动方式(标准启动、子命令、FIT启动),核心函数do_bootm_states通过状态机模式依次执行查找OS镜像、加载组件、准备环境等操作,最终调用boot_selected_os跳转至内核。关键步骤包括boot_prep_linux准备启动参数(支持设备树或传统tag方式),boot_jump_linux通过函数指针kernel_entry实现架构相关的内核跳转(ARM64采用四参数调用约定,ARM32使用三参数约定),并支持调试用的模拟跳转功能。
2025-09-28 20:11:26
73
H264入门及进阶文档
2013-12-27
Delphi助手(代码自动补全等)
2012-10-17
Android系统源代码情景分析 【罗升阳】
2018-04-23
奔跑吧 Linux内核
2018-04-20
Essential Linux-DeviceDrivers
2018-04-20
just-for-fun
2018-04-23
uboot-shell-hush
2025-07-04
SD规范 SDIO规范(全套规范)
2025-04-24
官方emmc规范(多个版本)
2025-04-24
ARM架构与ARM指令合集
2025-04-21
STM32F103 USART application examples
2025-04-10
常用edid编辑工具集
2024-10-16
HDMI EDID常用文档
2024-10-16
win10下libws2-32静态库
2024-06-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅