- 博客(218)
- 资源 (4)
- 收藏
- 关注
原创 电路板干扰分析:硬件仿真软件的应用
硬件仿真软件是一类用于电子电路设计与分析的工具,它可以模拟电路的动态行为,预测在特定条件下,电路的表现。对于电路设计师和工程师而言,越来越多的仿真工具被集成了电磁干扰分析、热分析和信号完整性分析等模块,从而使得复杂设计的验证和优化成为可能。电路板的干扰分析是现代电子设计中的一个重要方面,利用硬件仿真软件能够显著提高分析的准确性与效率。通过对电磁干扰、热问题和信号完整性的模拟分析,使得设计人员能够在挑战复杂性与功能性中找到平衡,确保产品功能稳定与高效。随着技术的发展,电路设计和分析的要求也在不断提升。
2025-06-12 14:10:14
683
原创 esp32cmini SK6812 2个方式
define BYTES_PER_LED (3 * 8 * BYTES_PER_BIT) // 3颜色 * 8位/颜色 * 字节/位。// 添加一些额外的缓冲空间。#define MOSI_PIN 7 // ESP32-C3/C6的SPI MOSI引脚。// 亮度 (0-255)// 1码 (T1H ~ 0.6us, T1L ~ 0.6us)// 0码 (T0H ~ 0.3us, T0L ~ 0.9us)
2025-05-21 22:04:41
887
原创 u3d 定义列表详细过程
/ 拖入 Scroll View 的 Content。textComponent.text = "列表项 " + (i + 1);1. 创建新的 UI 面板(Right Click -> UI -> Panel)// 获取 TextMeshProUGUI 组件。3. 在 Scroll View 下创建 Content 子对象。2. 添加 TextMeshPro - Text 组件。1. 确保 Scroll View 组件配置正确。// 清除可能存在的默认子对象。2. 添加 Scroll View 组件。
2025-05-15 15:11:33
384
原创 Linux 内核调试与性能分析
Linux 内核是 Linux 操作系统的核心部分,负责管理系统硬件和软件资源。它提供了进程管理、内存管理、文件系统、设备驱动等基础功能。由于其开源性,Linux 内核能够在各类硬件上运行,包括个人电脑、服务器以及嵌入式设备。GDB(GNU 调试器):用于调试用户空间和内核空间代码。Ftrace:内核自带的跟踪工具,可以用于函数调用跟踪。KGDB:内核 GNU 调试器,专门用于内核调试。SystemTap:用于动态追踪和分析系统性能。:一个图形化的工具,用于分析内核跟踪数据。
2025-04-28 06:32:34
778
原创 linux设备树(Device Tree)中,reg = <1 0 0x1000> 含义
64位地址空间表示复杂总线寻址多节点系统的特殊寻址需求每个具体系统可能有其特定的地址表示方法,需要结合具体硬件架构和文档来准确理解。
2025-04-28 06:26:00
615
原创 QtCreator 调试 Linux 内核详细步骤指南
字段填写Executable为空见下# 1. 延长超时# 2. 连接 KGDBtarget remote udp:<target_ip>:5555 # 串口则换 /dev/ttyUSB0# 3. 加载内核符号# 4. 加载模块符号# 5. 提示优化保存调试布局取名 “KernelDebug”,下次一键还原。脚本自动化把上面的 GDB 启动指令整理成.gdbinit,Qt Creator 会自动加载。提前在 GRUB 中加入,可追踪早期启动。
2025-04-22 14:29:09
921
原创 Linux驱动模块双机调试详细步骤
这个详细指南涵盖了Linux驱动模块双机调试的完整过程,从环境准备到实际调试操作。通过这些步骤,您应该能够有效地调试Linux内核驱动模块。对于复杂的驱动问题,这种方法能提供比简单的printk日志更详细的运行时信息。
2025-04-22 13:53:09
297
原创 Linux 内核透明加解密开发方案
Linux 内核提供了多种透明加解密的机制,允许在用户几乎无感知的情况下对数据进行加密和解密。以下是几种主要的开发方案及其实现细节。
2025-04-18 15:40:22
797
原创 Linux 内核开发/测试工具对比 Windows 驱动验证工具 (Driver Verifier)
Windows 的 Driver Verifier 是一个用于测试和验证驱动程序的强大工具。在 Linux 内核开发中,虽然没有一个完全等价的单一工具,但有多种工具和框架可以提供类似或更专业的功能。
2025-04-18 15:31:17
1096
原创 使用 vcpkg 构建支持 HTTPS 的 libcurl 并解决常见链接错误
适用环境:Windows 10/11 + Visual Studio 2022 + CMake ≥ 3.20目标读者:希望在 C++ 项目中轻松调用 HTTPS(GET/POST/PUT/DELETE),又被 LNK20xx 链接错误困扰的开发者。
2025-04-18 09:33:08
978
原创 踩坑ubuntu24.04 编译vtk9.3.1的安卓版本
NDK官方明确废弃了旧版 armeabi ABI,强制使用armeabi-v7a或arm64-v8a。错误信息显示你的构建系统仍在使用超级构建(superbuild)模式,并且内部引用了已不再支持的。生成的合并库: $(pwd)/libvtk_combined.a"超级构建过程可能内部未充分考虑现代NDK变化导致内部配置ARM老ABI,重复失败。echo "正在提取所有.o文件..."echo "合并前所有库的总大小:"# 提取所有.a文件中的.o文件。echo "创建合并库..."
2025-04-03 12:37:44
1243
原创 Windows内核中根据PID查找兄弟进程和父进程
在Windows内核驱动开发中,根据进程ID(PID)查找相关进程(如兄弟进程和父进程)是一个常见需求。这涉及到对Windows内核进程管理机制的理解和使用。下面我将详细介绍实现这一功能的方法。
2025-03-26 17:02:14
474
2
原创 Flutter 常见错误和坑
渐进式采用:从简单项目开始,逐步掌握 Flutter 的各个方面保持更新:定期更新 Flutter SDK 和依赖包,但在生产环境中保持稳定版本组件化设计将 UI 拆分为小的、可重用的组件应用单一职责原则使用 const 构造函数优化性能状态管理选择小项目:setState 或 Provider中型项目:Riverpod 或 Bloc大型项目:考虑更完整的状态管理解决方案如 Redux性能优化使用 DevTools 分析性能优化列表渲染,考虑使用 ListView.builder。
2025-03-26 11:51:17
1146
原创 除了sandboxie 还有哪些内核开源项目值得学习
Process Hacker是一个功能强大的开源系统工具,专注于系统资源监控、软件调试和恶意软件检测。它已更名为System Informer,但保持同样的核心功能。
2025-03-26 11:46:28
886
原创 如何在 Flutter 中使用 WebRTC
📱 Flutter 中使用 WebRTC 实现实时音视频通话随着实时通信技术的快速发展,WebRTC 已逐渐成为实现视频通话和直播的一种主流技术。在 Flutter 中,你同样可以轻松调用 WebRTC 来实现跨平台的音视频实时通信。### 📥 一、添加依赖首先打开 `pubspec.yaml` 文件,添加 flutter_webrtc 插件:```yaml```执行以下命令安装:```shell```⚙️ 二、配置平台权限```xml``````xml。
2025-03-21 16:11:27
1603
原创 Flutter访问数据库
本文介绍了如何在Flutter应用中使用SQLite数据库进行数据存储和访问。通过sqflite插件,我们可以轻松实现数据库的创建、数据的增删改查等操作。在Flutter开发中,数据存储和访问是非常重要的环节。本文将详细介绍如何在Flutter应用中访问本地数据库,尤其是使用SQLite数据库和sqflite插件。Flutter社区提供了强大的sqflite插件,帮助我们轻松地在Flutter应用中使用SQLite数据库。### 插入数据(Create)## 三、创建数据库和数据表。
2025-03-20 14:47:34
791
原创 flutter 如何与原生框架通讯安卓 和 ios
1. 打开 `android/app/src/main/kotlin/com/example/your_app/MainActivity.kt`(或 `.java` 文件)。在上面的代码中,我们创建了一个名为 `com.example/native` 的通道,并定义了一个方法 `getNativeData`,它将调用原生代码。在 Flutter 中,平台通道的调用是异步的,因此您可以使用 `Future` 和 `async/await` 来处理结果。首先,在 Flutter 项目中创建一个平台通道。
2025-03-12 09:20:01
784
原创 flutter环境最新踩坑
重启ADB服务 `adb kill-server && adb start-server`- 依赖下载:使用 `flutter pub get --verbose`#### gradle-wrapper.properties 修改。- 编译卡住:查看详细日志 `flutter run -v`### 3. Android 设备认证与配置。- 使用 `-v` 参数可查看详细日志。- 保持Gradle和依赖版本兼容。- 网络问题:检查代理、切换网络。- 网络慢可能导致依赖下载卡住。
2025-03-06 14:01:41
462
原创 windows 内核层简单 map 实现与测试
/ 测试5:多元素随机插入和删除。// 测试1:单个元素插入和查找。// 测试2:重复插入同一个键。// 测试4:删除不存在的元素。// 测试3:删除存在的元素。// 检查是否已存在相同键。// 释放桶数组和映射结构。// 设置比较和哈希函数。// 遍历对应桶的链表。// 遍历对应桶的链表。// 释放每个桶的链表。// 头插法处理冲突。// 验证元素已删除。
2025-03-06 12:55:03
724
原创 Sandboxie 如何 规避 PatchGuard
Sandboxie 使用了内核 Hook 技术,但为了规避 Windows 的 **PatchGuard**(内核完整性保护机制),它采取了一系列巧妙的策略。- **影子表(Shadow Table)**:创建 SSDT 的副本,并重定向系统调用到影子表。- **伪造 SSDT 校验和**:修改 SSDT 的校验和以匹配 Hook 后的状态。- **无法完全规避**:PatchGuard 的检测机制非常复杂,完全规避几乎不可能。- **随机化 Hook 时间**:避免 PatchGuard 的定期检测。
2025-02-24 13:39:58
439
原创 ZLMediaKi集群设置
在每台服务器上,您需要配置 `config.ini` 文件。通过以上步骤,您可以成功在集群环境中部署 ZLMediaKit,实现高可用性和负载均衡。# 替换为实际服务器 IP。- 可以使用监控工具(如 Prometheus 和 Grafana)监控服务器的性能和流量。- **操作系统**:推荐使用 Ubuntu 20.04 或 CentOS 7/8。- **服务器**:准备多台服务器,建议至少 2 台用于负载均衡和冗余。- 使用流媒体推流工具(如 OBS)推流到 Nginx 的 IP 地址。
2025-02-23 18:43:33
650
原创 VirtIO vioseria 驱动介绍
*vioserial** 和 **virtio** 的关系,就像“具体的串口(Serial)驱动”与“通用的虚拟化I/O标准”之间的关系。- `vioserial` 是在 Windows 平台上对 `virtio-console` 设备的实现,可以看作“虚拟串口驱动(Serial)”。- `virtio` 会在虚拟机中暴露“轻量级”的设备(如网卡、磁盘、控制台等 “virtio” 设备),同时宿主机则运行对应的后端处理程序(或驱动),二者通过 **VirtQueue**(环形队列)进行数据通信。
2025-02-20 09:20:08
447
原创 ZLMediaKit Windows 编译指南
# 1. 环境准备### 1.1 必需工具1. Visual Studio 2019 或更高版本3. git4. vcpkg (包管理器)```### 1.2 安装步骤```mermaidA[安装 Visual Studio] --> B[安装 CMake]B --> C[安装 Git]C --> D[安装 vcpkg]D --> E[配置环境变量]```#### Visual Studio 安装选项必选组件:- MSVC C++ 构建工具。
2025-02-19 20:52:42
730
原创 VirtIO viogpudo 驱动详解
viogpudo` 驱动是 **virtio-win** 项目中针对 **VirtIO GPU** 设备在 **Windows** 平台下的 **显示驱动(WDDM)**。- **`viogpudo` 驱动** 是 **virtio-win** 中为 **VirtIO GPU** 设备提供的 **Windows WDDM 显示驱动**,主要具备 **2D 显示输出** 能力;- QXL 是 SPICE 显示方案的老实现;- 若需要多显卡或多屏输出,也可添加多处 virtio-gpu-pci 设备配置;
2025-02-19 17:16:52
523
原创 virtio Balloon 驱动介绍
它是虚拟化平台实现 **内存动态管控**、**过量使用(overcommit)** 以及 **资源弹性** 的关键组件之一,有助于在同一宿主机上运行更多虚拟机并提高整体资源利用率。- **核心目标**:在多虚拟机的环境里,有时某个虚拟机(或一组虚拟机)并不需要占用那么多内存,而另一些虚拟机可能面临内存不足。**Balloon(内存气球)** 在虚拟化环境中是一种用于 **动态调配虚拟机与宿主机之间内存**的机制,能够在保证虚拟机正常运行的前提下,让宿主机更灵活地管理和分配内存资源。需做好合理的阈值控制。
2025-02-19 16:10:25
477
原创 virt-io 如何运行在 kvm windows 虚拟机上
VirtIO 驱动 ISO:从 [Fedora Project 提供的 virtio-win ISO](https://fedorapeople.org/groups/virt/virtio-win/) 或 [GitHub 仓库 virtio-win](https://github.com/virtio-win/virtio-win-pkg-scripts) 下载。- 不同 Windows 版本需要选择合适的 virtio-win 驱动文件夹(如 `w10`、`win8`、`2k19` 等)。
2025-02-19 15:59:15
978
原创 安卓组件化aar
1. **创建新工程**- 启动 Android Studio,点击「New Project」。- 在弹出的模版选择界面,可选择「Empty Activity」或「No Activity」等作为起点。- 按向导填写工程名称、包名、保存位置等信息,点击 Finish 完成创建。2. **添加 Library 模块**- 在创建好的工程中,点击「File」>「New」>「New Module...」。- 在弹出的选择界面里选择「Android Library」。
2025-02-18 06:54:55
1053
原创 VirtIO Windows 开源项目详解
├── vioscsi/ # SCSI 驱动。├── viorng/ # 随机数生成器。├── NetKVM/ # 网络驱动。├── viostor/ # 存储驱动。├── vioserial/ # 串口驱动。├── vioinput/ # 输入设备。VB["VirtIO 块设备驱动"]SD["Storport 驱动"]
2025-02-17 21:34:30
700
原创 windows获取进程名为Procress.exe 命令行参数为parm1的程序路径
std::wcout << L"找到 " << processes.size() << L" 个匹配的进程:" << std::endl;std::wcerr << L"无法获取 NtQueryInformationProcess 函数" << std::endl;std::wcerr << L"无法加载 ntdll.dll" << std::endl;std::wcerr << L"创建进程快照失败" << std::endl;std::wcerr << L"无法打开进程" << std::endl;
2025-02-10 09:53:54
837
原创 稻盛和夫如何描述能力
稻盛和夫描述的“能力”不仅仅是技术或专业技能的体现,而是**知识、技能和态度**的综合体。他强调,**态度**是决定能力上限的关键因素,只有通过持续学习、专注努力和积极心态,才能不断提升能力,实现个人和职业的成功。技能(Skill):将知识应用于实际工作的能力,包括解决问题的能力、执行力和创新能力。- **知识**和**技能**是能力的基础,但**态度**是决定能力上限的关键因素。- 如果态度为正(如积极、勤奋),知识和技能的提升会显著放大能力。努力:持续的努力是能力转化为成果的关键。
2025-02-07 16:24:53
488
原创 WebRTC 客户端与ZLMediaKit通讯
以下是一个基本的步骤和示例代码,帮助您实现这一目标。5. **建立连接**:使用 WebRTC 的 `rtc::PeerConnection` 与 ZLMediaKit 建立连接。- **信令**:您需要实现信令机制,将信令数据发送到 ZLMediaKit,并接收来自 ZLMediaKit 的信令数据。4. **建立连接**:使用 WebRTC 的 RTCPeerConnection 与 ZLMediaKit 建立连接。3. **创建 WebRTC 客户端**:使用 C++ 创建 WebRTC 客户端。
2025-02-06 16:18:48
1284
原创 windows开发保饭碗和难度星级
Windows 系统工具开发 | ★★★★★ | ★★★★☆ || Windows 设备驱动开发 | ★★★★★ | ★★★★☆ || 安全与隐私工具开发 | ★★★★★ | ★★★★★ || 桌面应用现代化(跨平台开发) | ★★★★☆ | ★★★★☆ |- 涉及安全技术(如逆向工程、漏洞分析),技术门槛高。
2025-02-06 16:09:36
399
原创 AI 盛行不容易被取代的编程技术
这些领域需要 **深厚的专业知识**、**创造力** 和 **跨学科能力**,因此相对不容易被 AI 完全取代。- **原因**:AI 目前难以完全理解复杂的硬件和系统交互,且底层开发需要高度的精确性和对性能的极致优化。- **原因**:人机交互需要结合心理学、设计学和编程技术,AI 难以完全替代人类的创造力和同理心。- **原因**:DSL 和工具开发需要结合领域知识和编程技术,AI 难以完全替代人类的领域专长。- **特点**:涉及数据隐私、AI 伦理、法律合规等,需要结合技术、法律和伦理知识。
2025-02-06 14:12:37
311
原创 安卓路由与aop 以及 Router-api
安卓路由(Android Router)和AOP(面向切面编程)是两个在Android开发中常用的概念。下面我将详细讲解这两个概念及其在Android开发中的应用。
2025-02-06 10:11:08
776
原创 RDP协议详解
与此同时,为了在开源社区及跨平台领域进一步增强此类应用的可扩展性,不同的组织和爱好者基于微软的技术规范进行了逆向工程或基于公开协议详细文档,开发出了多种跨平台远程桌面解决方案,FreeRDP 就是其中的佼佼者。它旨在实现对最新版 RDP 协议的兼容,并提供丰富的扩展和配置能力。以下内容包含对 RDP(Remote Desktop Protocol,远程桌面协议)及其开源实现 FreeRDP 的较为系统、深入的讲解,涵盖协议概要、历史沿革、核心原理、安全机制、安装与使用方法、扩展与未来发展趋势等方面,
2025-02-02 23:24:40
1666
原创 Windows编译FreeRDP步骤
DCMAKE_TOOLCHAIN_FILE="[vcpkg根目录]/scripts/buildsystems/vcpkg.cmake" ^- 32位编译需将`x64-windows`改为`x86-windows`,`-A x64`改为`-A Win32`# 安装 CMake: https://cmake.org/download/1. **安装必要工具**4. **生成构建文件**2. **安装依赖项**# 使用vcpkg包管理。6. **安装到系统**3. **获取源码**5. **编译项目**
2025-02-02 10:19:30
604
原创 webrtc peerconnection_client peerconnection_server 连接失败问题解决 win10 win11
2 在 peerconnection\client\main.cc 当中替换rtc::PhysicalSocketServer ss;3 在 peerconnection\client\main.cc 当中 // Main loop.之前添加一句话。4 在 \src\modules\video_capture\windows\sink_filter_ds.cc。1 在 peerconnection\client\main.cc 当中。
2025-02-01 21:02:47
623
2
KsBinSword 黑客技术学习 ddk NT式驱动入门 SSDT rootkit
2013-03-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人