摘要:在开发新一代嵌入式系统时,越来越多的主控系统级芯片(SoC)正在从单一内核转向多内核与异构架构,这促使系统研发工程师更希望得到一个能“覆盖快速变化”的统一开发平台。工欲善其事必先利其器,系统开发的新挑战正在迫使研发团队重新思考工具的能力、形态和管理,因为这本质上也是研发效率的一部分。这些挑战也传导到领先的开发工具厂商,并推动其一方面持续提升开发平台的功能和性能,另一方面其商业模式也开始从“一次性买断”转向持续的创新支撑服务,从而最终让开发工具成为研发团队可以持续依赖的“定海神针”。
嵌入式系统领域内的竞争正在变得日趋激烈,一方面各种新的控制器、处理器和加速器被集成到主控SoC中,另一方面客户需要研发团队能够更加敏捷地协助他们去开发新功能和充分发挥主控性能,第三是终端市场的生态化运作使相同的功能需要被用于诸如家居、汽车和穿戴等多种功能安全环境及不同功耗等制约场景。这些要求对研发人员来说,除了找到合适的主控芯片,开发工具是否好用、是否稳定、是否能跟得上芯片变化,也成为了最现实的问题,也是真正影响项目进度的关键。过去几年,嵌入式研发人员面对的最大变化之一,就是芯片架构和系统复杂度的快速演进。
从单一内核,到多内核与异构系统成为常态
以往项目的开发场景相对简单:一个MCU、一个内核、一套工具链,问题基本都发生在此范围内。但今天的情况已经明显不同:
• Arm仍然广泛存在,并持续演进高端系列
• RISC-V正在快速进入主流芯片路线
• 部分厂商仍在使用或扩展自有内核
• 多核、甚至异构多核架构越来越常见
在一颗SoC芯片中,同时存在不同类型内核、不同软件子系统,已经不再是少数高端产品的特例,而正在成为越来越多项目的现实需求。对于研发人员来说,软件复杂度的提升速度,远远快于传统单核项目复杂度的增长速度。
当系统进入多核或异构架构后,问题往往不再是“代码能不能跑”,而是:
• 不同内核之间如何协同开发
• 不同软件模块如何并行调试
• 问题到底出在哪里
• 性能、实时性和稳定性如何同时满足
如果开发团队需要为不同内核分别使用不同工具链,实际体验往往是:
• 工具切换频繁,开发效率下降
• 调试方式不一致,问题定位成本上升
• 系统集成阶段风险显著增加
因此,随着芯片复杂度的提升,开发平台本身的统一性和系统级能力,和编译性能同样重要。
研发人员更希望的是:一个能“覆盖变化”的统一平台
站在研发人员的角度,理想的开发平台应该具备几个特征:
• 不依赖于单一内核或单一芯片选择
• 能够在同一环境中支持多种内核架构
• 在架构升级或芯片切换时,尽量减少额外学习和迁移成本
IAR平台正是基于这样的研发需求进行设计。通过统一的开发环境,研发人员可以在同一套工具体系下,完成不同内核的开发、编译、调试和分析工作,而不必随着芯片变化频繁更换工具链。这种一致性,在多核和异构系统开发中尤为重要。当系统规模扩大、复杂度提升时,研发仍然能够掌控软件行为,而不是被未知的工具问题牵着走。
工具管理,本质上也是研发效率的一部分
很多研发人员都经历过:项目进行到一半,突然发现某个工具版本不一致、某个授权不够用,甚至不清楚当前项目到底“该用哪一套工具”。当授权类型复杂、工具体系分散时,这些问题几乎不可避免。
这些开发过程中的痛点也传导给了领先的开发工具提供商,也迫使他们去快速响应研发人员的需求,以新的工具产品形态和服务模式让其客户实现投资收益和开发效率的最大化,开发工具平台化成为了领先嵌入式开发团队与工具提供商最新的协同方式。以领先的嵌入式开发工具提供商IAR为例,通过平台化的方式,该公司将其开发工具的使用和管理进行了简化,让研发人员不必频繁关注工具本身,而是将注意力集中在软件开发与问题解决上。
为什么开发平台需要持续演进,而不是“一次性买断”
从研发人员视角来看,开发工具并不是一次性投入,而是伴随芯片和软件长期演进的基础设施。芯片在变,内核在升级,多核和异构设计不断出现,应用场景也在推陈出新,如果工具无法同步演进,研发团队最终仍然需要为新需求引入新的工具体系。这不仅消耗了嵌入式系统厂商的经济资源,而且开发团队还需要投入大量的精力去寻找、评估、学习和用好仅能在一个阶段解决特定问题的工具,或者深陷开源工具或者厂商工具集成到整个开发环境的事务性工作中。
IAR通过平台化的交付方式,将对主流内核的支持、工具能力的演进以及未来架构的适配,统一在同一体系中。对研发人员而言,可以在不确定的技术环境中,保持相对稳定的开发体验:
• 不必为每一次芯片变化重新更换工具
• 不必为不同内核反复学习不同开发环境
• 可以在同一平台上,持续应对未来的不确定性
写在最后:让工具成为研发的“定海神针”
在嵌入式开发中,芯片和架构的变化往往不可避免。真正可控的,是研发团队选择什么样的开发平台作为其长期基础。一个能够覆盖多内核、适配复杂系统、并持续演进的平台,可以让研发团队在面对变化时更加从容。