基于keil5 IDE 和mbed云IDE 的stm32F072 nucleo开发方式初探Word格式.docx

上传人:b****5 文档编号:17018284 上传时间:2022-11-27 格式:DOCX 页数:17 大小:2.86MB
下载 相关 举报
基于keil5 IDE 和mbed云IDE 的stm32F072 nucleo开发方式初探Word格式.docx_第1页
第1页 / 共17页
基于keil5 IDE 和mbed云IDE 的stm32F072 nucleo开发方式初探Word格式.docx_第2页
第2页 / 共17页
基于keil5 IDE 和mbed云IDE 的stm32F072 nucleo开发方式初探Word格式.docx_第3页
第3页 / 共17页
基于keil5 IDE 和mbed云IDE 的stm32F072 nucleo开发方式初探Word格式.docx_第4页
第4页 / 共17页
基于keil5 IDE 和mbed云IDE 的stm32F072 nucleo开发方式初探Word格式.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

基于keil5 IDE 和mbed云IDE 的stm32F072 nucleo开发方式初探Word格式.docx

《基于keil5 IDE 和mbed云IDE 的stm32F072 nucleo开发方式初探Word格式.docx》由会员分享,可在线阅读,更多相关《基于keil5 IDE 和mbed云IDE 的stm32F072 nucleo开发方式初探Word格式.docx(17页珍藏版)》请在冰豆网上搜索。

基于keil5 IDE 和mbed云IDE 的stm32F072 nucleo开发方式初探Word格式.docx

STM32F072Nucleo--M0系列mcu,今天的评测主角,后面详细介绍;

STM32F302Nucleo--M4系列mcu,代表了性能,但是低功耗表现也不俗,

图3三款代表性的Nucleo系列L053F072F302

从外观看,没有区别,但是图4的纸板说明书上的气球颜色代表了他们的不同:

-绿色:

表面侧重于低功耗,一般是L系列,L0x,L1x;

-黄色:

介于主流与低功耗之间,这说的就是F0x系列;

-蓝紫色:

颜色描述不准确,可以对照图5的Nucleo图表,是介于主流和高性能之间的.这说的就是STM32F302Nucleo和STM32F3334Nucleo,再往上就是411和401的高性能系列了.本人暂时没有拿到这两个版本.

图4Nucleo开发板的纸板说明书

图5Nucleo系列开发板家族颜色性能分配.

 

二,Nucleo系列开发板支持arduino和自家的Morpho标准接口.

2.1Arduino兼容引脚(Arduino-compatibleHeaders):

2.2ST自家的Morpho(MorphoHeaders-GivingaccesstoallSTM32pins),可以访问所有的STM32引脚:

注意:

只是输出引脚兼容,开发的时候貌似只能通过mbedide(mbed.org网站)来开发,而不能通过标准的arduinoide来进行开发.在arduino的最新ide下没有找到对应的板卡.而且奇怪的这个刚刚推出的STM32F072Nucleo开发板,居然把支持arduino和Morpho的接口图示去掉了.大家仔细看下图,引脚图为空白,而且旁边的文字说明中也不再提到这2种接口,而是直接以mbedenabled来提示,难道是ARM旨在物联网和标准板卡上有意打造自己的品牌辨识度.

图纸卡说明

三Nucleo系列开发板软件开发工具

相对于硬件的规范性,开放性,甚至是免费硬件提供,工程师更多的精力是投入在软件开发上,为了最大程度的提供软件的通用性,可移植性,降低平台迁移或者mcu更换带来的开销,ST为我们提供了非常好的最新支持.ST(意法半导体)Nucleo系列开发板支持众多主流IDE开发:

IAR、Keil、ARMMbed云IDE、GCC-basedIDEs(AtollicTrueStudio,CooCox)等,Keil作为ARM自家产品,自然是工程师首选,也为8bitMCU,51的工程师转至ARMcortexM开发平台提供便利。

以上常用的开发平台的版本(支持nucleo开发板时)要求如下:

•EWARMv7.10.3orlater(a)

–30-dayevaluationedition

–32KBLimitedQuickStartedition(16KBLimitationforCortexM0)

•MDK-ARMv5.01orlater

–MDK-Lite(32KBCodesizelimitation)

•TrueSTUDIOv5orlater(b)

–32KBLimitation(8KBforCortex-M0)Information

以上IDE用来做编译调试软件,强大好用。

不过在没有复杂调试环节下,Nucleo系类开发板还可以通过在线方便的Embed设计工具来实现程序编译下载,只需联网即可实现轻松操作,网友上次搞Nucleo302开发板活动的时候,相信很多网友已经尝试过了,不再花大篇幅赘述,主要流程如下:

预备动作1:

一般是Nucleo开发板是出厂自带的了mbed功能呢,第一次插上我们电脑的时候,必须为他安装正确的驱动,否则会显示st-linknotintalled或者communicationerror字样,这时候,我们就需要安装win7或者xp对应的st-linkV2-1的驱动;

在这里下载

:

1,STM32Nucleo板上集成的ST-Link/V2-1在Win7,8的PC端USB驱动-

2,STM32Nucleo板上集成的ST-Link/V2-1在WinXP的PC端USB驱动-

图6-1驱动下载.

预备动作2:

检查st-linkv2-1的固件版本,最新的版本应该如图所示:

STLinkUpgradeV2J23.M6

下载地址:

https:

//developer.mbed.org/media/uploads/screamer/stlinkupgradev2j23m6.zip

下载以后,解压缩后,双击ST-LinkUpgrade.exe然后出现一下界面,可以对其固件进行更新,以便mbed开发顺利进行.

图6:

最新的st-linkv2-1驱动版本

此时的st-linkV/2-1,就化身全能战士,身兼三职:

1,虚拟串口

2,容量存储、

3,调试接口

不由得让我想起且一直羡慕了很久的,freescale的opensda和新唐的牛桥和nulink,他们都有类似功能.终于,我们强大的st也帮这些功能都普及过来了,偷着乐吧.再也不怕调试的时候,找不到串口转换线了.现在一根usb搞定.

四基于STM32F072Nucleo开发板的不同开发方法实践探索

4.1STNucleoF072RB特点

和Nucleo其他开发板一样,居然高度扩展性,提供了可行性和扩展性去用STM32F072RBT6单片机进行原型设计.看看我们今天的主角.几个特点也是所有Nucleo开发板的特点再次强调一下,大家看板子的mcu代号,都有一个R,表明大家都是64PIN,所有Nucleo系列的板子,只是换了个单片机,核心的核心,再次重申.

图7STM32F401Nucleo开发板硬件原理框图

老生常谈的特点,再次看看这款新出的STM32F072Nucleo:

1.STM32F072RBT6微控制器,基于ARMCortex-M0处理器,最高支持48MHz主频

2.支持ArduinoUNOR3Shield扩展板,微控制器所有IO口引脚通过排针座引出

3.ST-LINK/V2-1调试器,支持对外部微控制器调试,

4.3个LED:

一个USB通讯LED、一个电源LED、一个用户LED;

5.两个机械按键:

复位、用户

6.USB接口的3个不同功能:

虚拟串口、容量存储、调试接口

7.3种不同供电方式:

miniUSB接口供电、IO引脚用电、通过ArduinoUNOR3Shield接口供电

8.支持GccIDE、Keil、IAR、embed在线IDE的设计工具

4.2三种不同的开发途径

1.mbed云端开发(时髦的开发思路)

首先,连接上usb后,各种驱动安装之后,会出现一个nucleo的U盘.如图1所示:

图8nucleo下载优盘128KB

 

打开以后会看到mbed.htm,点击,哈哈,开始平步青云,开始了云端开发,直接跳转到https:

//developer.mbed.org/网站,可以实现在线编写程序,新建项目,导入工程,编译的功能,这样相当于一种云端工作的概念,产生bin以后,下载到刚刚这个u盘,单片机的程序就更新了.听起来很酷. 

很多同学要问调试怎么样办?

一直在云端掉下来怎么办?

虽然此云非彼云,但是有个残酷的事实,摆在大家面前,大项目必须要调试,要保密,不可能一直寄生于云端.何况mbed因为目前还是个国外网站,速度也不是特别给力?

......似乎mbed有些鸡肋.其实mbed早为大家想好了这一切,mbed只是让大家体验这种高在云端的感觉.mbed的根本作用,还是在于最大程度去解放大家,让工作变得轻松有趣,减少重复低级劳动,把整个nucleo或者其他类似的原型开发板抽象成了一个个对象模型,大家开发的时候,基于对象,面向对象,都可以玩起来了.因为你是用C++在编程哦.我们把mbed当成一个在线生成工程的想到就可以了.mbedide具有工程导出功能,可以导出为常见的ide,比如keil,这样好了.我们用mbed来建立项目框架,同时所有的外设和功能块都抽象好了.这样,在本地,用keil,用c++代码慢慢完善修改代码吧.这样之前mbed工程不能在线调试的问题也解决了.看来是天空飘来一片云,帮我们把项目的基石打牢而已.

2.Keil+FW开发方法(传统的开发思路)

mbed是个趋势,也是个时髦的计数,云端代表了方向;

下面说说我们常规的用iar或者kei来开发,一般还是用keil居多,所以用最新的keil说是.首先在社区下载对应的FW库,地址如下

分两个分卷:

part1part2

http:

//www.stmcu.org/download/index.php?

act=down&

amp;

id=7773

id=7774

记着是这个,不要下载discovery了.

解压缩以后,可到此处,STM32_Nucleo_FW_V1.2.1\Utilities\Third_Party\MDK-ARM_STM32F302R8_Patch

打开压缩,运行里面的patch,,否则,会提示点flash下载,会提示你没有找到响应的下载算法,经管,keil5可以认到是302R8芯片,

如果没有出现这个STM32F3xx64KBflash字样,多半是这个问题.安装这个patch以后,就可以正常通过add来添加flash的下载algorithm了.

2其实这里还有个重要细节.许多同学没有撞过stlink-v2-1的驱动的话,在

这个窗口会显示st-linknotintalled或者communicationerror字样,这时候,我们就需要安装win7或者xp对应的st-linkV2-1的驱动;

ok到此,你可以点击菜单里面的FLASh;

download进行下载了

3.基于STM32CubeMx的开发方法(中庸合适的开发思路)

Keil大家都很熟悉,keil一直升级,目前已经到了keil512,支持最新的M7,

st的cubeMx是个好东西.可惜错过了现场研讨会,听说现场非常

推荐这个.没有去成,咱们就自己体验一把吧.我以为就是一个GUI方式的代码生

成工具,嘿嘿,不过评测以后我就更加赞叹.居然直接生成keil5的工程文件.不错把

如何生成keil5的ide工程文件. 

体验nucleoL072开发板的使用.

我们先使用st新出的cubeMX工具来自动生成

一个最简单的keil工程试试看,以keil5.1为例,

还可以选择iar和truestudio,根据需要选择;

1首先打开CubeMX,选择我们的开发板,

2根据自己的需要初始化整个单片机的资源,建立起一种硬件描述的概念,整个单片

都通过HAL层与非常建立连接,增强了通用性,可移植性.通过PC中的CubeMx配置

从而修改相应的CubeFx(0,1,L0,L1,F4)等软件库集成到我们的工程代码中去,让我

们轻松完成对单片机的配置,简化了硬件操作.

3下面和第一个有些重复,侧重于系统的软件结构组织.文件系统操作系统,

一些内部外设模块,通过引入的这些middleware和软件栈,让我们的应用能力

更加强大.

4重头戏来了.CubeMX和keil到底有几毛钱关系呢不会是像siliconlab的configure工具一样只会产生c文件,无法生成ide工程吧.好期待.我们点击源码生成菜单.当然此处首次使用,可能会让我们选择生成的是.c还是ide.

软件可能是java开发的一阵机器轰鸣后,跳出对话框,怎么继续您懂得.

5见证奇迹的时刻到了.keil工程横空出世拉.哈哈..

6对于单片机所用的CubeFxx软件库,CubeMx软件可以进行对应的选择配 

置的.其实就是利用CubeMx对应所需要的不同系列MCU的库文件进行下载,建议用迅雷或者其他下载工具下载,否则通过本软件更新,将会相当漫长.

图10CubeMx配置软件库 

总结

应该是第三种开发方式比较好了.感觉是一种方向.当然其实三者的差别也不是那么大,大同小异吧.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 远程网络教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1