PICSimLab是什么?一文读懂这款免费开发板模拟器
2026/8/27 14:51:06 网站建设 项目流程

PICSimLab是什么?一文读懂这款免费开发板模拟器

【免费下载链接】picsimlabPICSimLab - Programmable IC Simulator Laboratory项目地址: https://gitcode.com/gh_mirrors/pi/picsimlab

PICSimLab(Programmable IC Simulator Laboratory)是一款免费的实时开发板模拟器,让程序员和嵌入式新手在电脑里就能仿真 Arduino、ESP32、STM32、PIC 等微控制器开发板,接上 LED、传感器、显示屏等虚拟元件运行真实固件——不用买硬件,也能完整调试嵌入式项目。

它是开源项目(当前稳定版 v0.9.2,开发版 v0.9.3),由开发者 L. C. G. Lopes 维护,Linux、Windows 可原生运行,macOS 可通过 Wine 使用。

🎯 一分钟了解:PICSimLab 能帮你做什么?

PICSimLab 的定位是仿真真实硬件,而不是一个 IDE:

  • 实时仿真开发板:内置 20 余块开发板,覆盖 AVR、PIC、MSP430、ESP32、STM32 等主流架构;
  • 连接虚拟元件:从最简单的 LED、按键,到 W5500 以太网盾、ILI9341 彩屏、SD 卡、EEPROM,一应俱全;
  • 集成真实工具链:它不提供代码编辑,而是让你用平时开发真实板卡的工具(Arduino IDE、MPLABX、VSCode + PlatformIO)写代码、下调试器(GDB),仿真行为与真机一致;
  • 可视化调试:内置示波器、逻辑分析仪、虚拟终端,能直接观察引脚波形和串口数据。

💡 核心价值:写一次代码,先在模拟器里验证,再烧到真机,大幅降低"买板子 → 烧坏/接线错 → 重买"的成本。

🔌 支持哪些开发板?

所有开发板资源位于share/boards/目录,每块板包含三个文件:

文件作用
board.map引脚映射,定义板子上每个引脚对应 MCU 的哪个脚
board.svg开发板外观图形
demo.pzw开箱即用的演示工程(工作区格式为.pzw

内置开发板一览:

开发板芯片/架构仿真后端
Arduino Uno / Nano / MegaAVR(ATmega328P/2560)simavr
ESP32-DevKitC、ESP32-C3-DevKitCESP32 / ESP32-C3qemu-esp32
STM32 H103、Blue PillSTM32F103qemu-stm32
PICGenios、Xpress、uCboard、K16F、gpboardPIC 系列picsim / gpsim
Curiosity / Curiosity HPCMSP430uCsim
Franzininho DIYATtiny85simavr
Breadboard(面包板)可插各种 MCU多种
Control Painel虚拟控制面板
Remote TCP远程连接真机

其中Control Painel(控制面板)是一块虚拟板:带屏幕、一排 LED、电阻和开关,非常适合教学演示,下图就是它的外观:

![PICSimLab开发板模拟器内置的控制面板虚拟板,展示LED、电阻与显示屏等虚拟元件](https://raw.gitcode.com/gh_mirrors/pi/picsimlab/raw/b54e50d75f125a3834fee07b6ddc4053ced44377/share/boards/Control Painel/board.png?utm_source=gitcode_repo_files)

各板源码实现在src/boards/,仿真后端适配层在src/sim_backend/(包括bsim_picsim.ccbsim_simavr.ccbsim_qemu.ccbsim_gpsim.cc等)。

💡 虚拟元件库:从 LED 到以太网盾

这是 PICSimLab 最让人上头的部分——share/parts/目录按用途分为四大类,拖进仿真窗口即可接线使用:

  • Input(输入类):DHT11/DHT22 温湿度、BMP280 气压、MPU6050 六轴、DS18B20 温度、超声波 HC-SR04、游戏摇杆、薄膜键盘、电位器、光敏电阻……
  • Output(输出类):LED、7 段数码管(含译码器版)、HD44780 字符屏、ILI9341 彩屏(带触摸)、SSD1306 OLED、蜂鸣器、舵机、步进电机、WS2812B 灯带、LCD 矩阵……
  • Other(扩展类):W5500 以太网、SD 卡、24CXXX EEPROM、MCP23017/PCF8574 IO 扩展器、RTC 时钟芯片、跳线、逻辑门……
  • Virtual(虚拟类):信号发生器、虚拟终端、VCD 波形导入/导出、传递函数模块……

每个元件都有part.map+part.svg定义引脚与外观,对应的仿真驱动在src/devices/src/parts/中,例如 I2C/SPI 位驱动模拟由src/devices/bitbang_i2c.ccbitbang_spi.cc实现。

🛠️ 如何安装 PICSimLab?最快上手指南

Linux(Debian 系)一键安装步骤

git clone --depth=1 https://gitcode.com/gh_mirrors/pi/picsimlab cd picsimlab bscripts/install_deps.sh bscripts/build_all_and_install.sh

依赖脚本bscripts/install_deps.sh会自动装好 wxwidgets、lxrad、picsim 等全部依赖,之后重新编译只需make -j$(nproc)

Windows 安装方法

  • 最简单:直接下载 Release 渠道的稳定版可执行安装包,双击安装;
  • 进阶:在 Linux 或 WSL 下执行bscripts/build_w64.sh交叉编译 Windows 64 位版本。

macOS 运行方法

macOS 暂无原生构建,推荐:先安装 xquartz 和 Wine,再双击 Windows 版安装包运行即可。

🚀 第一次仿真:跑通你的第一个工程

  1. 打开任意开发板自带的demo.pzw演示工程(如share/boards/Arduino Uno/demo.pzw),即可看到完整的仿真工作区;
  2. 用你熟悉的 IDE 编写固件:Arduino 板用 Arduino IDE、PIC 板用 MPLABX、ESP32/STM32 用 PlatformIO,通过 GDB 或串口把程序加载进模拟器;
  3. 调整仿真速度(IO 时钟比例)、观察示波器波形、在虚拟终端里看串口输出;
  4. 需要与主机程序交互时,还支持Remote TCP远程模式和rcontrol远程控制接口。

官方示例工程可以在tests/目录找到完整对照:tests/blink/(点灯)、tests/i2c/(BMP280 传感器)、tests/spi/tests/serial/(串口通信)等,每个.pzw都附带对应的.ino固件源码,是学习最佳资料。

🐛 遇到问题?按三层结构排查故障

PICSimLab 的仿真由三部分构成,官方建议按层次定位问题:

  1. 你的固件程序:先在真机(或部分电路)上验证,排除代码问题;
  2. MCU 指令仿真:用调试器单步查看指令与外设行为;
  3. 板卡与元件仿真:即 PICSimLab 本体。

提交问题前,建议附上固件源码和.pzw工作区文件。项目还提供自动化自测框架:tests/下的 C++ 自测与tests/python/下的 pytest 用例(见tests/python/README.md),会远程操控模拟器自动验证各板点灯是否正确,开发者回归测试全靠它。

✅ 总结:PICSimLab 适合谁?

  • 嵌入式新手:零硬件成本熟悉 Arduino/ESP32/STM32 开发流程;
  • 学生与教师:用demo.pzw演示工程 + 示波器直观讲解寄存器与外设;
  • 开发者:上真机前做回归验证,配合picsimlab_tool命令行工具(源码tools/picsimlab_tool/)集成进 CI。

一句话:想学嵌入式但预算有限?PICSimLab 就是你的免费开发板模拟器,装上它,今天就能"点亮"第一个虚拟 LED。

【免费下载链接】picsimlabPICSimLab - Programmable IC Simulator Laboratory项目地址: https://gitcode.com/gh_mirrors/pi/picsimlab

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询