如何理解ARM、STM32、51单片机,Intel之间的关系? ?
1、STM32是使用了ARM核的MCU; 2、其实除了STM32,ARM核的使用范围很广,TI与Freescale也有使用ARM核的MCU与SOC。我们通常把使用ARM核作为核心运算功能的片上系统叫做ARM芯片,于是对ARM芯片的开发,就是题主所说的ARM编程。 4、由于ARM芯片在使用上其实大同小异,同时STM32芯片推荐使用的KEIL开发套件使用起来很好上手,所以题主通过使用STM32来入门ARM编程也是很好的。 5、常用的集成开发环境有IAR和Keil,官方教程多用IAR,国内多用Keil。 6、开发驱动。STM32官网能够下载官方驱动Demo, 7、开发应用。这里已经和MCU或者ARM没有太多关系,随便怎么写软件都没问题。但是开发时还是要注意,与windows上的软件开发有很大区别,MCU的资源极其有限,运算速度也相对慢很多,要时刻注意内存溢出、延时、公共资源被占用等问题。 8、驱动和应用其实说到底是人为的划分,为了方便项目分工合作以及平台间移植,人为将和MCU相关的代码定义为“驱动”,而将与MCU关系不大并且主要是用来实现功能和特性的代码定义为“应用”。“驱动”和“应用”在不同的.c和.h文件中编写,驱动用来控制MCU中的硬件模块工作,应用通过调用驱动的接口来实现对MCU的控制。 9、"ARM编程",利用ARM MCU,用汇编、C、python等编程。 10、STM32系列MCU(微控制器)只是ST公司设计的MCU,是众多采用ARM架构的MCU的其中一种,其它公司也有很多采用ARM架构的MCU。
11、Intel和AMD 与 x86,ARM,MIPS有什么区别? 12、amd和Intel这俩公司的渊源很深,早期时Intel先是自己搞了个x86架构,然后amd拿到了x86的授权也可以自己做x86了。接着intel向64位过渡的时候自己搞了个ia64(x64架构)但是因为和x86架构不兼容市场反应极差,amd率先搞了x86的64位兼容(32和64的混合架构)也就是后来的x86-64,后来Intel也拿到了生产这货的授权(i和a两家专利交叉的很严重),也搞了x86-64,因为amd先搞出来的所以x86-64也叫amd64; 13、目前amd和Intel是世界上最大的两家x86和x86-64的cpu厂家(intel比较给力,四分天下有其三)。
14再说x86,arm和mips 15、早期的cpu有两个设计思路,1是把cpu内的逻辑电路做的非常复杂,这样可以直接用cpu硬件实现复杂指令,这个叫复杂指令集cisc;另一个思路是尽可能把cpu做的简单,依靠简单指令的组合迭代完成复杂指令,这个叫精简指令集risc。 16、x86目前泛指x86和x86-64架构,这是因为x86-64完全兼容x86。早期的x86是cisc的代表,后来的发展中逐步引入了risc的部分理念,将内部指令的实现大量模块化,准确来说是一个cisc外加risc部分技术的架构。 17、目前x86的主要产品有Intel的至强,酷睿,奔腾,赛扬和凌动;amd的锐龙,apu等。上文提到的x64架构目前只有intel 安腾而且已经放弃了产品线。 18、到目前为止intel和amd的x86架构cpu虽然指令集上有很大差别了但是还是相互兼容的,所以软件可以直接用。 19、再说arm。arm是risc的典型代表,不过在arm的发展过程中引入了部分复杂指令(完全没有复杂指令的话操作系统跑起来异常艰难),所以是一个risc基础外加cisc技术的cpu。
除了上述几家,还有power cpu(risc的,老苹果用的就是这货);alpha架构的cpu(侧重超算,目前貌似最活跃是中国申威,神威太湖之光的cpu就是这货)。
我梳理的框架:
?
请看这篇文章;
ARM是什么 - 搜索结果 - 知乎
|