STM32 MPU 开发者的十大工作准则
▲ 点击上方 关注STM32
近期,主频为800兆赫的STM32MP1旗舰型重磅发布,与2019年推出的主频为 650MHz STM32MP1 入门级系列全引脚兼容,持续扩展MPU产品系列。
STM32MP1 是STM32的首款MPU,以其创新的异构系统架构,将MPU与MCU合二为一,兼顾运算处理能力和实时控制性能,令产品更实用。新的旗舰型产品系列,功能更强大,满足工业级产品需求,占空比为 100%,结温范围从 -40 ºC to 125 ºC,非常适合24/7(7天24小时)的不间断应用。这意味着STM32MP1系列可以服务于更多更广的应用场景,即使在恶劣工作环境,也能正常工作。
STM32的规模化应用,很重要的原因是因为生态做得好。因而,我们不应该只关注硬件的性能指标,还需要在STM32大生态中,更深入地学习了解软件开发工具,更大范畴地与生态合作伙伴碰撞交流,这样我们在使用MP1设计产品时,才能更高效更有针对性。
MP1上市已经一周年了,我们将这一年的经验归纳为十条准则,与开发者分享,在项目立项或开始之时,应多考量前四条准则,而要想成功交付项目,就需要遵循后六项准则。这十条准则将帮助MCU开发者或者团队向MPU转型;而对于传统 MPU 用户,我们可以通过提供垂直应用解决方案为他们独辟蹊径。
1
不要低估软件的重要性
▲ 从STM32MP1 探索板开始学习MPU
2
不能忘记你的软件
在采用 MPU 开发产品时,软件起着至关重要的作用。代码库不仅仅是开发团队的成熟经验积累,代码库的移植复用会为团队带来很高的经济效益。例如,对于采用STM32MP1进行开发设计的公司来说,在优化软件的同时,还能够通过软件移植快速推出产品。采用 MPU进行开发的公司可以通过软件快速更新其产品应用程序,也就是说,开发团队先行推出产品验证市场,然后快速优化,从而更快地降低成本、更迅速地改善用户体验。因此,工程师在项目之初,必须认真规划产品快速更新的路线图。
3
不应低估您的PCB设计
基于MCU的PCB设计,我们通常需要处理二到六层,虽然这样的定制设计并不简单,但至少是可行的;而MPU的PCB设计则要复杂得多。开发团队往往需要处理八层或更多层,还要应付那极为复杂的电源管理IC,处理难度颇高的高速外部RAM。实际上,对 DDR 模块进行采样,同时并行处理多达 32 路信号,以及由此带来的开发难度,即使是最资深的老炮儿工程师,也要面临非常大的挑战。
ST最新提供DDR工具可以自动输出特定的配置参数,这个自动配置功能是我们为尽力降低MPU开发难度而设计的。与此同时,我们与系统级模块(SoM)供应商和系统级封装(SiP)合作伙伴通力合作,确保工程师获得有效帮助来解决这一难题。来自MCU世界的工程师必须明白MPUPCB设计是一个完全不同的怪兽。STM32MP1 有助于降低 PCB 成本,同时由于其0.5 mm / 0.8 mm 间距,通过避免过孔来减少 PCB 层数。
4
了解工程师做好开发的前提
5
不能忽视您的SoM和SiP合作伙伴
STM32MP1 有许多非常独特的优势,其中之一就是系统级模块(SoM)厂商和系统级封装(SiP)合作伙伴支持MP1模组的生产制造,可提供出色的开发解决方案。来自 MCU 领域的许多公司和团队,有时会过快地取消这些服务,认为如果内部处理设计操作,可以节省资金。然而,设计一个类似SOM的产品,由于需要DDR调谐并适配板级支持包,这样复杂的PCB设计周期可能需要4-6名工程师至少4至6个月的时间。即使不计算相关验证和生产费用,这样的运营方式将大幅推高成本。
某些团队可能不愿意与SoM或SiP供应商合作,仅仅因为觉得会产生高额的初始成本。但是在大多数情况下,通过雇佣一家公司来处理解决MPU固有的硬件复杂性,比从零开始设计制作PCB和开发板级支持包有更大的回报,我们要相信精细化分工。选择"系统级模块"的开发者,将获得更多的技术灵活性,以及本地支持,因为这样的设计经过了批量验证。选择"系统级封装"的开发者,通常原因是产品需要适合空间受限的应用环境。两种情况,最直观的受益是降低PCB设计生产成本,并允许进行四层板设计。因此,与SiP或SoM合作伙伴合作,团队得以专注于软件和独特功能的开发,这是项目规划实施的重中之重。
6
不要延迟产品发布
公司可能的最大陷阱之一是没完没了地推迟产品发布。延迟发布的影响通常比人们预期的更具灾难性。惯常情况下,产品延迟发布,要么是因为开发团队没有避开以前开发过程中踩过的坑,要么是没有正确地分配项目投入。采用 MPU开发的初始成本有时高于集成MCU 的成本,但在策略方面,首次在市场上为客户提供新解决方案更为重要。再者,MPU开发的软件复用会容易得多,即使调整了硬件平台,构建用户群持续更新设计也相对简单;MPU项目通常在初始启动后,能够更快地获得投资回报,硬件和软件的迭代更新也非常显著。尽管开发周期有挑战,任务艰巨,但回报更为直接。
7
不应忽视Linux社区
很多时候,公司在进行 MPU 项目开发时,会误判 Linux 版本的重要性。实际开发中,操作系统至关重要,而我们提供的OpenSTLinux版本可以满足大量的开发和工程需求,该版本中针对各种例程的三个软件包,为开发者带来极大的便利。Linux经过近三十年的发展,它的灵魂就是开源,也因此吸引了极为广泛的开发群体,名目多样的开源社区不仅可供开发者讨论交流技术问题,其中的开源代码也可以帮助开发者实现快速移植。2019年,我们还发布了STM32MPUAndroid版本,让开发者能够快速开发基于Android移动操作系统的三方应用程序,熟悉Android的开发者将因此节省大量开发时间。
我们为 Linux 开源社区贡献了大量代码,也因此脱颖而出,我们还将保证广泛的内核支持。Linux 社区验证了STM32MPU的所有驱动程序,我们支持类似 Yocto的项目,这类项目对在嵌入式系统上使用 Linux非常有帮助。另外,我们同时支持两个 Linux 内核。虽然当前的长期支持版本仍在修复和修补程序过程中,我们仍会通过升级和修复支持下一个 LTS 版本。这意味着每个LTS内核至少获得两年的支持,这样公司就可以毫无后顾之忧地更新其操作系统内核,而不必担心报错时的安全缺陷或缺乏支持。
8
不要放弃你的技术社区意识
MPU 的成功是因为开源的灵魂、团队协作的智慧,而提高效率的一个最佳方式就是与专家协作。因此,一个好的MPU开发商必须有很多合作伙伴来帮助工程师完成各种任务。2019 年,意法半导体的授权合作伙伴从 8 个增加到 27 个,在ST 合作伙伴计划中,也有大量团队协助设计人员使用 STM32MP1。例如,我们的一些合作伙伴提供模块来加速硬件开发阶段,而另一些合作伙伴在图形用户界面做了很多工作,极大地简化了在STM32MPU上创建图形界面的门槛,还有些合作伙伴为用户提供工程服务和培训。项目经理在评估MPU或者选型时,都应该考量这款产品聚合的社区生态及质量,而我们日益庞大的社区用户和越来越多的合作伙伴将坚定你选用STM32MPU的信心。
9
不要只埋头设计,更要理解市场
当我们展望新技术的未来时,会发现屏幕越来越普及,蓬勃增长的屏幕数量和种类正在改变这个行业。即使是最简单的白色家电或工业系统也开始有一个酷炫的显示器,并需要一个可以媲美手机流畅度的触摸界面。嵌入式系统中的 GUI 应用也呼之欲出,比以往任何时候都更加常见,逐渐成为电子产品的标配。而伴随着机器学习在边缘端应用的兴起,用户对联网产品有了更多期待。微处理器应用在小型系统上并不是新鲜事,但既要满足更强大的图形功能和更多的AI应用,同时仍保持低功耗,开发者必须考虑采用 MPU来实现。
▲ 触摸处处有屏的新世界
STM32MP1 最为出色的特点之一便是其 3D 图形 IP,可为人机界面(HMI)应用程序创建流畅、复杂的高品质图形环境系统。采用我们的面向用户界面设计开发的合作伙伴方案,可以令开发过程简单明了、工程师获得有价值的回报,同时也满足了最终用户的需求。
10
不要放弃MCU的起源
有一些公司开发微控制器解决方案已经很多年,对于向MPU应用迁移有很多顾虑,会觉得自己是外行,这样的转型会失去以往在MCU方面的经验和技术积累。STM32MP1可以化解这类用户的焦虑,MP1并不要求开发者放弃 MCU。得益于STM32MP1的独创异构系统架构,除了两个A7内核,还有一个Cortex-M4内核,它可以运行RTOS,开发团队可以复用电机控制等应用程序,只需将已在其他MCU上运行的电机策略和算法快速移植过来即可。而MPU带来的高计算吞吐量、大DDR 内存以及Linux 开发环境,与惯用的 MCU 应用程序同时呈现,开发者可以更为顺畅地适应这种转型。
© THE END