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

挑战更好更强大,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扩展软件包
关注我们
st-img 微信公众号
st-img 手机版