第56章 联调(2 / 2)
鼎新的技术总监在联调第十天的时候私下跟王建平打了个电话。左城不知道他说了什么,但第二天王建平给左城发了一条消息:“你们的联调风格让我的人学到了不少。以后有机会多合作。“
七月底,全链路联调的最后一项测试——七十二小时连续稳定性运行。
左城在测试开始前检查了每一项参数。一百二十路卫星信號仿真输入,四个核心模块加终端协同接口全部在线,数据从信號接收端一路流到终端协同输出端,中间不能断、不能错、不能延迟超標。
他按下了启动键。
第一个二十四小时——零异常。
第二个二十四小时——零异常。
第三个二十四小时的第十九个小时,也就是总运行时间第六十七个小时——系统日誌里出现了一条警告:参数共享引擎的环形缓衝区版本號发生了一次迴绕。
左城的心提了一下。
他立刻查看详细日誌。版本號是三十二位无符號整数,理论上的迴绕周期是四十多亿次写入。但实际运行中参数更新频率远高於设计预期——因为全链路联调时所有模块的参数请求匯聚在一起,更新频率是单模块测试时的五倍。
版本號本身的迴绕不是问题——无符號整数的迴绕是自然的数学行为。但如果有任何模块在比较版本號时用了有符號比较,迴绕的瞬间就会出现逻辑错误。
他用五分钟在代码里搜索了所有版本號比较的语句。
七处比较,六处用的是无符號比较。
第七处——管道调度器里的一个边界检查函数——用了有符號比较。
方泽写的代码。
左城没有叫方泽,自己把那行代码改了。有符號比较换成无符號比较,一个单词的差异。
改完后他重启了测试。
最后五个小时——零异常。
七十二小时稳定性测试通过。
办公室里响起了一阵安静的掌声。和三个月前架构验收时的掌声不同,这次的掌声带著一种劫后余生的释然。
左城站在硬体平台前,看著屏幕上稳定跳动的数据曲线,深呼了一口气。
八月一號。样机交付。
他做到了。 ↑返回顶部↑
七月底,全链路联调的最后一项测试——七十二小时连续稳定性运行。
左城在测试开始前检查了每一项参数。一百二十路卫星信號仿真输入,四个核心模块加终端协同接口全部在线,数据从信號接收端一路流到终端协同输出端,中间不能断、不能错、不能延迟超標。
他按下了启动键。
第一个二十四小时——零异常。
第二个二十四小时——零异常。
第三个二十四小时的第十九个小时,也就是总运行时间第六十七个小时——系统日誌里出现了一条警告:参数共享引擎的环形缓衝区版本號发生了一次迴绕。
左城的心提了一下。
他立刻查看详细日誌。版本號是三十二位无符號整数,理论上的迴绕周期是四十多亿次写入。但实际运行中参数更新频率远高於设计预期——因为全链路联调时所有模块的参数请求匯聚在一起,更新频率是单模块测试时的五倍。
版本號本身的迴绕不是问题——无符號整数的迴绕是自然的数学行为。但如果有任何模块在比较版本號时用了有符號比较,迴绕的瞬间就会出现逻辑错误。
他用五分钟在代码里搜索了所有版本號比较的语句。
七处比较,六处用的是无符號比较。
第七处——管道调度器里的一个边界检查函数——用了有符號比较。
方泽写的代码。
左城没有叫方泽,自己把那行代码改了。有符號比较换成无符號比较,一个单词的差异。
改完后他重启了测试。
最后五个小时——零异常。
七十二小时稳定性测试通过。
办公室里响起了一阵安静的掌声。和三个月前架构验收时的掌声不同,这次的掌声带著一种劫后余生的释然。
左城站在硬体平台前,看著屏幕上稳定跳动的数据曲线,深呼了一口气。
八月一號。样机交付。
他做到了。 ↑返回顶部↑