moyanming2013 发表于 2016-12-7 21:51:24

【F769IDISCOVERY评测】专治各类配置驱动、固件升级等疑难杂症

说明:本文专制各类系统问题、环境安装问题、驱动问题、固件升级问题、版本分不清问题、版本不知道能不能安装问题、安装错了如何解决等各类疑难杂症!不管你是什么开发板,只要是STM32(STM32官网)的就能治,痊愈!文中提到的所有安装、配置、下载等内容,都需要在参考资料中自行下载!为什么?参考资料都是官方的,不是张三李四等“不靠谱”的!为什么?自己届时下载到的都是最新的,不是你分不清楚哪个版本或哪年的!参考资料在2楼或下载附件随便看(本文有删减)。
1.    安装虚拟机环境很多同学会遇到操作系统安装软件的冲突问题、IDE开发环境问题、驱动问题、固件升级问题、兼容问题等等一系列感觉很“复杂难搞耗时”的问题,在此楼主给出一个一劳永逸的解决方法,就是使用虚拟机作为开发的系统使用环境。使用虚拟机还可以给新同事一个备好的完整的开发环境,省去他配置环境的时间及可能遇到问题所花费的时间,使之能够立刻进入开发调试阶段。更重要的是,大家使用同一个平台,遇到问题则一次解决共同受益。另外,每个人都可以在各自的虚拟机下测试各类软件和尝试新软件等而不会影响主机,如果虚拟机有问题解决起来比较棘手了,完全可以复制一个备份虚拟机即可。虚拟机完全可以用于生产环境。缺点就是耗主机资源,包括磁盘空间资源,但是对比所带来的好处来说,这些缺点就不太重要了。推荐下载使用VMware Workstation Player,Workstation Player是免费的虚拟机软件,Workstation Pro是收费软件,但Player完全满足应用。相比VirtualBox和Hyper-V等同样免费的虚拟机来说,VMware Workstation Player对驱动、系统优化等都比较完善,我感觉是3者中最好用的。安装完成VMware Workstation Player后,通过如下步骤即可完成Windows 10 Pro版本的虚拟机搭建,完成本文所有内容后即可通过复制来备份成一个备份虚拟机以备使用。新建虚拟机:可以在微软官网下载到最新Windows 10的ISO安装镜像文件。不要通过其它渠道下载到可能被修改的Windows镜像。添加Windows 10安装镜像:安装前的配置,选择不需要密匙即可(试用windows10不会产生黑屏或重启等,只是会在桌面上显示不太明显的激活水印,不影响使用):指定200GB虚拟磁盘,其实该磁盘只会随着实际容量大小占用主机硬盘空间,设置200GB主要是为了将来可能的需要,设置单个文件方便复制备份也会提升磁盘性能:配置内存为3GB或2GB,示主机资源而定,但建议2.5GB左右;处理器完全使用和主机一样的就行:启动后会开始安装,一般10分钟即可完成:Windows 10原版安装完成后占用约6.5GB磁盘大小(Windows 7是约5GB,XP是约2GB),Windows 10的桌面如下图示,相比较而言,windows 10对新IDE或驱动等支持还是很好的,推荐使用:下述都是在虚拟机中执行的,使用时没发现任何问题。当然,也可以完全在主机上进行,与虚拟机下基本没有区别。随着使用虚拟机的深入,你会发现关闭虚拟机时选择“挂起虚拟机”,然后下次启动时直接进入上次关闭时的状态,使用起来非常方便,对于需要网络下载时间太长无法一天完成的需求,这样做再合适不过了。还有更多技巧,后续再发文吧。2.    安装配置MDK-ARM集成开发环境(IDE)在MDK-ARM官网下载最新的试用版本MDK-ARM集成开发环境(IDE),下载完成后双击开始安装,如下图示:建议使用默认路径即可:填入所有的空缺,点击“Next”:顺利安装完成MDK-ARM IDE,可以看下相关的Release Notes:为了能够在MDK-ARM中调试开发F769IDISCOVERY,必须下载STM32F7 DFP并导入到MDK-ARM中才可以开始开发。DFP是Device Family Pack,DFP包括了对应MCU的开发软件包,由ST提供给ARM并以包的形式集成在MDK-ARM中。STM32F7 DFP与STM32CubeF7的关系DFP和Cube都是由ST提供的,而且他们的内容、内部程序框架等基本都是一样的。DFP是为了符合ARM CMSIS标准制作的开发包;Cube是ST发布的独立开发包:既能符合MDK-ARM开发又能符合IAR、AC6等IDE环境。相比而言Cube更新更快一些,文档也比较新,关于更多CubeF7的程序框架和组成等入门可以查看UM1891。但要在MDK-ARM下调试开发,必须安装有DFP,即使你已经有了Cube开发包也要安装DFP。这两者的安装和使用是不冲突的,通常情况下,使用MDK-ARM时会同时下载、使用、参考上述2个开发包。下载好DFP后,打开Keil uVision5,点击“package installer”图标打开后即可通过“File->Import”把DFP加载进去:上述我们就完成了MDK-ARM开发环境的搭建,已经准备好开发、调试的环境了。3.    安装ST LINK/V2-1驱动和升级ST LINK/V2-1固件。有同学不清楚ST LINK驱动、ST LINK固件以及和开发板的关系,ST的开发板为了方便开发、减少成本基本都集成了ST原厂的调试器(国内盗版的JLINK都卖约80元,还不稳定),ST把集成的该调试器称为ST LINK。调试器是需要驱动的,而且调试器本身也是一个MCU,ST通常使用STM32F103CBT6作为调试器MCU。调试器MCU是通过连接到主MCU的专用调试接口实现调试主MCU的,并通过通信接口(比如串口、I2C或USB口)连接到电脑实现和电脑端IDE的通信,这样调试器MCU完成调试功能。本步骤的操做都是针对调试器MCU的配置,但只有配置好了调试器MCU才能更方便的调试主MCU。确保把开发板和电脑断开连接,打开如下典型目录:“C:\Keil_v5\ARM\STLink\USBDriver”,双击“stlink_winusb_install.bat”即可安装ST LINK驱动和ST虚拟串口(VCP: Virtual COM Port),安装完成后如下图所示:注意:一般不通过上述方式安装ST LINK驱动,但是由于ST官方网站改版后无法在STSW-LINK009页面中下载到正确的STSW-LINK009驱动,我已经提交了Feedback,建议大家都去提交,人多力量大。所以通过MDK-ARM中的ST LINK驱动安装是最合适的方式,毕竟ARM会测试该部分驱动不会出现问题。看到有同学给出通过论坛的资料下载方式或其它方式得到ST LINK驱动,竟然还出现了STSW-LINK008这种已经废弃不用的驱动(有同学还推荐在windows7或windows10系统下使用,这是不合适的),显然论坛的维护也是不可信的,都没有仔细看。论坛中的STSW-LINK009还是只支持XP系统的旧驱动,可能连VCP都没有包含进去,具体可以查看里面的“readme”,此处强烈建议使用MDK-ARM中的驱动进行安装,直到ST官网修复了此问题为止。通过ST官网下载STSW-LINK007固件,把开发板接入电脑。如果使用了VMware Player运行的Windows 10,可以在“可移动设备”中把主机上的“STM32 STLINK”设备接入虚拟机,无论主机是否安装过驱动程序都可以这样操作。如下图所示:打开下载的“\stsw-link007\Windows\ST-LinkUpgrade.exe”程序,点击“Device Connect”按钮,此时会出现电脑端USB重新枚举开发板现象,此时开发板会自动复位一次,然后会显示开发板的ST LINK/V2-1固件和最新的固件版本,通过这个可以观察对比是否升级,如下图所示:我们看到开发板ST LINK/V2-1的固件版本低于最新的版本,点击“Yes”按钮,把ST LINK/V2-1升级到V2.J28.M16。稍等一会(虚拟机下,会出现连续的USB枚举现象,不要紧张这是正常的,等待升级完成后可以重新插拔一次线缆再连接至虚拟机即可),固件升级完成后开发板会自动复位重启。说明:升级到最新的ST LINK/V2-1固件可以解决一些已知的调试时可能出现的bug、对新MCU调试的支持和提升调试性能等,建议每隔一段时间升级一次该固件。但ST LINK驱动只需要安装一次即可。4.    调试简单程序把开发板接入电脑,虚拟机下可以参考上步再把开发板接入虚拟机中。打开Keil uVision5,点击“Pack Installer”图标打开开发包管理窗口,左侧窗口中选择“Boards->STM32F769I-Discovery(Rev.1)”,右侧点击“Examples->CMSIS-RTOS Blinky(STM32F769I-Discovery)”处的“Copy”按钮,再点击“OK”即可完成示例的添加并打开Keil uVision,如下图:在KeiluVision中执行“Project->Build Target”功能,完成编译。再执行“Debug->Start/Stop Debug Session”开始调试,调试自动停在main函数中,如下图所示:执行“Debug->Run”程序开始运行,此时开发板LED灯开始闪烁:上图中的LD1和LD2会交替闪烁,屏幕的显示只是缓冲区未清空所致(实际已经无法操作),下次重新上电后就不再显示了。执行“Debug->Stop”停止调试,再执行“Debug->Start/Stop Debug Session”返回到程序编写界面。5.    总结6.    参考资料(见2楼或下载pdf)

moyanming2013 发表于 2016-12-7 22:04:46

本帖最后由 moyanming2013 于 2016-12-8 16:39 编辑

论坛限制文章字数在2900字左右,我原文有3100字左右,本文有删减,请下载PDF看全部内容吧。
请问版主能改下文章字数限制吗?----------------------------------------------
如下是文中末尾非常重要的参考资料:
5.    总结本文介绍了如何安装虚拟机,使用虚拟机非常方便而且效率较高,使用挂起功能下次启动时直接进入工作状态,备份的虚拟机不但可以给新同事使用,如果自己的虚拟机出现问题也可以通过简单的复制完成非常干净的“回滚”操作。代码可以使用Git或SVN等来管理,跟具体的开发位置无关,它们都存储在服务器上。还介绍了如何搭建MDK-ARM开发环境并完成DFP的添加。给出了如何安全的安装STSW-LINK009驱动,并更新ST LINK固件。完成这些必须的步骤是为开发、调试打下基础。最后介绍了调试程序的简单方法,这种简单有效的调试方法是基本调试的开始,后续会逐渐介绍更多的调试功能和方法。6.    参考资料.STSW-LINK009ST LINK驱动程序,官方此处下载给了错误的文件:http://www.st.com/content/st_com/en/products/embedded-software/development-tool-software/stsw-link009.html.STSW-LINK007固件下载:http://www.st.com/content/st_com/en/products/embedded-software/development-tool-software/stsw-link007.html.STSW-LINK008,官方可查此驱动已废弃不用,建议用STSW-LINK009:http://www.st.com/content/st_com/en/products/embedded-software/development-tool-software/stsw-link008.html.STSW-LINK009v2.2.0无法下载!!https://www.stmcu.org.cn/module/forum/thread-605984-1-1.html.【F769IDISCOVERY评测】开箱及套件资源展示https://www.stmcu.org.cn/module/forum/thread-609416-1-1.html.MDK-ARMIDE下载http://www.keil.com/download/product/.下载STM32F7DFPhttp://www.keil.com/dd2/pack/.STM32CubeF7http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32cube-embedded-software/stm32cubef7.html.UM1891:Getting started with STM32CubeF7 firmware package for STM32F7 Serieshttp://www.st.com/content/ccc/resource/technical/document/user_manual/47/af/1e/94/ef/a2/49/e6/DM00180213.pdf/files/DM00180213.pdf/jcr:content/translations/en.DM00180213.pdf.          VMwareWorkstation Player下载http://www.vmware.com/products/player/playerpro-evaluation.html.          MDK-ARM开发环境的搭建及调试程序流程http://jingyan.eeboard.com/article/75106.          下载Windows10http://www.microsoft.com/zh-cn/software-download/windows10
一定要认准官方出品!

wolfgang 发表于 2016-12-8 22:01:56

本帖最后由 wolfgang2015 于 2016-12-8 22:09 编辑

moyanming2013 发表于 2016-12-8 21:31
STSW-LINK008已经废弃了,建议使用STSW-LINK009!
不啊,STSW-LINK009才废弃了吧~~ STSW-LINK009 是支持XP环境的,Win7、Win8的环境用008还是很正常的。
而且ST官网的STSW-LINK009 下载链接有误


文档说明:ST-Link/V2-1在Win7,8的PC端USB驱动
(ST-LINK/V2-1 USB driver on Windows Vista, 7 and 8)
STSW-LINK008   2015-07-03


文档说明:ST-Link/V2-1在Win XP的PC端USB驱动
(ST-LINK/V2-1 USB driver on Windows XP (including WinUSB coinstallers))
STSW-LINK009   2015-07-03

moyanming2013 发表于 2016-12-8 22:18:03

wolfgang2015 发表于 2016-12-8 22:01
不啊,STSW-LINK009才废弃了吧~~ STSW-LINK009 是支持XP环境的,Win7、Win8的环境用008还是很正常的。
而 ...

呵呵,一看就知道你没仔细看过。STSW-LINK008主页是:
http://www.st.com/content/st_com/en/products/embedded-software/development-tool-software/stsw-link008.html
你可以看到下图中的信息:
在STSW-LINK008页面上推荐使用STSW-LINK009(009支持除XP外的所有新的windows系统!)。
而且008被标注为“NRND”,意思就是说不推荐新用户使用(存在只为支持已经使用它的老客户)。



Stm32McuLover 发表于 2016-12-7 22:33:51

腻害,学习了:)

wolfgang 发表于 2016-12-7 22:55:29

moyanming2013 发表于 2016-12-7 22:04
论坛限制文章字数在2900字左右,我原文有3100字左右,本文有删减,请下载PDF看全部内容吧。
请问版主能改下 ...

拆分成多层楼~~

peter001 发表于 2016-12-7 23:25:22

厉害,学习了

moyanming2013 发表于 2016-12-8 11:45:39

wolfgang2015 发表于 2016-12-7 22:55
拆分成多层楼~~

嗯,是个方法,但是我想如果限制改成5000字会满足绝大多数情况了吧

wolfgang 发表于 2016-12-8 11:55:42

moyanming2013 发表于 2016-12-8 11:45
嗯,是个方法,但是我想如果限制改成5000字会满足绝大多数情况了吧

太长了,图太多了,会对论坛服务器造成负担。可以参考我这个帖子的方式,分楼层就好

【F769IDISCOVERY评测】STM32F769I-DISCO开发包简介(二)_板载部件介绍


xiaoye82 发表于 2016-12-8 12:25:18

:lol:lol:lol:lol感谢分享,学习l

moyanming2013 发表于 2016-12-8 16:41:27

哈佛祖安智 发表于 2016-12-7 22:33
腻害,学习了

共同进步            

moyanming2013 发表于 2016-12-8 21:31:02

wolfgang2015 发表于 2016-12-8 11:55
太长了,图太多了,会对论坛服务器造成负担。可以参考我这个帖子的方式,分楼层就好

【F769IDISCOVERY评 ...

STSW-LINK008已经废弃了,建议使用STSW-LINK009!

zengyi703-16313 发表于 2016-12-9 08:06:25

谢楼主分享

moyanming2013 发表于 2016-12-11 16:37:08

zengyi703-16313 发表于 2016-12-9 08:06
谢楼主分享

:D:D:D:D:D:D:D:D:D:D:D:D:D:D

zbber 发表于 2016-12-11 21:06:03

淡定,淡定,淡定……
页: [1] 2
查看完整版本: 【F769IDISCOVERY评测】专治各类配置驱动、固件升级等疑难杂症