STM32F429/439系列拥有基于ARM Cortex-M4的最高性能核心,频率为180MHz。 ST自适应实时加速器(ART加速器),允许零等待的闪存命令执行,让运算速度高达225DMIPS(Dhrystone MIPS)及业界标准性能高达608 CoreMark测试分数(EEMBC CoreMark基准测试)。器件提供高达2MByte的双闪存,允许安全的实时系统升级。 ST独有的Chrom-ART加速器为客户提供具有竞争力的图形处理优势以及一个集成的TFT-LCD控制器。
ST与Segger合作开发的专用免费图形堆栈STemWin基于Segger的emWin嵌入式图形堆栈。 STemWin利用LCD-TFT控制器和Chrom-ART加速器,并配备支持高性能图形界面开发的电脑设计工具。进一步信息可以从www.st.com/stemwin获取。
此外,对于Java开发人员,最初由合作伙伴IS2T(意法半导体产品编号STM32-JAVA)开发的ST Java解决方案,充分利用STM32F429/39的LCD-TFT控制器和Chrom-ART加速器,亦可以用在开发板和这些设备的Discovery套件。欲了解更多信息,请访问www.st.com/stm32-java及www.stm32java.com。
在STM32F429/39系列上的1Mbyte或2Mbyte双组闪存,现在亦可在STM32F427/37中找到。闪存允许写入时读取操作,让应用程序设计者得到额外灵活性,亦帮助保护存储器内容。应用程序可在下载程序时正常运行,更新版本则可于稍后时间安全启用。
两个系列还包括一个外部存储器接口供SDRAM模块,设有一个32-bit宽数据总线和高达90MHz的运行频脉。这使嵌入式系统设计师能使用SDRAM作一个符合成本效益和高性能的SRAM外部存储器替代品。
STM32F429/39和STM32F427/37系列的Chrom-ART加速器集成一个硬件块,为TFT、串口或并口显示提供更快的图形处理。它透过减轻Cortex-M4主核负担提升应用程序性能,容许更丰富的图形,并执行如像素格式转换的操作,较用软件快两倍。
此外,I2S TDM(IC间声音时分复用)接口提供最先进的数字音频连接,使能多声道音频设计。
STM32F429/39和STM32F427/37系列亦配备了先进的内存保护,允许设置仅限执行的闪存访问,从而帮助软件IP供应商、芯片供应商和客户打击非法复制固件。
STM32F429 Discovery开发板,集成了ST_LINK2,驱动程序可以到www.st.com上搜索栏直接输入ST_LINK2 driver来下载安装驱动程序。该板集成了2.4寸的TFT LCD彩屏,可以为学习开发带来不少的方便。还有64Mbits SDRAM,ST MEMS,LED,按键及USB OTG micro-B接口。现在手头上有这款开发板的人不在少数。有幸我手里也有一块。我想一步一步,脚踏实地去好好学习一下该板。
关于这款开发板的资料可以到www.st.com/stm32f4-discovery.
找相关资料。开发板在使用前一定保证JP3和CN4的跳线帽都跳上。
开发板使用的是STM32F429I 芯片180MHz/225DMIPS Cortex-M4,一个单周期DSP MAC和浮点单元。2Mbytes在芯片双BANK FLASH 存贮器,256Kbytes SRAM,复位电路,内部RC,PLL,高速执行和快速传输数据。ART加速器:内存加速器。着色加速器:图形加速器。32比特,7层AHB总线有10主和8个从包括SRAM的3块。多DMA控制:2个通用特性,一个给USB HS,一个给Ethernet。一个内核控制第四块SRAM,灵活的内存接口,极低的动态功耗。超级创新的外设接口:摄像头接口,AES GCM 和CCM 支持和SHA-256。互联网接口 MAC 10/100 2个OTG接口。多至20个通讯接口:4个USART,4个UART,6个SPI,3个I2C,2个CAN,及SDIO音频接口:2个I2S和一个SAI。LCD TFT接口。模拟接口:2个12比特的DAC,3个ADC,17个定时器。
以下是开发板的硬件分布图:
以上的数据显示了该开发板的强大。我想在以后的一段日子里从晶振到各种外设。步步为营来学习该板的个个资源。
先来个快速点灯吧。从ST网站上可以下载到stsw-stm32138压缩文件。解压里边有个Template子目录,让我们先考备一份。省得不小心给破坏了。
用MDK打开这个工程文件。可以看到该模板已经建立了STM32F429I-Discovery目录。
再双击stm32f429i_discovery.c可以看到初始化LED的定义。
以及实现基本功能的函数:
再右键打开stm32f429i_discovery.h 发现定义如下:
由上边的函数可以直接让LED发亮。
只需插入两行代码:
运行效果如下:
|