
这篇文章我想了很久才动笔。不是因为它难写而是因为“开发板使用流程”这个话题看起来太基础了很多老手觉得没必要讲很多新手又不知道该从哪一步开始。我这些年手里过过的板子从合宙Air202 S6这种带2G模组的小板子到正点原子Alpha i.MX6ULL、全志T113、瑞芯微RK3506、ESP32系列、ESP8266、STM32MP157再到复旦微FMQL20这种ARM加FPGA的异构板卡数量不算少。回头看真正让新手卡住的往往不是某个芯片手册里的高端寄存器而是“一块新板子从拆封到跑通完整链路”这件事缺少一套可以复用的流程。这篇文章就把我验证过、踩过坑之后沉淀下来的完整开发板使用流程整理出来拿到板子先干什么、怎么搭Ubuntu环境、怎么读原理图、怎么在设备树里加一颗LED、怎么让ESP8266和STM32通信最后附上一份能直接照着排查的问题清单。不管你手里是哪块板子哪怕是没听过名字的小智开发板只要按这个流程走至少能少走一半弯路。1. 拿到开发板的第一步先别急着上电把“家底”摸清楚1.1 硬件信息收集与引脚对照开发板圈子里有一个很常见的现象板子到手包装一拆电源一插然后屏幕没反应或者串口不出数据就开始各种群里发问。实际上大部分“翻车”不是板子问题而是没有做最基础的信息收集。我自己的习惯是无论多熟的芯片平台拿到新板子先做三件事找原理图、找引脚定义、找SDK版本。这三样不齐我一般不碰电。以合宙Air202 S6开发板为例它采用的是26pin排针引出IO如果不看图纸直接拿杜邦线去怼很容易把电源脚和地脚接反或者把UART_TX接成RX。Air202 S6那颗芯片本身是2G通信模组方案开发板上的26pin排针通常包含了电源、地、UART、SPI、I2C和若干GPIO而且这些引脚的电压域并不统一。有些引脚可能直接跟VBAT相关有些则是模块内部特定电压域的IO。如果按照“感觉应该是3.3V”这种思路去设计外围电路大概率要出事。正确做法是先找到官方提供的pinout表把每一根排针的“引脚号、网络名、默认复用功能、电平域”列出来再决定你的杜邦线往哪插。像T113、瑞芯微RK3506这类偏应用处理器的板卡还要额外确认启动方式。很多板子上有拨码开关或者启停电阻对应的是SD卡启动、EMMC启动、USB烧写模式。我见过有人拿着一块RK3506开发板怎么烧系统都烧不进去最后发现是启动拨码拨到了EMMC模式而EMMC里还是空白的Loader根本没机会跑起来。这种问题不查硬件配置光重装驱动和研究烧录工具熬几天也解决不了。所以拿到任何板子第一步都是把启动方式、默认调试串口、供电要求记清楚再谈点亮。1.2 上电前的物理检查与安全习惯我自己有个“强迫症”一样的习惯板子上电之前一定先用万用表的蜂鸣档量一遍电源网络是否短路。方法很简单把电源断掉万用表拨到蜂鸣档一支表笔接板子的GND另一支表笔去碰5V、3.3V、VBAT这些关键电源网络。正常情况下这些电源网络对地应该呈现电容充电后的开路状态或者至少有一个几十欧以上的等效电阻。如果表笔一碰上去就直接“滴”一声长鸣说明板上大概率有器件焊反、锡桥或者电源网络被异常短路了。这时候盲目上电轻则器件发烫重则直接冒烟一块几百块的板子就没了。另外在给板子上电之前我还会用强光手电加放大镜把板子正反面都看一遍重点看丝印版本、电源芯片型号、主控丝印和按键标识。很多厂家会改板同一个型号的V1.0和V1.1之间引脚定义和物料可能存在差异固件也可能不通用。正点原子Alpha开发板早期和后期的批次设备树文件针对的板级配置就有些区别如果拿旧版设备树去启动新版底板会有外设初始化不到的情况。不要以为丝印只是印刷它其实是硬件版本管理最直接的入口。还有一个小细节检查一下USB座、排针、天线座这些容易在运输中受损的器件有没有虚焊或者歪斜。我曾经遇到过一块ESP32-CAM拿到手WiFi信号一直弱最后发现是板载天线附近的电感被碰掉了这种问题不仔细看根本发现不了。1.3 把固件、SDK和数据手册整理成一套本地档案很多新手喜欢在浏览器收藏夹里存一堆链接用的时候再去翻结果等要用了链接失效或者找不到对应版本。我现在的做法是在本地硬盘建一个“板卡档案”目录按厂商加芯片型号命名把SDK压缩包、出厂固件、数据手册PDF、原理图PDF、官方例程、已知问题笔记全部丢进去。路径用英文避免交叉编译时出现中文路径的麻烦。资料的获取渠道也有优先级。排第一的是厂商官网和官方GitHub账号这两个地方发布的是经过验证的release版本其次是官方论坛和官方技术QQ群里的置顶帖最后才考虑第三方网盘分享。下载完固件和SDK之后尽量核对一下文件大小或校验值我踩过很多次“下载到一半断掉然后解压报错”的坑与其浪费时间排查不如一开始就确认文件完整。复旦微FMQL20这类比较专业的板卡官方还会提供专门的下载工具和工程模板这类工具对版本特别敏感如果你手里是改版后的芯片却下载了旧版下载工具可能连芯片ID都识别不到。对了同一款芯片不同板卡厂商出的BSP也可能有差异比如合众恒跃的RK3506开发板它提供的SDK通常会包含底板相关的设备树和驱动补丁直接用公版SDK去编译可能连网口都起不来。所以“本地档案”里要单独记录SDK版本、BSP分支、适用板卡型号、编译主机Ubuntu版本这四要素对齐整个流程才不会被莫名其妙的问题卡住。2. 开发环境搭建几乎所有开发板最终都会指向Ubuntu2.1 为什么我推荐Ubuntu而不是Windows做Linux相关的开发板比如i.MX6ULL、T113、RK3506、STM32MP157官方SDK的编译脚本几乎都是在Ubuntu上验证过的。用Windows去搞光装各种依赖、处理换行符和文件权限就能耗掉大半天。就算有WSL跨文件系统编译时也偶尔会遇到inotify失效和权限错乱的问题。直接用Ubuntu会省心很多。我的建议是选Ubuntu 20.04或者22.04这类LTS版本稳定工具链兼容性好。不要盲目追新Ubuntu 24.04上不少老芯片厂商的SDK会栽在OpenSSL和glibc版本兼容性上编译到一半报各种莫名其妙错误与其折腾不如老老实实装一个厂商验证过的版本。至于用什么机器跑Ubuntu物理机、虚拟机都可以。虚拟机要做好资源分配至少给它分配4核CPU和8G内存否则全志T113的SDK在编译buildroot时就能把虚拟机卡到鼠标飘移。如果有条件建议单独用一块SSD装物理机Linux下访问USB设备会更直接跑串口和烧录工具也没有虚拟机的USB重定向延迟。2.2 让Ubuntu识别并访问开发板串口、USB设备与NFS挂载开发板“挂载到Ubuntu”这个话题我理解其实包含两层意思。第一层是把开发板当成USB设备挂到主机上比如ESP32-CAM的USB转串口、瑞芯微RK3506的Loader模式、STM32MP157的DFU模式。第二层是开发板跑起Linux系统后把Ubuntu主机共享出来的目录挂载到板端实现“主机编译、板卡运行”。先看第一层。用USB线连接开发板后在终端执行lsusb确认USB总线有没有枚举到设备然后执行dmesg | tail -n 30看内核日志里有没有ttyUSB0或者ttyACM0。大多数开发板的板载USB转串口用的是CH340、CP2102、FT232正常情况会在/dev下生成ttyUSB0。如果设备没出现先别急着怀疑驱动检查一下USB线是不是“只能充电不能传数据”的坑爹线。这种线我身边常备都是买电子产品送的拿出来调试时候坑了一批人。换一根已知OK的数据线很多问题瞬间消失。设备编号出来后还要解决权限问题。Ubuntu下普通用户默认不能直接访问串口执行sudo usermod -aG dialout $USER重新登录后用户就会被加入dialout组可以免sudo使用串口。串口终端我推荐picocom简单干净sudo apt install picocom picocom -b 115200 /dev/ttyUSB0退出快捷键是先按CtrlA再按CtrlX。用的时候记住目标板卡的波特率合宙Air202 S6默认常见的是115200和9600ESP32系列模块默认下载和日志波特率通常是115200i.MX6ULL的minicom或者picocom也常设在115200。波特率错了屏幕就是一团乱码。第二层的NFS挂载是调试Linux板卡的利器。在Ubuntu主机上安装nfs-kernel-server然后修改/etc/exports把某个目录共享出来例如/home/user/nfs_root *(rw,sync,no_subtree_check,no_root_squash)重启nfs服务后在开发板端执行mount -t nfs -o nolock 192.168.1.100:/home/user/nfs_root /mnt这里192.168.1.100是Ubuntu主机的IP。挂载不上时先ping一下确认网段互通再看Ubuntu防火墙有没有放行nfs相关端口。新装的Ubuntu一般开着ufw可以直接用sudo ufw disable先关掉调试完再打开不然板子访问不到rpcbind就报Connection refused。这种开发板挂载Ubuntu目录的方式非常适合交叉编译后的可执行文件和设备树测试文件扔到NFS目录里开发板直接就能读而不用每次烧写。2.3 交叉编译工具链的选择不同SoC使用的交叉编译工具链不一样不能混用。Cortex-A7架构的全志T113和i.MX6ULL一般用arm-linux-gnueabihf-Cortex-A53架构的RK3506、STM32MP157如果用64位Linux一般用aarch64-linux-gnu-复旦微FMQL20内嵌的ARM核和FPGA逻辑则要看官方IDE推荐。编译Linux内核或设备树时通常要先导出两个环境变量export ARCHarm export CROSS_COMPILEarm-linux-gnueabihf-然后再去内核源码目录执行make dtbs就能生成对应的设备树文件。如果没有设置这两个变量make命令会默认使用x86工具链然后直接报错。建议把这两行写进~/.bashrc省得每次编译前都敲一遍。工具链安装方式能用厂商SDK自带的最好用自带的apt源里的工具链版本虽然稳定但面对新型号芯片有时不支持特定编译参数。比如瑞芯微的某些板卡BSP要求使用GCC 10以上的arm64工具链apt源自带的老版本就满足不了。编译不通过时先去确认工具链版本不要一上来就改代码。3. 看懂原理图从ESP32到i.MX6ULL的实战拆解3.1 从ESP32开发板原理图里到底要看什么原理图对很多新手来说像天书其实不需要把每一根线都读透抓关键就好。以ESP32-CAM为例这块板子虽然名字里带CAM但它能被大家记住很大一部分原因是它有“管理地址”这个概念——板子烧录固件并联网后路由器会给它分配一个IP你在浏览器里打开这个IP地址就能进入摄像头管理页面。但前提是得先通过串口日志拿到这个IP很多人第一次玩ESP32-CAM就是卡在“不知道IP地址从哪看”。接好串口上电用115200波特率打开串口就能看到模组打印的MAC和获得的IP地址。这个IP就是它的管理地址直接浏览器访问即可。再看ESP32开发板的原理图时我一般按这个顺序电源、下载电路、时钟、外设。电源部分要找到LDO型号以及最大输出电流。ESP32在WiFi开启瞬间电流能冲到500mA以上如果板载降压芯片余量不足会导致电压跌落板子反复重启。ESP32-S3的硬件介绍里还要特别留意原生USB接口和UART的引脚差异有的ESP32-S3模组原生USB口可以用来烧录和打印日志但引脚位置和使能条件跟普通UART不同接错线就识别不到设备。下载电路主要看USB转串口芯片和EN、IO0之间的连接方式这决定了进入下载模式是按键组合还是自动流控。时钟部分简单看一眼晶振频率和负载电容对一般应用开发不用深究。外设就看你这块板子要用来干什么比如要驱动摄像头就去看摄像头接口的DVP或CSI数据线接到哪几个GPIO方便后面配置管脚。3.2 正点原子Alpha i.MX6ULL编译设备树并点亮LED的完整过程我收到过很多类似“正点原子Alpha开发板已经编译了imx6ull-alientek-emmc.dtb编译好设备LED”的问题。这个关键词描述的其实就是Linux开发中最经典的一课改设备树加一个LED节点然后通过文件系统去控制它。第一步进入Linux内核源码目录找到arch/arm/boot/dts/imx6ull-alientek-emmc.dts。这是板级设备树源文件编译后生成的imx6ull-alientek-emmc.dtb就是它在启动时真正被用到的二进制版本。第二步在该文件根节点下添加一个gpio-leds子节点例如gpioled { compatible gpio-leds; pinctrl-names default; pinctrl-0 pinctrl_gpio_led; board-led { label board-led; gpios gpio5 3 GPIO_ACTIVE_LOW; default-state off; }; };第三步在iomuxc节点里添加对应的引脚复用配置pinctrl_gpio_led: gpio_led { fsl,pins MX6UL_PAD_SNVS_TAMPER3__GPIO5_IO03 0x17059 ; };第四步编译设备树export ARCHarm export CROSS_COMPILEarm-linux-gnueabihf- make dtbs编译完成后把新的imx6ull-alientek-emmc.dtb拷贝到开发板boot分区重启。第五步启动后查看/sys/class/leds目录如果一切正常会出现board-led这个目录然后执行echo 1 /sys/class/leds/board-led/brightness如果这个LED配置成低电平点亮echo 1时灯灭echo 0时灯亮方向反了就去设备树里改成GPIO_ACTIVE_HIGH。这里我要重点说两个坑。第一个坑是引脚复用冲突。如果你的LED所使用的引脚已经被其他外设节点占用编译时不会有任何报错但启动时内核日志里会提示类似“pin already requested”的信息LED怎么操作都没反应。排查方法是在启动日志里用dmesg搜关键字找到冲突来源把复用关系改掉。第二个坑是内核配置里必须开启CONFIG_LEDS_GPIO驱动。设备树里写得再完整没有对应的驱动/sys/class/leds下面也不会出现任何目录。所以“明明编译了设备树但还是没反应”的问题八成不是设备树写错而是内核配置缺了驱动。这个排查思路对T113、RK3506、STM32MP157这些Linux开发板同样适用。3.3 瑞芯微、全志、复旦微板卡的原理图阅读差异不同厂商的板卡在原理图上的阅读侧重点不太一样。瑞芯微RK3506这类应用处理器如果是核心板加底板的形态原理图阅读重点是底板上的供电、接口电平转换和复位电路核心板内部已经把DDR和PMU集成好了底板上最需要注意的是各路电源的使能脚和上电时序否则会出现“单独模块都正常合在一起就启动失败”的怪现象。全志T113常见的是贴片的一体板DCDC反馈电阻、DDR参考电压、启动配置引脚是重点反馈电阻阻值偏了电压就飘DDR跑不稳定时最先怀疑的就是这几颗电阻。复旦微FMQL20这种ARM加FPGA的异构芯片阅读原理图时要分PS和PL两侧来看PS侧关注ARM最小系统和DDRPL侧关注FPGA的bank电压、配置时钟和JTAG下载链两侧混着看会非常痛苦。STM32MP157也是类似的思路区分好哪个引脚归Cortex-A核的Linux管哪个引脚归Cortex-M核的裸机程序管两个处理器共用引脚时一定要看设备树里的保留配置不然会出现一组外设能在一个核上跑、在另一个核上锁死的现象。其实原理图阅读能力不是天生的就是靠多看多画。我的笨办法是拿到一张新原理图先用彩笔把电源链路、启动链路、串口链路、下载链路分别标出来。这几条链路弄明白了这张板子在你眼里就不会再是一个黑盒子。4. 从点灯到多板通信把开发板真正“驱动”起来4.1 最小系统验证点灯、串口、按键很多高手会觉得点灯这种操作太简单但对一块陌生板卡来说点灯的意义不只是“看它亮了”而是在验证一整套链路电源正常、时钟起振、Bootloader启动、内核加载、设备树解析、GPIO驱动匹配全部走通灯才会亮。这就像新买一台服务器最先做的永远是看电源灯和网口灯而不是直接部署业务。我一般拿到Linux开发板后的最小验证顺序是先看串口能不能打印Uboot日志再进内核看文件系统能不能起来然后用gpio工具拉高一个LED最后测试按键中断。串口能打印说明CPU、DDR、存储链路基本OKLED能控制说明设备树和驱动链路OK按键中断能触发说明中断子系统和GPIO输入方向配置OK。这三步全通过这块板子才算真正“握在手里”了。4.2 ESP8266与STM32通信AT指令实战把两块开发板组合到一起是很多人玩开发板的终极乐趣。经典组合就是ESP8266配STM32。ESP8266负责WiFi联网STM32负责业务逻辑二者通过UART交换数据几乎是智能硬件原型的最低成本方案。接线方面要记住几个关键点STM32_TX接ESP8266_RXSTM32_RX接ESP8266_TX交叉连接GND必须共地两边电压基准不一致通信必乱码如果STM32板子是5V逻辑需要加电平转换或者串电阻分压ESP8266的IO不是5V容忍ESP8266的CH_PDEN引脚要接3.3V否则模组不工作IO0在正常运行模式下要悬空或接高电平强烈建议先用USB转TTL小板单独把ESP8266调通再接到STM32上。USB转TTL小板接线比较简单小板RX接模组TX小板TX接模组RXGND接GND模组VCC接3.3V。串口工具设为115200发送AT返回OK就说明模组活着。然后依次测试AT ATCWMODE1 ATCWJAP你的WiFi名,你的WiFi密码 ATCIPSTARTTCP,服务器IP,8080 ATCIPSEND5这里最容易踩的坑有这几个一是AT指令后面必须有回车换行很多新手直接用串口助手发送“AT”不带\r\n模块没有任何反应二是ESP8266上电后需要大约300到500毫秒完成内部初始化STM32如果上电立刻发AT大概率得不到响应正确做法是等待1到2秒再发第一条AT指令三是ESP-01模块的GPIO2默认上拉到3.3V如果你在这根引脚上接了LEDLED会把电平拉低导致模组启动模式异常表现出来就是WiFi一直启动不了。这个问题非常隐蔽很多人排查半天以为是EEPROM坏了其实只要把LED去掉就正常。STM32侧的程序本质上就是“发送AT指令、等待串口返回、解析返回结果”的状态机。记得开串口中断接收不要用delay死等。解析的关键是找到“OK”、“ERROR”、“IPD”这些关键字。接收数据时用环形缓冲区避免丢字节也能减少主循环的阻塞时间。调通一发一收之后再往MQTT或者HTTP上扩展就顺理成章了。4.3 在Linux开发板上用用户空间控制外设STM32MP157、T113、RK3506这些跑Linux的板子控制IO和控制裸机完全不同。裸机可以直接操作寄存器Linux下必须通过设备树描述硬件资源然后再用内核驱动或者用户空间工具去访问。对大部分调试场景用libgpiod就够了不需要自己写内核模块。例如设备树里配置好GPIO后在板子上执行gpiodetect gpioinfo gpioset gpiochip0 121 gpioget gpiochip0 13gpioset和gpioget操作的是gpiochip下的line序号不是物理引脚号一定先用gpioinfo把对应关系查清楚。这个教训我吃过几次亏之前给正点原子Alpha开发板调试LED时以为gpiochip0的第12号line就是GPIO5_IO03实际上不同gpiochip映射顺序不一样查错编号后我对着一个不存在的line号调了半天还怀疑设备树写错了。运行Linux的板子还会涉及串口、I2C、SPI等接口。设备树描述好之后用户空间可以通过/dev/ttySx、/dev/i2c-N、/dev/spidevX.Y访问这些外设。先用简单的读写工具验证链路比直接堆代码要快得多。另外像小智开发板这种主打离线语音交互的板子本质也是麦克风阵列加音频Codec加WiFi模组的组合调它的思路依然是“电源—串口—网络—音频”这样一条链路不要被花哨的业务功能带偏底层链路不打通业务跑不起来。4.4 同时管理多块开发板时的调试习惯当你的桌面上同时摆着ESP32-S3、ESP8266、STM32MP157、正点原子Alpha、Air202 S6这些板子时调试就不再是单板问题了而是多板协同。我的建议很简单每块板子配独立的电源开关至少准备一个直流电源或者多通道USB测电设备上电先看电流。ESP8266正常工作电流在70到80mA量级WiFi发射瞬间能到200mA以上如果电流明显偏大先查接线的短路和模块供电电压不要一上来怀疑程序。多板之间的通信也要注意电平域。STM32F103的普通IO是3.3V本身可以被容忍5V输入ESP8266、ESP32都是3.3V逻辑如果拿5V单片机的TX直接去接ESP8266的RX短时间可能没事长期工作一定会加剧模组老化。方波信号在这种电平不匹配下还会表现为时好时坏的乱码非常难排查。最稳的方案就是买几个几块钱的双向电平转换模块一块钱一个能省下一晚上的排错时间。同时多板共地问题永远是第一位UART、SPI、I2C无论什么协议不共地就谈不上通信电平参考点都不一样收到的数据只能是废的。5. 常见问题排查与避坑实录5.1 板子完全没反应电源灯不亮或电流异常这个先于一切代码问题处理。用万用表蜂鸣档量电源对地是否短路再看电流表读数。如果上电瞬间电流直接超过正常值立刻断电检查有没有焊锡连锡、元器件装反、电源正负极接反。USB线供电也要注意有些电脑前置USB口供电能力弱带不动ESP32-CAM这类峰值电流大的板子表现为启动到一半就重启循环。换后置USB口或者独立电源适配器立刻正常。5.2 串口完全没输出或者全是乱码我见过太多例子串口没输出不是硬件坏了而是下面几个环节出了问题板卡的调试串口接错了比如正点原子Alpha开发板有多个串口调试串口固定是接在usb转串口芯片上的那组不是随便找一组排针就行波特率设置错误ESP32系列常见115200Air202 S6根据固件版本可能是9600看到乱码先逐一试一遍USB转串口线是劣质线或者不支持数据换线测试板卡和USB转串口工具没有共地电压基准不一致也会出现“能收到但全乱码”的现象TTL电平和RS232电平混用标准RS232的负逻辑信号接到TTL串口上要么无输出要么烧芯片排查时最有效的方法是拿一个已知好的USB转TTL模块只接TXD、RXD、GND三根线把板卡当作纯粹的被测对象减小变量。5.3 Ubuntu下识别不到开发板USB设备插入USB设备后lsusb没有反应先换线、换usb口、换电脑。如果lsusb有枚举但/dev下没有ttyUSB0检查内核有没有加载对应驱动CH340在部分内核里需要手动安装ch341驱动模块。如果之前用过其他串口工具还可能发生串口编号被占用的情况用ls /dev/tty*查看或者直接拔掉其他USB串口设备再试。权限问题则用2.2节里的dialout组方案解决。5.4 设备树编译成功但外设就是不工作编译成功只代表语法没问题不代表配置正确。常见原因包括内核没编译对应的驱动、引脚复用冲突、设备树里的寄存器地址或中断号写错、某个引脚的电气属性配置不对。启动后第一时间用dmesg搜关键词比如led、gpio、i2c、spi看内核启动过程有没有报错。另外一个容易被忽略的点是有些板子的Bootloader会先解析一次设备树然后把设备树传给内核如果Bootloader的fdt_file环境变量指向了错误的dtb文件就算你换了新dtb启动时用的还是旧的检查uboot环境变量非常重要。5.5 管理地址打不开、NFS挂载失败ESP32-CAM的管理地址打不开本质是不会看IP。通过串口日志找到IP后需要确保电脑或手机和开发板在同一个局域网。开了AP热点就连接到热点用路由器就插到同一台路由器下。如果板卡连接上了WiFi但一直获取不到IP检查路由器DHCP设置和WiFi频段很多老模组不支持5G频段只能用2.4G。NFS挂载失败时先在板卡上ping主机IP通了再看NFS服务状态然后确认共享目录是否配置了rw权限最后注意exports文件里用到的路径要和实际共享路径完全一致。还有一个容易踩的是防火墙Ubuntu新安装默认启用ufw不关掉或者不加nfs规则板卡侧会一直报超时。调试NFS最实用的技巧是先在主机本机mount自己导出的目录验证NFS服务本身是好的再让开发板去挂。这样可以快速把问题定位在服务端还是客户端。结尾整个流程写下来其实核心就一句话开发板本身不复杂复杂的是你跳过了中间某个步骤然后在后面花几倍时间去弥补。我见过太多新手跳过原理图阅读直接接线结果不断返工也见过很多人不在Ubuntu环境上对齐SDK版本最后编译错误堆成山。我个人现在的做法是拿到一块新板子先忍住所欲望认认真真把硬件信息、SDK版本、启动方式、串口输出这四件事跑通再谈做功能。最后再分享一个小技巧每次拿到新板子都用一本专用笔记本记录串口波特率、管理地址、默认登录密码、SDK版本和踩坑记录。这本“板卡日志”在项目进行到多板联调时价值比什么高级调试器都大。希望这篇流程能帮你在开发板的路上少走一些弯路早点把手里的板子真正跑起来。