全部学习汇总: GreyZhang/g_s32k344: A new MCU learning notes. I would try to use MCAL instead of SDK. (github.com)

这一份资料看完之后,感觉跟当前的MCU学习也不是有太大的关系。但是正好这个MCU的内核是ARM,看一下也是有益的。简单把自己看过的这份资料整理一下。

文章原文: What is an ARM processor?

首先说一下MCU,这个在一定程度上应该也算是SOC,片上系统。因为除了CPU之外,还额外带有一些其他的外设等模块。

而ARM本身更多还是CPU相关的部分,这个是在X86这样的CPU设计之后的产物。从历史看,催生这种CPU的因由是学院派们分析发现大部分的软件其实是用到了指令集中的一小部分,因此可以用这一小部分为主设计新的芯片。这就是所谓的精简指令及RISC架构,而之前指令比较全的类似X86的CPU则是CISC结构。RISC结构由于指令集精简,因此设计上会简单很多。而这种简单的设计,让CPU的物理结构有了很大的变化,各种变化可以导致执行效率的提升以及功耗的下降。如今RedHat在超融合等领域里面使用了ARM的芯片。

通常来说,ARM芯片有什么优点呢?一般主要是两个方面:第一,低功耗;第二,适用于小型的设备。其实这也不尽然,如今在大型机以及超算等领域也有ARM的应用。其实,RedHat的应用倒是这方面。

红帽子主要还是Linux贡献文明,而ARM Linux的应用之前比较流行的其实也有。比如,比较流行的有三星等手机(其实现在的安卓或许更多)、树莓派等。但是,先前的ARM存在很大的问题,那就是没有统一化的系统支持。而这一切随着Linux的内核总线把一些ARM的SOC加入到了主线而得到了改善。红帽子的很多贡献其实是在于把ARM的Linux完成了一定的统一化。相比于其他的方案,红帽子的一些优势可以从三个方面考虑:第一,红帽子一直以来在开源方面有很大的投入;第二,就是红帽子打造以及经营的社区文化;第三,红帽子在软件优化方面有非常多的经验,尤其是性能与安全方面经验丰富。

我现在用的这个芯片其实主要还是低功耗的MCU,甚至都谈不上SOC,跑不了Linux这样的大型系统。不过了解一下大的ARM生态也是很好的一点眼界的扩展。