【技术分享】LPC2XXX系列ARM7和STM32f103的比较
0赞NXP LPC2XXX系列ARM7和STM32f103的异同:
1:都是32位的ARM内核,不过一个NXP LPC2XXX是ARM7-V4的,而STM32F103XX是Cortex -M3 ;速度都差不多,都是运行在72M
以下,而Cortex -M3 比ARM7-V4做了些升级和优化,包含硬件乘除电路。
2:外部扩展接口都比较丰富,都含有一般通用的接口如:串口,IIC,SPI和模拟AD采集,PWM,相对 来说STM32F103XX的接口要丰富些,它还有CAN和USB接口。在使用方面IIC接口的编程LPC2XXX比STM32F103XX要稳定些, 我试过了STM32F103XX自带的IIC库文件编写IIC程序。经常有IIC死机的情况。通过GPIO模拟IIC虽然可是用,但是感觉还不是非常稳定。应为要经常地设置SDA引脚的方向。STM32F103XX有两个DMA通道,在AD采集或者DA输出时比较有用,不需要CPU的参入。LPC2XXX没有这个功能。
3:STM32F103XX最大闪存程序存储器为512K,RAM为64K,LPC2XXX最大为256K,16K这点LPC2XXX不足。不过都可以扩展外部RAM。在扩展外部RAM时LPC2XXX要注意数据总线的链接,16位总线扩展时CPU的D1和RAM芯片的D0链接,依次内推,而STM32F103XX则是D0连接D0,因为STM32F103XX内部自己左移了。
4:开发环境STM32F103XX可以用keil3和IAR开发,LPC2XXX可以用ADS开发,相对来说IAR开发环境比较好用,查找比较方便,而ADS编辑功能不强。在硬件仿真时IAR用j-link仿真比ads稳定,不容易死机设置断点调试都比ADS好,ADS只能设置2个断点。但是感觉IAR硬件仿真不真实,与落跑不一样。
5:LPC2XXX比STM32F103XX出来得早,应用方面都可互相替代,现在STM32F103XX比LPC2XXX用得广,因为性能比LPC2XXX好,不过NXP现在推出了LPC23XX好像还不错,可以和STM32F103XXPK下。
