尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

ST联手Virscient,打通Connected-Car软件落地的最后一公里

ST联手Virscient,打通Connected-Car软件落地的最后一公里 看到ST意法半导体和Virscient围绕Connected-Car项目达成合作的消息我最大的感受不是“又一家芯片厂官宣”而是智能汽车软件开发的生态位终于开始有人认真补齐了。做嵌入式的对ST应该都很熟了车规MCU、传感器、电源管理随便一个Tier 1的项目里都能碰到几颗。但Virscient这个名字很多工程师可能没听过。简单说这是一家做电子系统设计、嵌入式软件和自动化验证的工程服务公司专门帮人把“芯片能跑”变成“整车上能用”。这两家凑到一起等于把车联网开发中最容易翻车的“最后一公里”从纸面推到了台面。这篇文章我想顺着这次合作把Connected-Car项目背后的技术分工、真正的开发门槛、以及这类合作对工程师团队到底意味着什么一次讲透。无论你是车厂的技术规划、Tier 1的软件负责人还是正在转行做车载软件的嵌入式工程师这篇都值得看完。1. ST和Virscient的合作本质是在补车联网落地哪块短板1.1 芯片原厂解决“算力底座”但不解决“系统能上车”的问题先说ST在Connected-Car里的位置。ST的车规产品线覆盖很广车身控制、网关、动力域、底盘域都有对应的MCU或SoC比较有代表性的是SPC5系列MCU和近年主推的Stellar系列后者是面向域控制器和智能网关的高性能车规SoC内部集成了多核ARM Cortex以及硬件安全模块HSM定位就是给“软件定义汽车”当算力底座。但芯片原厂的能力边界很清楚它交付给你的是“在一个PCB上能启动、能跑示例程序”的硬件平台而车厂和Tier 1真正需要的是一套“在整车上能稳定运行、能通过功能安全认证、能持续OTA更新”的软件系统。这两者之间隔着一整个工程化阶段。这就好比ST给你一套世界顶级的乐高零件但没人帮你照着图纸拼成一辆能上路的车更没人帮你做碰撞测试和联调。Virscient这种工程服务商干的就是“拼车测试跑耐久”的活。1.2 Virscient这类角色到底是来做什么的从公开信息和行业惯例来看Virscient的核心能力集中在几个方面嵌入式系统软件架构设计、AUTOSAR包括Classic和Adaptive适配、驱动与BSP开发、自动化测试工具链搭建以及从SIL软件在环到HIL硬件在环的测试体系落地。放在这次合作里最合理的推测是Virscient会基于ST的Stellar系列芯片帮OEM或Tier 1完成软件平台的集成适配和服务化封装。说人话就是让上层应用开发者不用关心“底层寄存器怎么配”“CAN/CAN FD收发中断怎么处理”“EthSwitch驱动是不是有坑”直接调用一套稳定、符合AUTOSAR接口规范的服务就可以开发业务功能。这一点在车联网项目里尤其关键。Connected-Car功能的典型特征是“跨域、高频、持续演进”远程控制、远程诊断、OTA升级、V2X场景、大数据上报每个功能都要同时跟车身域、座舱域、云平台打交道。如果没有一个稳定的中间软件层把芯片差异屏蔽掉应用工程师每天光修底层bug就够呛。1.3 合作模式的真实价值把“硅前验证”真正挪到应用层之前我个人的理解芯片原厂和工程服务商联手最大的价值不是“多了一个卖芯片的渠道”而是把验证链条往前拉。以前很多Tier 1的做法是芯片原厂给一套参考方案Tier 1自己找人做集成做完了再送去认证。这个流程的毛病在于发现集成问题往往已经到HIL阶段甚至实车阶段了返工成本极高。现在STVirscient的组合相当于在“芯片参考设计”和“Tier 1产品开发”之间加了一层工程验证保险。Virscient这种团队接触过大量嵌入式项目的坑他们在帮OEM做适配时会把底层问题提前暴露并修复OEM拿到的已经不是裸芯片而是一个相对成熟的软件初始环境。对于车规级项目这个“初始成熟度”的差异往往决定了整个项目的交付周期。2. Connected-Car开发的硬门槛功能安全、信息安全、OTA都不好惹2.1 功能安全不是挂在嘴上的流程而是每一行代码的约束车联网功能听着美好但落地时第一个要撞的墙就是功能安全。以ST Stellar这类芯片为例它通常支持ASIL-B到ASIL-D的功能安全等级但芯片支持归支持你在它上面写的每一行软件代码都在这个安全要求下运行。具体到开发实践意味着从需求阶段就要做TSCTechnical Safety Concept拆解把安全目标分解到软件组件、内存保护、时钟监控、通信校验上。比如远程控制车门解锁这个功能看起来只是云端发一条指令到车机但这条指令从T-Box接收、网关路由到BCM车身控制模块、BCM再驱动门锁电机每一跳都要有完整性校验要有超时处理要有fail-safe机制。任何一个环节出现“静默失效”那就是安全事故。很多从互联网转行来的工程师对此特别不适应在云上开发惯了哪见过每行代码都要跟ASIL等级挂钩的但这就是车规软件的日常。Virscient这类工程服务商在合作中做的事情很大一部分是帮OEM把这些安全机制落到代码层面而不是停在文档里。2.2 信息安全让Connected-Car变成了“带轮子的攻击面”有了联网功能汽车就不再是封闭系统。远程诊断、OTA、V2X这些功能本质上是把车辆暴露在网络上这时候信息安全就从“加分项”变成了“一票否则项”。当前主流做法是基于HSM硬件安全模块构建信任根包括安全启动Secure Boot、安全通信SecOC、安全存储和密钥管理。ST的Stellar系列SoC里内置了HSM这意味着硬件上具备做安全体系的条件但怎么把它用好是另一回事。比如Secure Boot的链式验证BootROM先验一级Bootloader的签名一级Bootloader再验应用签名每级都要有独立的密钥密钥还要存到HSM里而不是Flash里。这个流程里只要有一环配置不对整车直接变砖。再比如SecOC所有关键CAN信号要加MAC消息认证码这里涉及密钥的分发、更新、不同ECU之间的时间同步复杂度相当高。我在之前一个项目里就踩过这个坑因为网关和T-Box之间的SecOC主密钥更新逻辑没对齐导致车辆静止12小时后第一次唤醒时大批关键信号验证失败车直接进入“安全模式”仪表盘报了一堆故障。排查了三天最后发现是密钥版本号在ECS存储时被字节对齐问题搞乱了。这种问题没有信息安全经验的团队真的很难快速定位。2.3 OTA是“看起来简单做起来吓人”的功能OTA是Connected-Car里最有代表性的应用之一也是用户感知最强的功能。但OTA的真正难点不在“把包下载到车上”而在“如何确保升级失败后车还能开”。业界成熟的方案是A/B分区加上回滚机制。简单说就是系统里有A、B两份系统镜像升级时先写备用分区写完做完整性校验确认没问题才切换启动分区如果启动失败Bootloader自动回滚到旧分区。听起来简单但在Stellar这种异构SoC上做A/B分区涉及Flash布局、安全启动链的指向、U-Boot/固件的更新策略还要考虑意外断电、分区擦写坏块等极端情况。更要命的是OTA会打破原有的测试边界。以前ECU的软件版本是整车出厂时固化好的现在OTA可以让车辆软件在生命周期内一直变。这意味着每次发版之前测试团队都得用“版本组合矩阵”去适配不同硬件版本、不同Bootloader版本、不同Tier 1的BSP版本。这个矩阵指数级膨胀没有自动化测试撑着OTA项目迟早被测试量压垮。3. 这类合作真正难啃的骨头软件集成与自动化验证3.1 光有芯片能力不够关键是软件集成做得好不好回到ST和Virscient的合作我判断他们绕不开的一个核心战场就是软件集成——这两个字听着不性感但车联网项目里80%的延期都出在这里。什么叫集成问题举几个典型例子T-Box通过CAN FD跟网关通信但网关那边对CAN FD报文DLC数据长度代码的处理有bug导致超过8字节的报文被截断座舱域和智驾域通过以太网SOME/IP通信但服务发现Service Discovery的报文周期性发送时间配置不对导致域间调用偶发超时再比如Adaptive AUTOSAR环境下不同功能模块对CPU分区、内存分区的使用发生冲突最后表现为某个功能在亏电状态下随机重启。这些问题都不是单一模块能测出来的只有在“整包集成负载压力”环境下才会暴露。Virscient这种工程服务商的优势在于他们见过大量类似问题知道该在哪些环节加探针、埋日志、做故障注入。这些东西不是标准文档里能抄来的完全依赖项目经验积累。3.2 自动化测试把“人肉回归”变成“机器持续验证”车联网软件开发还有一个致命矛盾版本迭代越来越快但测试周期不能无限压缩。OTA让软件可以“随时发”但功能安全又要求“每个版本都验证充分”。这两个要求天然冲突唯一解就是自动化测试。我见过不少团队也买了HIL台架但“自动化”只停留在自动跑几个冒烟用例核心回归还是靠人手点效率极低。真正的自动化测试要有几层东西SIL软件在环跑在PC上的模型测试目标是快速验证逻辑正确性比如状态机、标定算法、诊断协议栈。这一层速度最快适合在CI持续集成里每次提交代码都跑。HIL硬件在环把真实ECU接在实时仿真器上模拟传感器、执行器、总线和故障注入。这一层负责验证代码在真实硬件上的行为比如Stellar芯片的IO时序、CAN收发器的工作状态。台架级联调把T-Box、网关、BCM、座舱域控制器全部串起来模拟量产车的拓扑验证跨域交互和系统级电源管理。我自己的习惯是把CI流水线分为三段式每次push跑SIL每天合并主干跑HIL每周跑一次全链路台架回归。只要能坚持这个节奏很多集成问题在发版前一周就暴露了而不是等实车路测才发现。这次ST和Virscient合作的价值某种程度上就是把“芯片原厂驱动级测试”和“Tier 1系统级测试”之间那段空白补齐。过去这段空白由OEM自己扛现在有专业团队在前面先筛一轮OEM拿到的是被验证过的软硬件底座。3.3 版本管理和工具链的配合决定了集成效率的底限集成效率的另一个隐形瓶颈是版本管理。在一个Connected-Car项目中涉及的工具链和组件非常杂ST的底层驱动、AUTOSAR基础软件BSW、Virscient的中间件、OEM的应用层代码、云平台通信SDK还有编译工具链和静态代码分析工具。每样东西都在更新如果不做严格的版本基线管理简直是灾难。我踩过最狠的坑是底层驱动库从版本1.2升级到1.3时改动了一个内存对齐的宏定义上层AUTOSAR通信模块没有重新编译结果项目里只有“异步接收超长CAN-FD报文”这个特定场景下会出现校验错误问题随机到根本没法稳定复现。最后靠Git二分定位把问题查出来白白消耗了两周。建议所有做车载软件集成的人都建立起一套严格的版本锁机制芯片驱动、BSW、中间件、应用代码必须用统一的版本号快照做集成测试任何一方升级都要触发整套回归不允许单独热更新某个组件。这件事听着简单但执行起来非常需要纪律性尤其是在多个供应商并行开发的场景下。4. 这次合作给行业和开发者释放的信号4.1 芯片原厂终于开始正视“软件是新的护城河”过去车规芯片厂商的商业模式很简单卖芯片按AEC-Q100认证提供参考设计剩下的交给Tier 1。但过去五年的变化十分明显Tier 1也做不完了车厂开始直接找芯片原厂要方案甚至要求芯片原厂提供“应用可运行”的完整软件环境。这次ST和Virscient合作等于公开承认了一个事实单一芯片原厂如果不联合专业的软件工程服务商不足以支撑OEM在Connected-Car项目上的复杂需求。这其实是个明智的选择——自己搭建一个全球化的汽车软件服务团队投入大、周期长不如跟已经有成熟实践的外部团队合作。对我们做嵌入式的人来说这也是一个信号只会写驱动、调寄存器的工程师竞争力正在下降能理解AUTOSAR、知道怎么做功能安全分析、会搭自动化测试链路的工程师才是车联网项目里最紧缺的人。4.2 Tier 1和OEM的角色正在被重新定义还有一层值得细品的变化OEM对软件的主导权在明显增强。以前OEM把需求包给Tier 1Tier 1出整套控制器硬件和软件OEM只做验收。现在软件定义汽车越来越明确OEM想要掌握OTA节奏、挖掘数据价值就必须掌握核心软件架构、数据接口和迭代闭环。但OEM又不一定有足够的嵌入式软件工程师所以“芯片原厂工程服务商”这种组合正好补上了OEM的能力缺口。OEM可以基于一套相对成熟的软件底座自己专心做差异化的应用层功能。我在几个项目里已经看到这种趋势非常明显Tier 1从“交钥匙方”变成了“平台供应商”而工程服务商从“纯外包”变成了“OEM的技术合伙人”。4.3 对开发者这是危机也是机会每次行业分工变化都有人焦虑“外包会不会取代我们”“工程服务商是不是来抢饭碗”。我的看法不一样这种合作不会让嵌入式工程师失业反而会让“真正的实力派”更加值钱。为什么因为当STVirscient这类组合把基础平台做得越来越成熟后车厂竞争的焦点会全面转向应用体验和功能创新。这时候需要的工程师是能基于平台快速开发创新功能的软件人才而不是整天纠结底层寄存器怎么配的人。后者正在被平台化消灭前者正在被平台化放大。换句话说别再把自己定位成“××芯片的驱动工程师”而应该把自己定位成“车载软件功能实现者”。底层平台越来越完善上限打开之后真正考验你的是怎么把用户需求翻译成稳定高效的软件功能。5. 如果让我在这个体系下做Connected-Car开发我会做好这几件事5.1 早期就锁定AUTOSAR版本和工具链不要中途变更这个建议是老生常谈但每次项目里都有人不听话。AUTOSAR版本一旦定了配置工具比如Vector DaVinci、EB tresos、ETAS ISOLAR就得锁定配套的BSW版本、编译器版本、调试器版本全部要建立基线。中后期最怕听到的话就是“要不我们升级一下EB tresos版本新版本Bug修复挺多。”拜托车规项目里工具链升级的代价往往比Bug本身还大。新工具生成的代码可能改了接口行为可能改了存储分布会导致已经做完的测试全部失效。按我实操下来的体会除非有明确的安全漏洞需要修复否则工具链版本坚持到首个量产版SOP之后再做评估是更稳的策略。5.2 把HIL环境当成一等公民从第一天就维护很多团队是先有代码、后有测试HIL台架是项目后期才搭的。这个顺序是错的。在车型项目定义阶段就该确定HIL环境的硬件配置——用哪个板卡、哪个总线接口卡、带不带故障注入单元——然后让台架跟开发同步演进。我习惯的节奏是第一版HIL环境必须在第一个可集成软件版本出来之前就绪哪怕先跑裸机驱动自测都行。这样每个开发增量都能立刻跑HIL而不是攒到季度末做“一次性大回归”。实测下来这个习惯能把集成问题的平均发现时间从“发布前两周”提前到“提交后两天”。5.3 信息安全设计别拖到量产前再做密钥管理要从架构阶段就开始这是Connected-Car项目里最容易被拖延的部分。业务功能都开发不完谁还有空管HSM、SecOC、Secure Boot但前面也说了信息安全设计一旦拖后后期就是架构级改动返工量巨大。正确做法是在项目架构阶段就把信任模型确定下来哪些ECU之间有信任关系哪些信号需要SecOC保护OTA包怎么签名密钥怎么配发、怎么轮换。这些不是安全团队自己关起门来定的需要跟软件架构师、网络架构师、运营团队一起定。我见过有的项目把“云端到车端”的整个安全链路拆成四段分别外包最后联调时才发现证书格式各自为政单是证书互认就扯了小半年。所以尽早让安全设计进入开发主流程。就算第一版产品只做最基础的安全启动和通信加密也要把这条链路完整跑通。后续加功能是在完整链路上叠加而不是在一个漏洞百出的地基上打补丁。5.4 给管理者的一点建议不要把工程服务商当“替补”要当“技术杠杆”最后特别想对负责项目规划的朋友说一句跟Virscient这类工程服务商合作最大的忌讳是把他们只当成“忙不过来的临时替补”。如果你只是把部分模块丢给他们做然后各干各的最后集成的痛苦一点都不会少。反过来如果一开始就让他们参与系统架构和技术选型发挥他们见过大量项目经验的优势这个杠杆效应是非常明显的。我在实际项目中感受最深的一点是外部团队带给你的问诊能力往往比单纯的外部交付能力值钱得多。他们能在项目初期就提醒你“这个方案在量产环境里有哪些坑”相当于花一次外包费用买了一份经验保险而且这些经验往往是你自己团队花几年才能攒出来的。写在最后Connected-Car越来越像一场长跑。芯片原厂、工程服务商、Tier 1、OEM每个人都守着自己的生态位但真正能跑通的项目靠的是彼此之间咬合得足够紧密。ST和Virscient这次联手本质上就是把“芯片能力”和“工程落地能力”焊在了一起。对于在行业里做技术的我们来说重要的不是猜测他们具体会交付什么产品而是看清楚一点软件定义汽车已经不再是一句口号它的每一个细节——安全启动、SecOC、A/B分区、自动化HIL——都在成为实实在在的工程要求。谁先把这些要求做成肌肉记忆谁就会是下一个周期里最大的赢家。
返回列表