[STM32F7]

NUCLEO-F722ZE测评

[复制链接]
1113|11
手机看帖
扫描二维码
随时随地手机跟帖
liweibuct|  楼主 | 2017-3-17 00:58 | 显示全部楼层 |阅读模式
参加了2017慕尼黑上海电子展,通过和ST明星产品STM32H7系列的演示开发板合影得到了此开发板,有种卖身换板子的感觉。。。这块开发板的基板就是nucleo144啦,看开发板说明上写的这是初级版本,就是好多外设都没有,最愁人的是连外部晶振都没焊,只能使用内部时钟晶振,确实够初级,不过这些都小case,不影响正常的使用测试。 P70316-193113.jpg
1.开发套件基本组成:
板载的外设主要有ST-link/V2-1,除了单步调试还有个虚拟串口,和STM32F722的usart3串口相连,串口打印比较方便。有一个microUSB,既可以做OTG,又可以做usb device。三盏小灯(红绿蓝)和一个用户按钮,此外就是MCU的外设了,ADC、DA、SPI、、usart、RTC等。扩展接口有两种,一是st自家的st zio(没用过),还有就是Arduino了。
2.开发板上电:
开发板上电可以通过一根普通的安卓手机数据线连接即可,开发板有个初始demo,按user button,会切换三盏灯以不同的频率进行闪烁,主要是演示开发板是否能够正常工作,刚带回来就被我给搞掉了,不过留了张图。
P70316-200655.jpg
PC端的驱动主要是ST-LINK的驱动安装,一定要到官网下载最新版,能支持各种windows操作系统,支持各种STlink版本。
这个网址(图片上能看到,权限不够不让发)是最新的驱动网址,拖到页面最下面就是下载链接啦,如下图,谷歌浏览器自带的翻译,把st官网翻译成了中文,凑合看。
2017-03-16.png
下载好了文件后后解压,根据你的操作系统位数,32位系统运行dpinst_x86.exe,64位操作系统运行dpinst_amd64.exe(PS:要以管理员身份运行),装完后就电脑就可以识别stlink了,计算机里还会看到一个虚拟U盘,如下图,把编译好的程序bin(或hex)文件直接拷进去,按一下reset键可以直接运行,不用烧写工具或keil等编译器下载。这个功能主要用于mbed线上开发,但我在mbed网站上还没看到这个开发板。

pan.jpg
3.开发环境搭建
开发st mcu程序的编译器有很多,比如IAR,Keil和SW4STM32等,我从51单片机时就用Keil,到现在还是用Keil(没招,恋旧),这个软件网上都能找到,我用的keil5.16,激活也好弄,装好后还要做的就是安装stm32f7系列的pack包了,还有就是一些公用包比如cmsis等。
还有就是安装stm32cube,这个主要是用于生成库函数开发程序模板,你可以根据你的IO或外设的需求进行模板的定制,软件会把所有的初始化函数全部给你写好,还是很不错的。你在写程序时只需要调用相关的HAL函数就行。这个也要安装特定库,开发stm32f722就要装stm32f7系列的库包,程序运行和安装库的界面如下图,库也要安装最新版的,老版不支持stm32f722。
2017-03-16 (1).png
2017-03-16 (2).png
4.开发案例
由于现在在上海出差,手边没有什么外设可以驱动,只有这么一个开发板,所有就只用了开发板上的一些外设,主要实现的功能是采集mcu的内部温度通过DMA方式读入内存,然后通过串口打印出来,传输周期1s一次,每次传输会改变红色和蓝色灯的状态,而绿灯常亮。下面贴出stm32cube的开发过程:
首先是针脚定义界面,Adc1下面有一个温度传感器通道,打上√,sys下面debug选异步跟踪串行调试模式,串口3选异步模式,关闭硬件流控制,
2017-03-16 (4).png
2017-03-16 (5).png
时钟配置如下图所示,我这是随便配的,没用锁相环倍频,原则是不报错,mcu频率较低,肯定不是最好的性能,可自己再调整
2017-03-16 (6).png
下面就是硬件详细参数配置了

2017-03-16 (7).png
串口配置状态:
   2017-03-16 (8).png
adc配置状态:
2017-03-16 (9).png
DMA配置状态:
2017-03-16 (11).png
GPIO配置:

2017-03-16 (12).png
至此基本大功告成,可以生成程序模板了,点击工具栏上的那个小齿轮就可以生成程序了,设置好目标文件夹,选好开发工具,即可生成模板程序了。如下图
2017-03-16 (14).png
也可以对代码生成做一些设置,我觉得搞开发的肯定懂E文,就不解释各选项具体啥意思了。如下图
2017-03-16 (15).png
生成的代码文件夹如下,可以用keil打开了。
2017-03-16 (16).png
再实际开发时遇到了一点小问题,为了持续进行mcu的温度采集,adc1的dma模式要配置成circular模式,但是此模式下代码再实际运行调试时无法启动adc,而配置成regular模式后,就可以正常启动adc1,但此模式下只能进行一次dma转换,为了在regular模式下实现持续采集,在adc-dma的回调函数里加入了adc的重启函数,但是这种情况下就不能节省cpu时间了。不知道circular模式下无法启动adc是不是stm32cube的一个bug。
演示效果如下图,附上源代码: test.zip (624.84 KB)
liweibuct|  楼主 | 2017-3-17 01:05 | 显示全部楼层
@21ic小管家 发完评测了,还记得我是哪个不

使用特权

评论回复
21ic小管家| | 2017-3-17 09:49 | 显示全部楼层

使用特权

评论回复
whtwhtw| | 2017-3-17 09:52 | 显示全部楼层
悲剧,默哀1秒钟

使用特权

评论回复
mmuuss586| | 2017-3-17 16:11 | 显示全部楼层
谢谢分享;

使用特权

评论回复
wahahaheihei| | 2017-3-17 20:02 | 显示全部楼层
这个板子可以作为一个很不错的编程调试工具和串口工具。

使用特权

评论回复
liweibuct|  楼主 | 2017-3-17 21:15 | 显示全部楼层
wahahaheihei 发表于 2017-3-17 20:02
这个板子可以作为一个很不错的编程调试工具和串口工具。

唉,都是泪,回去试试能不能isp擦除

使用特权

评论回复
selongli| | 2017-3-17 22:02 | 显示全部楼层

使用特权

评论回复
selongli| | 2017-3-17 22:02 | 显示全部楼层
慕尼黑上海电子展应该有很多ST的设计方案。

使用特权

评论回复
liweibuct|  楼主 | 2017-3-17 23:34 | 显示全部楼层
selongli 发表于 2017-3-17 22:02
慕尼黑上海电子展应该有很多ST的设计方案。

主要以物联网和汽车电子为主,各种nfc蓝牙什么的

使用特权

评论回复
wahahaheihei| | 2017-3-20 16:26 | 显示全部楼层
liweibuct 发表于 2017-3-17 21:15
唉,都是泪,回去试试能不能isp擦除

??擦除??你要擦除什么。直接用上面的SWD接口很拉轰。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

22

帖子

0

粉丝