ST公司的产品虽然本身就很丰富, 但是最有人气, 对市场影响力最大的当然是Cortex-M系列. 从几K Flash的Cortex-M0系列到高性能的Cortex-M7系列, 还穿插着无线系列,低功耗系列, 外挂SPI Flash作为Code空间的跨界系列, 几乎都是相应市场上的佼佼者。
作为蓝蝴蝶粉的一员, 我也总结过STM32脱颖而出的原因:
1. 以市场中心的产品迭代速度, 敏锐地抓住了Cortex-M内核替代8位,16位内核的机会。
2. 产品多样性, 各种应用场景几乎都有针对性的产品。
3. 开发生态建立, 包括软件库的匠心制作, 开发平台的革命性创新(CubeMX这个工具节省了我大量开发时间)。
这中间第三点最重要, 算是竞争力壁垒, 应该是能占据市场第一的最主要的因素。
当然STM32MP1推出之前, ST公司在MPU市场是缺位的. 之前最高性能的H7系列可以跑到400多MHz, 可以外挂SPI Flash。但是不能运行复杂操作系统, 天花板由Cortex-M内核本身的定位决定, 依然不能算是MPU。所以MP1系列的推出, 填补了这一缺憾。因为ST公司在STM32产品上积攒的开发生态经验和优势, 使得程序员们对MP1抱有更高的期望。要知道嵌入式芯片从来不是以绝对的硬件参数论英雄的。我们见过很多硬件参数非常优秀的芯片, 在市场上表现一般。原因无非就是开发难度大, 公开资料不全, 配套的工具不友好等等。所以我称STM32MP1为强化的STM32,就是希望ST公司在填补自己产品版图的同时, 同时提高整个嵌入式开发群体的开发技能与效率,共同合作创造更有意义的产品。
板子
还是按照俗套先来看看板子
(点击图片可放大查看)
这个系列板子有两个版本: STM32MP157A-DK1和STM32MP157C-DK2, 本文主角是前者. 两者差别:
1. DK1与DK2的主控芯片不同。STM32MP157AAC和STM32MP157CAC,前者定位比后者低一点:
1.1 157A/157C的Cortex-A7最高频率为650MHz。
1.2 157A缺少157C拥有的: AES/DES/RSA硬件加密单元, SecureBoot功能.
2. DK2配有触摸屏幕, DK1没有。
3. DK2的板子上焊接有WiFi/Bluetooth模块, DK1这里是空的。
除此之外两个板子基本是一样的, 板子的布局也是相同的。如果有焊接高手可以换两个板子的主控芯片也是可行的。所以两者的Demo程序绝大多数也是可以共用的。
芯片
这个芯片的资源比较丰富, 定位是工控/高端消费类应用。这里作者也不照抄数据手册了,感兴趣的可以去下载看看,它的主要内核是双Cortex-A7+Cortex-M4,还有Neo