使用哪个ARM Cortex M产品线?

时间:2018-11-26 01:36:49

标签: arm microprocessors

我正在尝试选择一个特定的公司ARM Cortex M微处理器产品线来与我想做的项目一起使用。既然所有公司都从ARM控股公司获得了架构许可,我想知道品牌之间的硬件差异有多少?我认为文档和软件的生产率以及整体经验可能是决定因素?

我尝试过一家公司,但缺少他们的文档!数千页的绒毛说明了它们制作的是什么奇妙的东西,但是关于如何使用它们的信息却很少。

大多数情况下,我正在寻找好的文档。我不需要不编译也不使用神秘的宏和函数的无穷无尽的示例程序!一条包含微处理器和2个ADC的生产线不仅可以将通道复用到1个ADC,还可以,但是我可能最终会使用外部ADC。

有人愿意说出他们的建议和原因吗?

顺便说一句:我的历史是在MS Visual Studio中为机床HMI以及运动控制器编程C ++,C#。

在此先感谢 克里斯

1 个答案:

答案 0 :(得分:4)

您的大多数应用程序与ARM和cortex-m无关。每个芯片供应商都会在手臂核心周围添加自己的外围设备(有时是购买的)。您的大多数代码都在与外围设备通信。处理器核心不制造芯片,处理器核心以外的东西构成芯片。

您需要进行研究,stackoverflow并不是为您做的事情。您应该能够找到具有所需外围设备数量的部件列表,而与使用的处理器内核无关。尽管特定的芯片供应商在其产品线中可能具有不同的特征,或者具有不同的gpios,adc等,但是您仍然可以对供应商有所了解,而不必在缩小范围时查看该列表中的每个部分。

没有供应商拥有出色的文档,有些供应商的文档却很差,这是练习的一部分。它们全都提供了库,同样的交易,没有人拥有好的库,有些没有坏的库,但是库的目的是隐藏细节。您需要做功课,看一下文档,看一下该代码,可以使用它吗,可以替换它或修复它,还是最好转移到其他供应商或同一供应商以及替代库。 >

1%的工作是编写应用程序,其余99%的工作是阅读文档并进行实验,以使外围设备执行您想要的工作。

具有相同处理器核心名称的相同品牌或不同品牌对于便携性没有任何意义。如果您阅读arm文档,就应该阅读任何处理器核心文档,以了解您正在评估或选择的任何部件,那么即使7个供应商的产品都带有cortex-m0,该内核也具有编译时和运行时选项,每个供应商都可以选择使用cortex-m0使代码或性能与其他芯片不兼容。但是无论如何移植的代码量只占项目的很小一部分。您的大多数项目都是非处理器核心的东西。

注意ARM制造了许多不100%兼容的cortex-m内核。如果您认为需要使用ARM内核,那么请缩小所需范围,这将在可用芯片范围内缩小选择范围。

内置ADC可以节省芯片,具体取决于您想要的规格,精度或性能,您可能最终会选择一个外部ADC,如果ADC和其规格是您的主要选择,则使特定的微控制器不那么重要要求。

软件生产率与处理器内核也几乎没有关系。供应商将把IDE与编译器和库拼凑在一起,因为人们期望这样做不会使它们中的任何一个变得无用或有生产力。单独的文本编辑器会与开发人员一起走宗教和政治的道路,没有一个单独的编辑器或环境适合每个开发人员,开发人员有自己的工作方式,有些兼容,有些则不兼容。一些开发人员可以改变一些偏见。您很少需要使用它们提供的工具。

我们无法为您选择零件,我们也无法选择您的开发环境。那不是堆栈溢出的目的。

到目前为止,编写问题和等待答案所花费的时间,您可能已经多次浏览了所有主要供应商的文档。希望您不要在第一个之后停下来。