ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Proteus单片机仿真入门:10分钟跑通LED闪烁工程

Proteus单片机仿真入门:10分钟跑通LED闪烁工程 做单片机学习这些年我见过太多人在 Proteus 门口转了一圈又走掉问起来都说“装了打不开”“找不到元件”“仿真不跑”。其实这工具没多玄把它当成一块虚拟面包板加一堆虚拟仪表就行。今天我就拿一个最简单的 LED 闪烁工程带你走完从新建工程到跑出效果的完整流程10 分钟是够用的前提是别在元件库里迷路。1. Proteus 到底是什么为什么它比搭面包板更适合入门1.1 一句话说清 Proteus 的本质Proteus 是由英国 Labcenter Electronics 公司做的一套电路设计与仿真平台集原理图绘制、SPICE 电路仿真和 PCB 设计于一身。对学嵌入式和单片机的人来讲它最值钱的部分是 VSMVirtual System Modelling虚拟系统建模也就是可以在电脑上模拟一块完整的单片机开发板你画好电路烧入 hex 固件点运行芯片引脚上的电平变化、LED 亮灭、数码管数字跳动、波形输出全部实时呈现跟接真板子的效果几乎一致。很多初学者会问既然我有真实开发板为什么还要用 Proteus最直接的原因有四个。第一零成本试错烧错程序、接反电路在软件里就是动动鼠标在实物上可能烧一片芯片。第二便于观察内部状态你可以在仿真中暂停直接看单片机的寄存器和 IO 口电平这在真实硬件上需要调试器才能做到。第三元件库覆盖广从 51 到 STM32 再到 Arduino从电阻电容到传感器、运放、电机驱动基本能满足课程设计和项目预研的需求。第四交作业和方案汇报方便Proteus 的原理图和仿真波形可以直接放进文档比实物照片清楚得多。1.2 学 Proteus 前必须搞懂的三个核心概念第一个概念是“原理图”你可以理解成一张虚拟面包板所有元件从库中拖出来放到图纸上再用导线按电路图连接。Proteus 里的连线就是真实的物理导线连错了仿真结果就是错的。第二个概念是“仿真引擎”它的作用是计算电路里每个节点的电压、电流和逻辑状态。Proteus 里有两套引擎模拟部分基于 SPICE 内核数字部分基于事件驱动模型。对我们做单片机仿真的人来说不需要理解 SPICE 的数学细节但要明白一点仿真速度由电路的复杂度和模型精度决定加了太多非线性元件或者高频晶振运行就会卡。第三个概念是“单片机模型”这是 VSM 的核心。Proteus 中的 AT89C51、STM32F103 等芯片模型本质是一个可执行固件的“软件芯片”它能加载 hex 文件逐条执行指令同时更新引脚电平。这个机制决定了 Proteus 只能仿真可生成 hex 的嵌入式程序而纯模拟电路比如一个音频功放也可以仿真只是不需要“烧程序”这一步。1.3 版本怎么选直接用 8 系列别用老版本死磕Proteus 目前主流的版本是 8 系列8.17 是较新的一个界面布局现代化元件库也全。如果你手头有更老的 7.x 版本我建议尽早换掉因为老版本在高分屏下显示模糊而且很多新元件模型不支持。选版本时有几个实操经验第一能用官方安装包就用官方安装包网络上很多“一键绿色版”可能在杀毒软件里报毒即便是误报也闹心第二8.x 系列自带原理图库和仿真库不需要额外下载“完整元件库”网上的“最全元件库”包大多是重复内容装多了反而拖慢启动速度第三汉化包尽量选择与版本严格匹配的语言文件放错版本会导致菜单显示异常。个人建议如果你英文水平尚可就直接用英文界面遇到问题搜资料时更容易对上号因为国内教程和国外教程用的菜单名称基本以英文为准。2. 从下载安装到新建工程先搭好虚拟实验台2.1 安装前需要做的准备工作Proteus 8 的安装包比较大装完占用空间通常在 2GB 以上安装前要确认电脑 C 盘有足够空间。安装过程中会写入系统服务所以建议暂时关闭杀毒软件和安全卫士避免安装文件被拦截。安装路径的选择有一个常见坑点尽量不要放在带中文的路径下比如“D:\软件\Proteus”这种。虽然 Proteus 对中文路径的兼容性比早年好了一些但后续如果在 Keil 联调或者导入第三方库时出问题排查起来很麻烦。老老实实用一个纯英文路径能省掉一堆莫名其妙的坑。装完第一次打开会提示你是否要运行“BOM 报告生成器”之类的初始化向导直接全部跳过即可。这时界面可能出现一个“没有许可证”的提示需要按安装包说明完成许可文件配置。这一步如果卡住最常见的原因是安装时未以管理员身份运行或者杀毒软件把破解文件隔离了。把杀毒软件关闭后重新安装一遍基本都能解决。2.2 新建工程图纸与仿真环境的初始化打开 Proteus 8在欢迎界面选择“New Project”填写工程名和保存路径。注意工程名也建议用英文尤其当工程里包含了中文字符时某些版本的仿真日志会出现乱码虽然不影响仿真结果但排查问题时非常碍眼。接下来会进入“Schematic Capture”界面这就是画原理图的地方。在开始画图之前先熟悉一下左侧的工具条。从上到下分别是选择模式、元件模式、节点模式、连线标签模式、文本脚本模式、总线模式、子电路模式、终端模式、器件引脚模式、图表模式、录音模式等。刚学的时候不需要全记住你只要记住两个元件模式快捷键 P用来找元件终端模式快捷键 T用来放置电源和地。还有一个容易被忽略的设置项在菜单“System” → “Set Schematic Dimensions”里可以设置图纸大小。“A4”适合小电路“A3”及以上适合复杂系统。图纸太小放几个元件就满了导出图片也不清晰。2.3 仿真前必须打开的两个辅助工具真正开始画原理图之前建议先打开两个工具一个是“Design Explorer”设计资源管理器在菜单 View 里另一个是“Simulation Log”仿真日志在 Debug 菜单里。Design Explorer 可以让你看到整个工程里有哪些模块、哪些网络Simulation Log 会在仿真时输出错误和警告信息。我为什么强调这两个工具因为很多初学者遇到“仿真跑不起来”第一反应是在电路图上反复找问题实际上仿真引擎已经把原因写在日志里了比如“Missing GND”或者“Pin not connected”。养成先看仿真日志的习惯你的排查效率会翻几倍。3. 实战15 分钟跑通一个 LED 闪烁最小系统3.1 为什么第一步要选 51 单片机现在市面上流行 STM32 和 Arduino但学习 Proteus 仿真的第一步我还是推荐用 51 系列单片机具体型号选 AT89C51 或 AT89C52。原因很简单51 单片机的外围电路最经典晶振、复位、IO 口上拉电阻每个概念都能在一个完整电路里体现出来同时 Proteus 对 51 系列的模型支持最成熟仿真稳定不容易出现莫名其妙的问题。等你把 51 的流程跑顺了再切换到 STM32 仿真时会发现上手成本降低很多因为 Proteus 的操作流程是一样的区别只是芯片配置和时钟树设置不同。3.2 元件清单与放置方法我们要搭建的是这样一个系统单片机 AT89C51 作为核心接一个 12MHz 晶振作为时钟源两个 30pF 电容配合晶振起振一个 10kΩ 电阻加上按键构成复位电路P1 口接一个发光二极管 LED 和限流电阻最后再接上电源和地。单击左侧工具栏的“元件模式”然后点图纸上的“P”按钮打开元件库在搜索框中输入“AT89C51”双击选中回到图纸上左键放置。重复这个过程依次搜索添加“LED-RED”“RES”“CAP”“CRYSTAL”“BUTTON”等元件。我补充三点实操经验第一Proteus 元件库的搜索支持通配符比如输入LED可以列出所有 LED 模型输入 RES 会列出各种电阻模型。不记得完整型号时用通配符搜索很方便。第二电阻和电容的默认阻抗值需要修改双击元件就能在属性里改电阻改成 220Ω电容改成 30pF。第三放置元件时不要着急连线先把所有元件按大致位置摆好再统一连线效率高很多。3.3 连线的关键技巧网格、网络标签与总线Proteus 里的连线操作其实和画图软件差不多。鼠标移到元件引脚上引脚处会出现一个绿色小方块单击一下开始连线移动到目标引脚后再次单击完成连线。默认情况下Proteus 会以 10mil 为网格步长自动吸附所以连接出来的线都是直角的这个设计是为了让电路图更规范。如果电路比较复杂不要用一根根导线把芯片所有引脚接出去那样图面会变成蜘蛛网。正确的做法是使用“网络标签”Wire Label。在终端模式下放置一个“DEFAULT”终端双击它可以输入网络名比如“P1_0”。将它与单片机的 P1.0 引脚相连然后在图纸另一处放置另一个标签为“P1_0”的终端再连到 LED 上。这样两个元件虽然没有物理导线相连但在电气上属于同一个网络仿真时是等同的。晶振电路的连接比较特殊晶振两端分别接单片机的 XTAL1 和 XTAL2 引脚两个电容一端分别接晶振的两端另一端接 GND。复位电路则是按键一端接 VCC另一端通过电阻接地同时按键两端并接一个电解电容这个节点连到单片机的 RST 引脚。这里容易犯的一个错误是把电容极性接反导致复位电路异常单片机无法启动。3.4 电源和地仿真中最容易被忽略的环节很多初学者画出电路后运行仿真发现芯片完全没反应排查半天才发现电源和地没接。Proteus 里有一个和实物开发板的差异点默认情况下Proteus 并不会自动给元件供电你必须手动放置电源和地终端。在终端模式中选择“POWER”终端双击属性输入“VCC”再选择“GROUND”终端属性保持“GND”。VCC 终端接到电路的电源节点GND 接到所有需要接地的节点。如果你用的是 AT89C51特别注意它的 40 脚是 VCC20 脚是 VSS都必须在原理图中接上对应的电源网络。还有个细节如果电路里用到 5V 供电电压可以在电源属性里自定义电压值。默认的 VCC 终端电压是 5V这正是 TTL 电平的标准电压所以 51 单片机能直接使用。3.5 编写 C 程序用 Keil5 生成 hex 文件Proteus 本身只能仿真它不负责写代码。市面上最常用的 51 单片机编译环境是 Keil C51现在叫 Keil5 的居多。打开 Keil5新建工程选择芯片型号时直接搜 AT89C51点确定。写一个最简单的 C 程序让 P1.0 口输出高低电平循环#include reg51.h sbit LED P1^0; void delay(unsigned int t) { unsigned int i, j; for(i 0; i t; i) { for(j 0; j 120; j); } } void main(void) { while(1) { LED 0; // LED 点亮 delay(100); LED 1; // LED 熄灭 delay(100); } }这个程序里的延时函数计算依据是 12MHz 晶振机器周期为 1μs内层循环 120 次大约 120μs外层循环 100 次就是 12ms所以 LED 大约每 12ms 切换一次状态人眼能看到明显的闪烁。在 Keil 中点击“Options for Target”在“Output”选项卡里勾选“Create HEX File”然后编译工程目录下就会生成 .hex 文件。如果你的 Keil 安装的是 ARM 版而不是 C51 版默认不支持 51 芯片需要额外安装 C51 支持包。3.6 加载固件启动仿真一次点亮的完整操作回到 Proteus双击原理图中的 AT89C51 芯片弹出编辑属性窗口。在“Program File”一栏点击文件夹图标选择刚才生成的 .hex 文件。注意不要勾选“Program”那个选项用于实时调试模式和静态加载固件不同。然后点击 Proteus 左下角的运行按钮也就是那个绿色三角形。如果一切正常你会看到 LED 以约 10Hz 的频率闪烁。这个频率可以通过修改延时函数的循环次数来调整改完重新编译生成 hex 文件再重新加载到芯片中即可看到新的闪烁频率。如果点运行后 LED 没有反应优先检查仿真日志。常见的提示有“Program File not found”——说明固件没有加载成功“No power supply connected”——说明 VCC/GND 终端缺失“Incorrect device PIN count”——说明元件选错型号。3.7 调试功能暂停、单步与电平监测LED 闪烁只是一个开始。Proteus 真正的优势在于调试。运行过程中点击左下角的暂停键你可以观察各个引脚的电平状态。默认情况下引脚上显示红色方块表示高电平蓝色方块表示低电平灰色表示未连接或高阻态。在 Debug 菜单里还有“8051 CPU Source Code”等选项你可以打开源代码窗口和 Keil 一样单步执行同时观察变量的变化。这个功能在排查复杂的逻辑错误时极其好用。4. 与 Keil5 联调 VSM让调试效率翻倍的进阶操作4.1 为什么要联调静态加载 vs 动态调试第一轮我们采用的是“静态加载固件”的方式即先在 Keil 里编译好 hex再手动加载到 Proteus 的单片机模型里。这个方式适合最终验证功能但调试体验不好每次改代码都要重新编译、重新加载、重新运行时间全浪费在重复操作上。如果要做“边改边看”就用 Proteus 的 VSM 调试功能和 Keil 联调。联调模式下Proteus 和 Keil 会建立一个通信连接你在 Keil 里点击编译和调试Proteus 里的仿真会自动同步推进甚至可以像使用真实开发板一样设置断点观察寄存器和变量。这个模式非常适合课程设计阶段的调试节省至少一半时间。4.2 联调前的环境准备联调需要三个部分协同Proteus 工程、Keil 工程、一个通信插件。在 Proteus 8 的安装目录下通常自带一个叫“VDM51.dll”的插件它用于桥接 Proteus 与 Keil 的调试通信。如果你的安装包是精简版可能缺少这个文件可以从网络上的 Proteus 调试插件包中获取。将 VDM51.dll 复制到 Keil5 安装目录下的 “C51\BIN” 目录中然后在 Keil5 中找到 “TOOLS.INI” 文件用记事本打开在文件末尾加上一行TDRV9BIN\VDM51.dll(Proteus VSM Simulator)数字编号 9 是我习惯加的如果你之前没加过其他厂商驱动任何未占用的数字即可。保存后重新打开 Keil5在“Options for Target” → “Debug”选项卡右侧你会看到一个叫“Proteus VSM Simulator”的调试器选项选中它。4.3 联调实操一步一步配置好第一步在 Proteus 中打开你的工程点击 Debug 菜单选择“Remote Debug Monitor”并开启它。这一步是让 Proteus 进入后台调试监听状态等待 Keil 发出连接请求。第二步在 Keil 的 Debug 选项卡中选中“Proteus VSM Simulator”然后点击旁边的 Settings默认端口是 8000保持默认即可。如果端口被占用改成一个高位端口并确保 Proteus 端的“Remote Debug Monitor”设置里使用相同的端口。第三步在 Keil 中点“Rebuild”重新编译工程然后点“Start Debug Session”进入调试状态。这时 Proteus 会自动跳转到仿真模式两者的联调就建立了。联调模式下你可以在 Keil 的源码窗口里打断点程序运行到断点时Proteus 里的仿真也会暂停在同样的位置你可以观察芯片引脚电平、外设波形、变量值体验和真机调试几乎没有差别。4.4 联调失败的高频原因与解决办法联调失败最常见的原因有三类。第一VDM51.dll 版本和 Keil 版本不匹配表现为 Keil 的 Debug 选项卡里不出现“Proteus VSM Simulator”选项解决方法是确认 dll 文件位置正确、TOOLS.INI 格式无误。第二端口不一致Keil 的 Settings 里写的是 8000Proteus 的远程调试监听的却是另一个端口两者接不上。第三Proteus 和 Keil 工程里的芯片型号不一致比如 Proteus 里用的是 AT89C52Keil 里选的却是 AT89C51会导致调试时寄存器定义错位。还有一个小细节联调时 Keil 的 Debug 模式中尽量选择“Use Simulator”之外的“Use”选项并指定 Proteus 驱动否则 Keil 默认使用自己的纯软件仿真器不会触发 Proteus 联调。5. 常见问题排查与避坑指南十个人九个栽在这里5.1 运行仿真后 LED 不亮检查顺序很重要这是一个高频问题我遇到过太多次。最后排查得出的经验顺序是先看仿真日志有没有红色报错再检查电源和地是否连接然后检查晶振和复位电路最后确认 hex 文件是否正确加载。这个顺序是“由软件到硬件、由整体到局部”的过程。举个例子有人把晶振的频率在器件属性里设置成了 120MHz运行后 LED 闪烁速度肉眼几乎看不出来他以为是程序错了。这个例子的教训是晶振频率不仅影响单片机的时钟还直接影响延时时间、串口波特率、定时器初值改晶振前要想清楚它对整个电路的影响。5.2 元件找不到别乱装库学会用好搜索框很多人在网上寻找“Proteus 完整元件库”装了后发现元件库没变多反而经常报告库冲突。实际上Proteus 8 的默认元件库已经覆盖了几万个器件足够日常使用。找不到元件很多时候是搜索方式不对。举例想找 51 单片机输入“51”可能搜出一堆 SDK 和连接器正确方式是输入“AT89C51”或“89C51”想找 LED输入“LED”会出一大堆不同颜色和封装的发光二极管用“LED-RED”可以精确定位想找蜂鸣器输入“BUZZER”可以找到有源蜂鸣器模型。如果确实有什么特殊元件库不包含比如某些国产芯片可以在网上搜索该芯片的 Proteus 模型文件.lib 和 .idx手动放置到 Proteus 的 “Library” 目录下然后重启软件。但这类操作有一定风险下载前注意来源可靠性。5.3 仿真速度慢/卡顿几个立竿见影的优化方法电路规模稍大时仿真速度明显下降。最简单的优化是调整仿真帧率。在菜单“System” → “Set Animation Options”里有一个“Maximum Frame Rate”选项改成 20 或者更低可以降低 CPU 负担。另一个技巧是尽量减少使用实时波形图。很多人在仿真中挂了好几个示波器和逻辑分析仪每增加一个虚拟仪器Proteus 的渲染开销都会增加。调试阶段用示波器没问题但在最后长时间运行观察时可以暂时移除多余的仪器。还有一个容易被忽视的问题元件库里的某些模型本身计算开销大比如带完整 SPICE 子电路的运放、场效应管。如果只是做数字逻辑仿真尽量用数字模型而不要用全模拟模型。5.4 蜂鸣器不出声先查 Sound 总开关用 Proteus 仿真蜂鸣器很多人碰到“元件动了但没声音”的情况第一反应是蜂鸣器模型坏了。其实绝大多数情况下是 Proteus 的全局声音开关没打开。在菜单“System” → “Set Animation Options”中有一个“Sound”复选框勾选它仿真时才允许蜂鸣器、扬声器等发声元件输出音频。除此之外系统音量也必须打开。这类问题很隐蔽因为界面上的蜂鸣器外观没有任何状态提示只能靠声音来确认。另外一个与蜂鸣器相关的经验是Proteus 里的蜂鸣器模型分为有源和无源两种有源蜂鸣器直接加电压就响无源蜂鸣器必须给方波信号才能响。用错了类型仿真的行为就会和预期完全不同。5.5 示波器怎么锁住波形触发模式是关键Proteus 自带的虚拟示波器Oscilloscope是调试电路的好帮手但它默认是自动滚屏模式波形跑得飞快根本看不清细节。要“锁住”波形本质上是要配置触发电平。在示波器的“Trigger”区域里将触发源选为你要观察的通道模式选择“Edge”触发电平设置在信号的中间值附近。这样每次信号过触发点时示波器都会重新同步波形就稳定了。如果你观察的是 P1.0 口输出的方波把触发电平设在 2.5V 附近触发源设为 Channel A屏幕上的波形就会稳定住。除了虚拟示波器Proteus 还有逻辑分析仪和信号发生器分别在图表模式里使用。图表模式的仿真方式比较特殊——它不是实时运行而是计算出指定时间段的波形后一次性绘制出来效率高很多也适合输出高清的波形截图。5.6 常见问题速查表症状可能原因解决办法运行后无反应电源/地未连接放置 VCC 和 GND 终端程序烧不进去未勾选 Create HEX File在 Keil 的 Output 中勾选芯片运行混乱晶振频率与实际不匹配将晶振频率与代码计算值对齐LED 微亮但不闪限流电阻太小或 IO 模式不对增大电阻到 220Ω~1kΩ蜂鸣器不出声声音总开关未开在 Animation Options 中勾选 Sound数码管乱码位选/段选引脚接反对照数据手册核对引脚仿真太卡虚拟仪器过多移除不用的仪器或降低帧率联调失败端口不一致统一 Keil 和 Proteus 的调试端口6. 下一步可以怎么玩从 LED 闪烁到完整系统仿真6.1 传感器与显示组合复刻一个倒车雷达系统搜索热词里有一个很典型的组合STC89C52 HC-SR04 超声波传感器 DS18B20 温度传感器 LCD1602 液晶屏。这其实是一个经典的课程设计题目——倒车雷达。在 Proteus 里做这个项目核心思路是单片机通过 IO 口模拟超声波传感器的触发时序再通过外部中断测量回波引脚的高电平时间从而计算距离DS18B20 使用单总线协议读取温度最后将距离和温度显示在 LCD1602 上。这个项目的难点不在 Proteus 操作而在程序状态机的设计。建议按照模块化步骤来先把 LCD1602 显示跑通再调 DS18B20 读取最后再上超声波时序。我在 Proteus 里做过类似的综合项目踩过最大的坑是 HC-SR04 模型对触发脉冲宽度很敏感如果程序里延时不够模型就不会产生回波信号。解决办法是在触发脉冲输出后加一段足够的延时并改用低电平触发方式测试。6.2 STM32 仿真从 51 跳到 ARM 需要注意什么Proteus 8 对 STM32 系列的支持已经很完善你可以仿真 STM32F103 甚至部分 Cortex-M 内核的芯片。但和 51 单片机相比STM32 仿真有几个明显的差异。第一时钟配置更复杂STM32 模型默认使用内部 HSI 晶振如果你在代码里配置了外部 HSE 而在 Proteus 里没有正确接外部晶振程序可能跑不起来。第二烧录方式不同在 Proteus 里给 STM32 加载代码需要指定一个虚拟的 FLASH 文件通常使用 .hex 或 .elf 文件加载后还要配置调试接口。第三外设模型差异大STM32 的 GPIO 是复用模式的引脚功能由程序配置决定仿真时如果 GPIO 配置不当外设不会工作。不过 STM32 仿真的调试体验非常好你可以用 Proteus 的逻辑分析仪同时观察多路 PWM 输出或串口波形这对理解定时器和 DMA 的底层机制特别有帮助。6.3 结合 8086 与外设接口进阶到微机原理实验热词里有“8086 控制 LED 8255A”这样的组合这是典型的微机原理课设。Proteus 对 8086 处理器的支持让这类古老但重要的实验在电脑上可以完整跑通。8086 实验和 51 单片机项目的区别在于它的总线结构更复杂需要正确配置地址译码电路和总线收发器程序是汇编级别的。在 Proteus 里做 8086 实验最简单的方法是使用 Proteus 自带的 8086 模型和 RAM/ROM 模型按课本上的电路图接线。虽然这个领域现在已不是主流但如果你是计算机或嵌入式相关专业的学生把这类实验跑通一次对理解内存映射和总线时序会有质的提升。6.4 工业自动化仿真从单片机到 PLC 生态热词中还出现了库卡机器人仿真、Factory IO、SIMATIC 相关的内容这些不属于 Proteus 的仿真范畴而是工业自动化领域的其他工具组合。例如 Factory IO 是一个 3D 工厂场景仿真软件常和西门子 PLC 以及虚拟 HMI 联用适合做产线逻辑验证。如果你未来要向工控方向走Proteus 只是第一步它帮你掌握的是电路和嵌入式的基础逻辑而 Factory IO 和 PLC 仿真系统锻炼的是梯形图编程、传感器执行器选型和产线节拍分析能力。两者并不冲突但不要期望用 Proteus 去仿真 PLC 程序选择工具时还是要看场景。6.5 跨领域灵感仿真思维本身可以迁移最后说点题外话。Proteus 做的是电子系统的仿真但这个“先仿真验证再实物落地”的思路几乎适用于所有工程领域。做机械的设计会用 SolidWorks 做热仿真做通信的会用 MATLAB 做链路仿真做射频的会用 HFSS 仿真波导做控制系统的用 MATLAB/Simulink 或 ROS 仿真环境跑算法。所以我的建议是刚开始接触 Proteus 时你能跑通一个 LED 闪烁就说明你已经理解了“电路原理图 固件 模型执行”的完整链路。这个认知迁移到其他仿真软件无非是换了元件库、换了语言、换了求解器而已。未来你遇到陌生工具至少不会害怕知道仿真不过是“把现实世界抽象成模型在虚拟环境里提前看结果”。我个人在教新人时最常说的一句话是仿真不是玩具也不是万能药。它最大的价值是让你在花一分钱、冒一分险之前先把逻辑看清楚。利用好它你的硬件开发效率会提升一个档次。希望这篇教程能帮你跨过入门门槛如果第一次没跑通不要急着删软件停一下看看仿真日志那里面几乎藏着你需要的所有答案。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进