|
1 认识F7-DISCO STM32F7-DISCOVERY是ST推出的最新的一款开发板,使用ARM最新的CORTEX-M7内核,CORTEX-M7提供了很多新的特性。F7-DISCO充分发掘并将这些特性提供给用户,F7-DISCO是迄今为止最为强大的ST官方开发板。下面我们来认识一下它吧。 F7-DISCO使用简单的塑料包装,就像以往的NUCLEO和DISCO板一样,这样应该是为了节省成本吧,不过那么大一块LCD,小心被快递暴力了!建议以后带LCD的开发板包装里面,加一块防震海绵,应该会安全不少。不多说,下面先看图。 正面大图
反面大图
MCU特写
接口一(SAI AUDIO, ETHERNET, USB(OTG, VCOM, HOST)
接口二(uSD, DCMI, SPDIF)
板子做得很精致,特别是那一块4.3的LCD,很好,板载接口也比较丰富,一般的学习研究够用了。走马观花也看完了,到底有哪些资源,下面来仔细看看吧。 板载资源
软件环境及例程 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推出,资料相对有限,这些例程就是研发人员最珍贵的宝藏了!
固件库里面不仅有单个的外设例程,也有综合性例程及完整的演示例程,甚至还提供了一个工程模板。 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的固件库,打开演示用代码,如下图所示
这是官方提供的演示例程,不用修改,直接按F7编译吧,正常情况下应该没有错误。 接下就像往常一样,开始下载代码到开发板,咦,出问题了! 为什么会出问题,不是官方的例程么?不要着急,我们先来看看编译后的文件
好家伙,18M,不是说内置的FLASH的只有1M,还记得前面说过128M bit QSPI FLASH么,工程里将部分数据放到这个里面,所以特大!怎么办,用ST-LINK UTILITY来烧写这个庞然大物吧!至于怎么烧写,看工程里的README文件就可以了,这里不多说。 在正式体验之前,我们还要准备一些东西,列表如下:
全家福
基本上就这些东西了,万事俱备,只欠东风。下面的很多图片都是用VNC抓取的,也就是在PC机上看到的画面。 配置VCN SERVER 上电后默认用户界面
开启VNC, 点击"vnc server",点击启动图标后,出现如下配置画面,这个IP地址就是VNC SERVER的地址
接下来配置VNC客户端
这个IP地址就是前面VNC SERVER启动后自动通过DHCP获取的IP地址。 这样配置后,既可以直接在F7-DISCO上通过触屏来操作设备,也可以在PC上通过鼠标来操作设备,都试试吧! 部分功能演示 下面看看几个功能演示吧,就不录像了,看看图片效果就好。 音频播放
视频播放,有趣的是,打开VNC的话,就不能播放视频了,毕竟处理能力有限
系统信息
游戏
录音功能
也许是网络的原因,在开启VNC SERVER之后,系统就有点卡了,中间还死过一次机,原因不明。当然开启VNC后对CPU的处理要求也提高了。总体来说还好,只是对于它的多媒体处理能力期望值不要太高,毕竟它不是专业的DSP。 4 结论 F7-DISCO开发板总体来说,很好很强大!使用最先进的STM32F746NG处理器,该处理器引进了一些新的技术,如TCM,L1 CACHE等,从硬件上大大提升了MCU的性能。板载外设功能丰富,做为一款学习及评估用的开发板而言,还是能满足大部分人的需求的。
总的来说,F7-DISCO用来跑个RTOS系统,研究研究STEMWIN来做个UI,研究一下基本的数字信号处理如图像、视频及音频的编/解码等还是非常不错的,另外板载以太网接口,可以用来研究一下LWIP及网络通信技术。SD卡接口结合FATFS玩一玩文件系统,都很好!一句话,F7-DISCO可以用来玩一些比较高档的东西,这些东西以前要想玩的话,可能得找块LINUX或FPGA板子才能玩,现在在F7-DISCO也能体验一把啦!当然也可以玩基本的外设如AD/DA, PWM等,不过要把板子翻过来才能玩!再提醒一句,别把LCD压坏了,或者在反面再接几个铜柱! ST的F7系列为自己打开了一片全新的天地,不过毕竟是试水之作,饱受诟病的就是F7系列200M的频率,不过这可能和首批产品使用的90NM制程有关,后续的产品,一但使用了全新的制程,将主频进一步提高,也许到那时,F7才能真正走得顺风顺水! |
STM32
超强工具——STM32CubeMX 你会用吗?
集结出发! STM32全国研讨会系列之一:ST智能门铃中国首秀
关于STM32启动文件的几个小问题
【银杏科技ARM+FPGA双核心应用】STM32H7系列35——USB_VCP_FS
【银杏科技ARM+FPGA双核心应用】STM32H7系列28——USB_HID
粉丝分享 | 图说CRC原理应用及STM32硬件CRC外设
STM32L151进入低功耗,并由RTC唤醒的故事
[转]stm32控制NFC模块(PN532)源码(P2P,模拟卡,读写卡等
STM32G070RB+LVGL移植
微信公众号
手机版
有点无法理解这呵呵是什么意思
附上楼主之前发的笔记等:
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技术社区)
官方没有全部连接,只能用一半的内存容量