你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

挑战更好更强大,STM32F7-DISCO测评(民间版) 精华  

[复制链接]
netlhx 发布时间:2015-8-14 14:52
1  认识F7-DISCO

STM32F7-DISCOVERY是ST推出的最新的一款开发板,使用ARM最新的CORTEX-M7内核,CORTEX-M7提供了很多新的特性。F7-DISCO充分发掘并将这些特性提供给用户,F7-DISCO是迄今为止最为强大的ST官方开发板。下面我们来认识一下它吧。

F7-DISCO使用简单的塑料包装,就像以往的NUCLEO和DISCO板一样,这样应该是为了节省成本吧,不过那么大一块LCD,小心被快递暴力了!建议以后带LCD的开发板包装里面,加一块防震海绵,应该会安全不少。不多说,下面先看图。

正面大图

overview.jpg

反面大图

overview2.jpg

MCU特写

mcu.jpg

接口一(SAI AUDIO, ETHERNET, USB(OTG, VCOM, HOST)

interface1.jpg

接口二(uSD, DCMI, SPDIF)

interface2.jpg


板子做得很精致,特别是那一块4.3的LCD,很好,板载接口也比较丰富,一般的学习研究够用了。走马观花也看完了,到底有哪些资源,下面来仔细看看吧。

板载资源

  • STM32F746NGH6微处理器,BGA216封装,自带1MB FLASH,340K SRAM
  • ST-LINK/V2-1,这个可是以前的DISCO板没有的哦
  • USB接口,可以用于VCOM, USB HOST, USB OTG及调试
  • 4.3" LCD, 分辨率480X272,带触屏
  • 摄像头接口
  • SAI音频接口,带立体声输出, SPDIF RCA输入接口
  • ST MEMS麦克输入
  • 128Mb QSPI FLASH存储, 128Mb SDRAM
  • uSD接口
  • 以太网接口
  • MORPH接口,兼容ARDUINO
  • 5种供电接口,提供3.3/5V输出

软件环境及例程

ST提供了丰富的生态环境,其中之一就是开发工具。如果要使用IDE来做研发的的话,有成熟的IAR及MDK供开发者使用,最新的MDK V5.16甚至为CORTEX-M7专门做了优化和调整。除了这些商业软件之外,ST也和AC6一起协作开发了一个名为System Workbench for STM32的基于ECLIPSE的免费开发工具,另外还有大名鼎鼎的CooCox CoIDE开发环境。还有一个名为mbed的在线IDE,mbed称之为云开发环境,使用它,全世界的程序员都是你坚强的后盾。另外,如果你熟悉ARM自己的开发工具链,也可以直接使用ARM GCC来编译下载自己的程序。

ST也提供自己的一些辅助开发工具,其中最有名的当数STM32CUBEMX了,这是一套生成代码的工具,它提供一个图形化配置界面,借助它,开发人员可以在很短的时间内生成自己的代码框架。CUBEMX基于ST自己的HAL库,和传统的STD库来说,HAL库的优势在于,将一些通用的操作抽象出来,以一种更高层次的API提供给开发者,低层的具体操作隐藏于这些HAL API之中。从传统的STD向HAL库转变,这有一个阵痛期。但毕竟,HAL库是以后ST提供的库的标准。

HAL库不仅仅是一个代码库,更重要的是它提供了一系列的例程。当一个新的MCU推出,资料相对有限,这些例程就是研发人员最珍贵的宝藏了!

QQ截图20150814101740.png

固件库里面不仅有单个的外设例程,也有综合性例程及完整的演示例程,甚至还提供了一个工程模板。

2  F7-DISCO特色功能一览

F7-DISCO相对于以前的开发板来说,里面有很多新的特性值得我们关注。

ST-LINK/V2-1
这个其实不算新的特性了,只是相对于以前的DISCO板来说,它是新的。老版的DISCO板载的是ST-LINK/V2。ST-LINK/V2-1的特性就是支持VCOM,还记得以前使用DISCO板的时候,如果要使用UART与电脑通信的话,必须外接一个UART转换器,将UART转换器的RX/TX与板载的TX/RX连接,才可以实现串口通信,现在调试UART的时候就可能通过ST-LINK/V2-1直接来实现了,一般情况下,ST-LINK/V2-1使用UART2与外部通信。NUCLEO板上使用的都是ST-LINK/V2-1。NUCLEO板载的ST-LINK/V2-1甚至可以用来做为一个外部调试器,这样就省去了专门购买ST-LINK的费用了,不过在F7-DISCO上,这一功能被去掉了,只能用于本设备的调试。

SDRAM
CORTEX-M7内核包含FMC控制器。FMC与以前的FSMC控制器相比较,就是支持SDRAM。不管对程序员还是对最终的用户来说,更多的内存意味着更高的性能。F7-DISCO板载128M bit的SDRAM,结合FMC控制器,使用SDRAM就像使用SRAM一样的方便。根据官方文档的描述,SDRAM控制器支持两个独立的SDRAM BANK,可以在8/16/32位总线宽度之间独立选择;控制器包含13位行地址,11位列地址,4个内部BANK,这样的话,最高可以支持256MB的外部SDRAM,不要以PC的眼光看来待这个值,在MCU的世界里,256MB可就是一令人震撼的数值了!

SDRAM可以工作在HCLK/2或HCLK/3的频率下,支持可编程的时序参数,重要的是,它还支持CACHE读写。

将SDRAM初始化后,SDRAM被映射到MCU的4G线性空间内,就可以像访问SRAM一样来访问SDRAM,非常的爽!举个例子来说,驱动板子上的LCD,使用的是LTDC来驱动,需要指定VRAM地址,现在将初始化SDRAM的地址指定给VRAM。这样配置后,读写点就是操纵一个指针的事,爽歪歪!

可以说在F7-DISCO板上,或者是基于CORTEX-M7的产品上,内存限制已被极大改善。程序员再也不用像地主老财一样,抠抠索索的的了!(《亮剑》李云龙语)。

不过坑爹的是,F7-DISCO板载的128M bit只连接了一半,是硬件上只连接了一半!

QSPI
QSPI的全称是Quad SPI,这是一种特殊的通信接口。按官方的描述,QSPI可以工作在三种模式下:间接模式、查询模式及内存映射模式。前面两种模式姑且不论,看到内存映射模式,有没有想到前面介绍的SDRAM工作,这也是一种内存映射模式啊!

请设想,将SPI FLASH初始化后,将它映射到4G的线性空间,然后将执行代码拷贝到该空间内,然后执行!是的,你没有看错,可以将执行代码拷贝到外部FLASH空间,然后执行代码!

如果要尝试一下此功能,请打开HAL固件库EXAMPLE目录下的QSPI目录,里面有例程,自己亲自体验一下吧!

再设想一下,程序功能升级换代时,主框架不变,变化的代码直接放入到外部FLASH中,主框架执行升级功能,其它逻辑都可以不变,这样是不是也不错?

这样说来,是不是内置的FLASH空间以后也不是问题了呢?

其它特色
F7-DISCO板载了丰富的外设,有下面这些:SD卡,ETHERNET接口,SAI AUDIO输出, SPDIF输入,摄像头接口, LCD。

这些其实都不是很有特色。一些三方的开发板,大都有这些功能。只不过对于一块DISCO板来说,很不错了!

SD卡接口,可以配合FATFS,体验一把当初BILL GATE写MSDOS系统的感觉!

ETHERNET接口,从此开发板不再孤单,世界是互联的,LWIP可以助你一臂之力!

SAI AUDIO, SPDIF, 摄像头, LCD等等,从些F7-DISCO也可以跨入多媒体世界!

所有上面的这一切,都在等待你进入F7-DISCO的精彩世界,探索吧!

3  体验F7-DISCO
说了一大堆,还是好好体验一把F7-DISCO吧!

编译代码
如果你的F7-DISCO刚开箱,那么恭喜你,少了许多麻烦。如果你拿到板子,迫不及待的点了个LED灯,那么请仔细看下面的操作步骤,要不然就会出现错误,我也是在这上面跌了个跟头。

打开F7的固件库,打开演示用代码,如下图所示

QQ截图20150814134230.png

这是官方提供的演示例程,不用修改,直接按F7编译吧,正常情况下应该没有错误。

接下就像往常一样,开始下载代码到开发板,咦,出问题了!

为什么会出问题,不是官方的例程么?不要着急,我们先来看看编译后的文件

QQ截图20150814134928.png

好家伙,18M,不是说内置的FLASH的只有1M,还记得前面说过128M bit QSPI FLASH么,工程里将部分数据放到这个里面,所以特大!怎么办,用ST-LINK UTILITY来烧写这个庞然大物吧!至于怎么烧写,看工程里的README文件就可以了,这里不多说。

在正式体验之前,我们还要准备一些东西,列表如下:
  • 路由器一个,地址设置为192.168.0.1, 开启DCHP, 网线2根,一根接F7-DISCO,另一根接PC
  • VNC VIEWER, 这是个VNC客户端软件,用来连接VCN服务器
  • USB OTG数据线一根,U盘一个,将一些测试用的音视频文件复制到U盘上
  • 耳机,用来听歌

全家福

IMG_20150814_140133.jpg

基本上就这些东西了,万事俱备,只欠东风。下面的很多图片都是用VNC抓取的,也就是在PC机上看到的画面。

配置VCN SERVER

上电后默认用户界面

QQ截图20150814140651.png

开启VNC, 点击"vnc server",点击启动图标后,出现如下配置画面,这个IP地址就是VNC SERVER的地址

IMG_20150814_140047.jpg

接下来配置VNC客户端

QQ截图20150814140550.png

这个IP地址就是前面VNC SERVER启动后自动通过DHCP获取的IP地址。

这样配置后,既可以直接在F7-DISCO上通过触屏来操作设备,也可以在PC上通过鼠标来操作设备,都试试吧!

部分功能演示

下面看看几个功能演示吧,就不录像了,看看图片效果就好。

音频播放

QQ截图20150814141929.png

QQ截图20150814142025.png

视频播放,有趣的是,打开VNC的话,就不能播放视频了,毕竟处理能力有限

QQ截图20150814142107.png

系统信息

QQ截图20150814142154.png

游戏

QQ截图20150814142141.png

录音功能

QQ截图20150814142213.png


也许是网络的原因,在开启VNC SERVER之后,系统就有点卡了,中间还死过一次机,原因不明。当然开启VNC后对CPU的处理要求也提高了。总体来说还好,只是对于它的多媒体处理能力期望值不要太高,毕竟它不是专业的DSP。

4 结论

F7-DISCO开发板总体来说,很好很强大!使用最先进的STM32F746NG处理器,该处理器引进了一些新的技术,如TCM,L1 CACHE等,从硬件上大大提升了MCU的性能。板载外设功能丰富,做为一款学习及评估用的开发板而言,还是能满足大部分人的需求的。

  • MCU使用的的是ARM的最新CORTEX-M7,按照ARM的构想,是要将它打造成集MCU与DSP为一体的怪兽,愿望很好,可还得加油!毕竟低功耗与高性能之间找一个平衡点不易。
  • 和以前的MCU比较,M7使用的6段超标题流水线处理机制,这意味着一个时钟周期能处理更多的指令。想想当初PENTIUM4出来的时候,吹嘘的20段超标题流水线吧。实际上超标量流水线就是以空间换时间,你懂的。
  • M7另一个新特性就是TCM(紧致内存耦合)技术,TCM内存紧密与内核耦合,提供CACHE级别的性能。与CACHE不同的是,它可以被精密控制,将代码放到指定的位置。CACHE还有命中与不命中的可能,TCM就在那里,随时等候被调用或取用。另根据官方介绍,TCM在启动时即可使用。
  • 关于DSP,M7提供了单/双精度浮点数计算,M4及以前的最多支持到单精度,如果要使用精度计算的话,只能是软件实现,我们都知道浮点数计算的软件实现是最耗CPU时间的。
  • F7-DISCO板载一个大LCD,很大,只是分辨率不算高,480X272,如果更高一点就更爽了。ST官方的评估板除了高端的EVAL系列外,像DISCO,NUCLEO一般都不带LCD。FMC最爽的地方在于,可以直接使用SDRAM做为VRAM,从此进入直接操纵线性SDRAM来绘图的世界,那确实很爽!忘记那些LCD控制器指令吧!在F7的世界里,LTDC+FMC提供了你要的一切。
  • 说一说板子不方便的地方,板子设计得很紧凑,一边是LCD,另一边是MORPH及按键接口。体验LCD很好,但要接一些外设的话,要把板子翻过,小心啊,别把LCD压坏了。要是能像以前的EVAL板一样,搞块大板,就更好了。

总的来说,F7-DISCO用来跑个RTOS系统,研究研究STEMWIN来做个UI,研究一下基本的数字信号处理如图像、视频及音频的编/解码等还是非常不错的,另外板载以太网接口,可以用来研究一下LWIP及网络通信技术。SD卡接口结合FATFS玩一玩文件系统,都很好!一句话,F7-DISCO可以用来玩一些比较高档的东西,这些东西以前要想玩的话,可能得找块LINUX或FPGA板子才能玩,现在在F7-DISCO也能体验一把啦!当然也可以玩基本的外设如AD/DA, PWM等,不过要把板子翻过来才能玩!再提醒一句,别把LCD压坏了,或者在反面再接几个铜柱!

ST的F7系列为自己打开了一片全新的天地,不过毕竟是试水之作,饱受诟病的就是F7系列200M的频率,不过这可能和首批产品使用的90NM制程有关,后续的产品,一但使用了全新的制程,将主频进一步提高,也许到那时,F7才能真正走得顺风顺水!


收藏 5 评论62 发布时间:2015-8-14 14:52

举报

62个回答
yanhaijian 回答时间:2015-8-14 14:56:50
我只能呵呵。
沐紫 回答时间:2015-8-14 16:11:23

有点无法理解这呵呵是什么意思
沐紫 回答时间:2015-8-14 16:13:25
非常感谢楼主,大家如有什么问题,欢迎回帖交流


附上楼主之前发的笔记等:
STM32F746G DISCO到手
LTDC简单学习-基于STM32F7 DISCO
F7通用工程模板(基于STM32F746NGHx)
STM32F7 平滑滚屏效果
F7-DISCO笔记之二:SDRAM
F7-DISCO笔记之三:SD和FATFS

欢迎阅读爱板网评测文章:
【点评送板】解密全球首款Cortex-M7 MCU——STM32F7探索板评测
https://www.stmcu.org.cn/module/ ... &fromuid=366506
(出处: 意法半导体STM32/STM8技术社区)




wwff2007wwff 回答时间:2015-8-14 16:21:07
哇咔咔,好牛逼的说。
jacobfeng 回答时间:2015-8-14 16:34:01
楼主大牛
Paderboy 回答时间:2015-8-14 17:54:50
太帅了,,,学习了。。
你好我好大家好! 回答时间:2015-8-14 19:09:43
:):):):)
wdzfd-25908 回答时间:2015-8-14 19:31:35
F7-DISCO板载的128M bit只连接了一半,是硬件上只连接了一半! 这个可以解释下为什么吗?
netlhx 回答时间:2015-8-14 19:46:27
wdzfd-25908 发表于 2015-8-14 19:31
F7-DISCO板载的128M bit只连接了一半,是硬件上只连接了一半! 这个可以解释下为什么吗? ...

官方没有全部连接,只能用一半的内存容量

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版