1,分类--------------------------------
ARM7 馮結構 工控用的一般是ST公司的如STR73x STM32F系列,三星的44b0,atmel的AT91系列; ARM9 哈佛結構 系列一般是三星公司 S3C2440 ;
ARM11 一般是手机上用的。
cortex m3 哈佛結構处理器以架构分类可以这样分:(1)ARM7,ARM9属于v4T或v5E架构(2)ARM11属于v6架构(3)cortex m3属于v7架构ARM7,ARM9的区别在于是否有MMU(存储器管理单元)或MPU(存储器保护单元)架构上v5E相比v4T则是在于v5E新加入的增强型DSP(数字信号处理)指令,
v4T则是Thumb指令集的加入,v6架构则是开始支持SIMD以及Thumb2的问世 新指令的加入,增强了处理器的性能或实时性
TI的Cortex M3最近才开始推广,看这个势头,好像要超越ST。 不过,就目前来看,ST的STM32还是主流,文档资料更多。 LPC好像在主推低功耗的Cortex M0
2,选择--------------------------------
你可以先从ARM CORTEX-M3下手。
CORTEX是新鲜产物,才推出不到3年,各大厂商ST.NXP,TI.ATMEL都有推出它的产品,ARM7已经上市久了,大家都玩过的。而cortex是ARM公司主推的新架构产品,前景很看好。 CORTEX很容易上手,它和51是同样的哈佛架构, 不象ARM7和ARM9是冯架构。 可以用KEIL编译器,又让我找回了当年玩51的感觉。 中文资料也很多,厂商的封装库也很齐全.特别适合从51转过去的初学者.CORTEX属于ARMv7内核,而不是ARM7的核。ARM7是ARMv4的内核ST的STM32采用CORTEX M3内核,其构造偏向单片机应用。不是ARM7核
做控制的话学M3就够了,用ARM9还是在消费类电子产品上
cortex-M3用以取代单片机的,运算能力一般,控制能力突出,使用thumb2代码!性能属于ARM7级别的。一般都是用在工控之类的仪器上,汽车电子等等。 ARM9说的比较笼统,一般ARM9级别或者以上的都是用在消费类电子上面的比较多,比如智能手机什么的,重在多媒体性能。
cortex-m3好学吧 毕竟只是高级单片机 最多跑μCOS ARM9就难多了 因为已经是真正的ARM了自然跑系统才是正道 那就要会linux或者windows CE 其次是C语言要强 C++也要强 因为要求要能编写驱动或者运用程序如果是linux也要懂linux内核
做单片机用,学CORTEX,以STM32系列为代表 做系统用,ARM9,三星跟ATMEL在国内比较常见。
ARM9,11 要上操作系统才能体现出优势,它们适用于更高层次的嵌入式应用,如Linux。很多东西要牵涉到基于某种硬件平台的软件系统工程了,需要技术人员同时了解硬件、软件两方面的东西。这也是现在的热门行业。 51 PIC ARM7/CORTEX- m3还是适用于控制方面的应用,最多上一些简单的OS或GUI,但是主要的还是硬件方面(底层驱动)的东西。 它们的应用领域有所不同,
STM32绝对的比任务ARM9易学,虽然出的晚,但是不管英文中文资料都很齐全。而且ST把所有的功能做成库,只要你会用C语言调用函数,就会用STM32
个人觉得要不你就学习ARM9。要不就选择Cortex-M3,这个是ARMV7构架下的,ARM9也是此构架下的。其实我觉得如果是先前搞过单片机的,请选择Cortex-M3,应为这个是位控制领域量身打造的。可以说现在的ARM构架产生了分支,以前是没有的。 Cortex-A系列,Application主要是应用在高端的产品,PDA,智能手机等 Cortex-R系列,Real time主要应用于实时控制 Cortex-M系列,Microcontroller主要是应用于工业控制。 我推荐Cortex-M3核心的,意法半导体的STM32f103XX系列、Ti的LM3S系列都很好 还有LPC的NXP的都有很多,相信我吧,这个就好比当年8051的市场一般,新的格局到来了,8位的价格打造32位的性能。 在吐血推荐周立功的EasyARM1138,也就是LM3S1138位主控的 其次就是STM32的红牛板子,很不错 各有各的特色,个人喜欢TITI的,应为他的总线完全开放。 关于此类东西的学习,建议先买板子回来跑程序,接着就是深入研究,周工的东西资料全。
ARM公司推出的Cortex-M3微处理器适用于高性能、极其低成本需求的嵌入式应用,如微控制器、汽车系统、大型家用电器、网络装置等.与原来的通用型ARM CPU不同,Cortex-M3主要针对MCU,单片机等领域.Cortex-M3采用V7指令集, 它的速度比ARM7快三分之一,功耗低四分之三,并且能实现更小芯片面积,利于将更多功能整合在更小的芯片尺寸中.
Cortex-M3是一个32位的核,在传统的单片机领域中,有一些不同于通用32位CPU应用的要求.例如在工控领域,用户要求具有更快的中断速度,Cortex-M3采用了Tail-Chaining中断技术,完全基于硬件进行中断处理,最多可减少12个时钟周期数,在实际应用中可减少70%中断.ARM公司希望Cortex-M3核的推出,能帮助单片机厂商实现由8位(16位)向32位微处理器的快速移值.
单片机的另外一个特点是调试工具非常便宜,不象ARM的仿真器动辄几千上万.针对这个特点,Cortex-M3采用了新型的单线调试(Single Wire)技术,专门拿出一个引脚来做调试,从而节约了大笔的调试工具费用.同时,Cortex-M3中还集成了大部分存储器控制器,这样工程师可以直接在MCU外连接Flash,降低了设计难度和应用障碍.
ARM Cortex-M3处理器简介:http://www.farsight.com.cn/FarsightBBS/dispbbs.asp?boardID=57&ID=4128&page=1
选择ARM处理器,ARM7还是Cortex-M3:http://www.farsight.com.cn/FarsightBBS/dispbbs.asp?boardID=57&ID=4212&page=1
如何在Cortex-M3处理器上运行ARM7TDMI处理器软件:http://www.farsight.com.cn/FarsightBBS/dispbbs.asp?boardID=57&ID=4129&page=1
http://www.dianyuan.com/article/57383
近期,应用stm32和lpc2368分别作了个项目,使用过程中对二者有了一些认识,现列举如下。与各位兄弟共同分享。
1:成本上,stm32占优势,全系列最贵的不过40多元,比lpc2368(不是同NXP德全系列比较啊,不要扩展的太多)便宜很多。而且产品线较多。
2:STM32的指令速度可达到90M,AD精度较高,速度较快。做一些数据采集项目非常有利。LPC2368的AD为10位,并且转换速度不快,这些使其在数据采集方面具有不少的劣势。
但lpc2368的SD卡接口为4位,较快,并且具有较为全面的接口。尤其是具有4个32位的Timer。这点比较厉害(用该片的项目就是利用了这个特性)。
3:开发工具:本次均使用了Keil C。由于STM32有API,对于常开发硬件的筒子来说反而是个麻烦,又要看手册,又要阅读API,真是多了一道工序。
lpc2368的很多应用,比较复杂的都有rl应用,做一下移植即可了。较为方便
4:如果STM32多了4个32位的TIMER就好了。就会不用lpc2368了。
5:本次应用的说明:用stm32做的是数据采集的东东,用AT45DB161D存储数据,用串口通信。用lpc2368纯粹是利用其中的4个timer做定时输出,精度1us,时长最大1000s,某些项目需要这样的东西,虽然应用不是很多
其他参考
http://wenku.baidu.com/view/7483462b647d27284b73510e.html