3.4 海思SS928开发 - 烧写实战 - BurnTool网口Emmc镜像部署全解析
1. 环境准备搭建稳定的烧写工作台第一次接触海思SS928开发板的烧写工作时我花了整整一个下午才搞明白为什么网口总是连接失败。后来发现是网段配置这个基础环节出了问题。为了避免大家踩同样的坑我把环境搭建的细节拆解成几个关键步骤。硬件连接就像盖房子的地基必须确保物理连接可靠。你需要准备带有串口和网口的PC建议使用工业级USB转串口模块海思SS928开发板配套的电源适配器超五类及以上规格的网线传输稳定性直接影响烧写速度厂商提供的调试串口线注意TX/RX不要接反连接时有个小技巧先接串口再插网线。我遇到过热插拔网口导致PHY芯片异常的情况后来养成习惯在断电状态下完成所有物理连接。串口终端建议使用MobaXterm这类支持多标签的工具方便同时查看日志和操作。软件环境需要特别注意版本匹配BurnTool建议使用v5.0.10以上版本老版本对SS928支持不完善串口驱动要安装CH340或CP210x最新版关闭所有杀毒软件和防火墙这是血泪教训有次烧写失败就是因为Windows Defender拦截了网络传输在解压镜像包时建议直接在D盘根目录新建SS928_Image文件夹存放。我遇到过中文路径导致xml解析失败的情况所以路径越简单越好。解压后要核对这几个关键文件ivp928-emmc.xml分区表配置文件u-boot-ss928v100.bin引导加载程序kernel内核镜像rootfs_ss928v100_256M.ext4根文件系统2. 网络参数配置避开90%的连接问题刚开始用BurnTool时最让我头疼的就是网络配置。明明看着参数都设对了可工具就是连不上板子。后来总结出这套三次验证法基本能解决所有网络问题。PC端配置要注意三个细节使用ipconfig /all查看有线网卡的实际IP别被WiFi地址误导子网掩码建议用255.255.255.0太大容易冲突太小影响传输禁用其他所有网络适配器特别是虚拟网卡在BurnTool的PC与板端配置界面有几个容易忽略的点串口号要选对应COM口设备管理器里确认服务器IP点击刷新后要核对是否与有线网卡IP一致传输方式务必选择网口模式板端IP设置有个经典陷阱自动生成的IP可能已被占用。我的经验是先用ping 192.168.1.100测试默认IP是否空闲如果被占用将末位改成200-250之间的值必须确保与PC在同一网段前三位相同保存配置前建议先用ping命令测试板端IP的连通性。有次我配置完直接烧写结果卡在握手阶段后来发现是IP冲突导致板子根本没收到请求。3. 镜像加载与烧写执行加载ivp928-emmc.xml文件时新手常会忽略分区配置的检查。有次我直接点击烧写结果把原本正常的bootloader给擦除了。现在每次都会重点检查这几个地方分区表验证要关注fastboot分区是否勾选根据板子状态决定各分区size是否与flash容量匹配文件路径是否显示正确红色路径表示缺失在点击烧写按钮前建议断开板子电源工具会提示上电时机清空串口终端的历史日志准备好秒表烧写耗时是重要调试指标控制台交互时常见两种情况如果提示等待板子上电立即给开发板通电如果提示重新上电需快速断电再上电有个细节很多人不知道网口烧写时的进度条仅供参考实际要以串口输出的Writing to eMMC... done为准。我遇到过进度条卡在95%但实际已经完成的情况盲目重启反而会导致系统损坏。4. 典型问题排查手册烧写失败时别急着重试先按这个checklist排查现象1BurnTool无法连接板子检查网口指示灯是否亮起不亮可能是PHY未工作用arp -a查看板子IP是否出现在ARP表中尝试更换网线我就遇到过劣质网线导致握手失败现象2烧写中途报错查看串口日志最后的错误代码确认电源功率是否足够建议使用5V/3A以上电源检查镜像文件MD5值是否与厂商提供的一致现象3烧写成功但无法启动确认fastboot分区已正确烧写检查kernel和rootfs的版本是否匹配尝试通过串口中断uboot查看环境变量有次我遇到烧写后系统不断重启最后发现是xml里的分区size超过了实际emmc容量。现在每次修改分区表都会用这个公式校验总容量 ≥ fastboot kernel rootfs 预留空间(通常留10%)5. 高阶技巧定制化分区方案当需要调整默认分区时直接编辑xml文件比界面操作更高效。这是我总结的修改原则分区地址对齐必须注意起始地址要按4KB对齐0x1000的整数倍大小必须是擦除块大小的整数倍SS928通常为512KB相邻分区间要留1-2MB间隙预防越界写入例如要增加一个数据分区可以这样修改partition nameuserdata/name size50M/size start0x9000000/start file/file /partition重要提醒fastboot分区永远固定在0地址kernel分区必须紧接在fastboot之后修改后要用diff工具对比新旧xml文件我习惯在每次修改前备份原文件命名加上日期和修改说明比如ivp928-emmc_20240801_add_data_part.xml。这个习惯帮我找回了好几次误改的配置。6. 速度优化与批量烧写当需要烧写多块板子时这几个技巧可以提升效率网络优化方案使用千兆交换机组建独立网络设置巨型帧jumbo frame为9014字节关闭PC的节能以太网功能批量烧写流程制作包含完整路径的bat脚本BurnTool.exe -net 192.168.1.100 -xml ivp928-emmc.xml -auto用设备树工具记录每块板子的MAC地址搭建TFTP服务器实现无人值守烧写在产线测试中我通过预置不同的序列号到rootfs实现了单镜像多设备区分。具体是在/etc/device_id写入独特标识烧写后通过串口脚本自动校验。