第42章 交付
八月八號,天穹项目第三个里程碑的最终版本进入联调阶段。
全模块联调是整个项目最凶险的环节——四个独立开发的功能模块第一次在同一块嵌入式板卡上同时运行,任何一个模块的微小问题都可能引发连锁反应。左城在联调开始前做了三天的预检,把每个模块单独跑了一遍確认没有隱患,然后才下令合併。
合併当天,办公室里所有人都在。
方泽坐在开发板前面,手指悬在键盘上方,屏幕上是四个模块的启动日誌。左城站在他身后,陈浩和张磊一左一右。
“开始。“左城说。
方泽按下回车键。
四个模块的日誌同时开始滚动。信號接收模块率先完成初始化,解调模块紧隨其后,信道估计模块加载预测模型,波束管理接口进入待命状態。
前三十秒一切正常。
第四十一秒,屏幕上跳出了一行红色警告。
“波束管理接口报超时。“方泽的声音绷紧了,手指飞速敲击键盘调出详细日誌,“信道估计模块输出的预测数据包有一个栏位的格式和波束管理接口的期望格式不匹配——差了一个字节对齐。“
一个字节。
整个系统因为一个字节的对齐差异卡住了。
“是我的问题。“左城立刻认领,“信道估计模块的输出结构体我上周改过一版,加了一个状態標誌位,结构体的总长度变了但我忘了同步更新接口文档。方泽那边的波束管理接口是按旧文档写的。“
“改接口文档还是改结构体?“方泽问。
“改结构体。把状態標誌位从四字节压缩成一字节,用位域实现,结构体总长度保持不变。“左城已经在脑子里过完了方案,“给我十分钟。“
他坐到自己的工位上,改了七行代码,重新编译,替换模块。
第二次联调。
这次跑了四分钟,没有报错。方泽开始加负载——模擬一颗卫星掠过地面终端上空的全过程,从捕获信號到稳定跟踪到切换下一颗卫星,全程十二分钟。
十二分钟后,屏幕上的所有指標全部绿灯。
“cpu占用率峰值百分之六十八,內存峰值二百八十三兆,信道预测延迟最大一点七毫秒,波束切换成功率百分之百。“方泽一项一项念出数据,声音越念越稳。
张磊在旁边轻轻吐了口气。
“別急著鬆气。“左城说,“跑七十二小时稳定性测试。“
七十二小时。和当初在蓝湾通信做基站测试时一样的时长。
接下来三天,办公室里有人二十四小时值班。左城排了班表——他自己守前两个夜班,方泽守第三个夜班,陈浩和张磊白天交替盯著。
第一个夜班平安无事。左城靠在椅子上半睡半醒地盯著监控屏幕,系统运行得像一台精密的钟表。
第二个夜班的凌晨三点,系统出现了一次內存波动——第二级环形內存池的占用率突然从百分之四十跳到了百分之七十五,持续了大约二十秒后自动回落。
左城查了日誌,发现是模擬测试脚本在这个时间点切换了一个极端场景——暴雨叠加多星切换,信道估计模块瞬间產生了大量的临时计算缓存。三级內存架构的第二级成功吸收了这个峰值,没有溢出到第三级,系统没有受到任何影响。
他在测试日誌里记下这个事件,標註为“预期行为,无需修復“。
第三个夜班结束时是八月十一號早上八点。
方泽从椅子上站起来伸了个懒腰,转过头对左城说了两个字。
“过了。“
本章未完,点击下一页继续阅读。