找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8260|回复: 0
打印 上一主题 下一主题
收起左侧

STM32CUBE配置路径和生成项目工程失败相关话题

[复制链接]
跳转到指定楼层
楼主
ID:98618 发表于 2015-12-7 01:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
整理:MilerShao

关于STM32CUBE的使用,ST 官方有出相关视频,有兴趣的话可以下载来看看。网上很多地方都有,在STM32 players 群共享里也有,该QQ群号是188428785。在此视频的基础上再跟大家交流下,使用它的过程中常遇到的一些问题。

 

1、那个官方视频中提到STM32CUBE工具不支持32F1系列,那是做视频时的情况,现在STM32全系列都已经支持了,你大可尽情使用。

                                 

 

    2、STM32CUBE工具由部分组成,一部分是上位机配置软件,即STM32CubeMx,另外一部分是针对STM32各系列的库文件,比方针对SMT32F1系列的STM32CubeF1,针对SMT32F4系列的STM32CubeF4等等。这里说下相关工具软件和库文件的配置问题。
                  

下载了STM32CubeMx【当前版本是STM32CubeMX 4.7.0 后,解压即可安装。安装完毕后随便建立个项目打开STM32CubeMX,参考下图,点击 Help\Updater Settings\Firware Repository会看到一个默认路径。【java安装过程不提了】

                               

     这个路径位置就是用来摆放可能用到的各类STM32系列固件库STM32CubeFx的地方。 当然这个路径你也可以自行修改到你期望的地方,比方D:\STM32APP\CubeMXLib. 如果没有先行加载相关32固件库文件的话,当你用STM32CUBEMX配置好相关项目参数打算生成工程文件时,STM32CUBEMX会提示你的Repository Folder文件夹下找不到相关固件库,提醒是否立即联网下载。

                             

 

   你可以选择下载,这个下载过程跟你的电脑和网络有关,有时可能耗时比较漫长,要有耐心。

  你也可以不在这里进行下载,只借助STM32CUBEMx生成你需要的配置文件后,而另外择时手动去ST官方网站或利用STM32CUBEMX工具里的库更新功能下载相关固件库。【STM32CUBEMX中的STM32固件库即时更新功能请点击 菜单 HELP\Install New Liberay...,然后点击CHECK按钮, 白色空方框的库表示可以进行即时升级的】

             

 

 

 

     这里讲下手动加载STM32CUBE固件库的使用问题。这里以STM32CubeL1CUBE固件库的加载过程为例。先从ST官网或其它地方下载到针对STM32L1系列的CUBE固件包stm32cube_fw_l1_v120.zip,将其放到除了Repository Folder文件夹的任何地方,然后进行库文件的加载,即把下载到的stm32cube_fw_l1_v120.zip加载到STM32CUBEMX环境里。 先点击 HELP\Install new liabrary...出现如下界面:【图中的32CubeL1固件库的地方已经绿色方框了,说明已经是加载好了。加载前应该是空白框,这里示意下而已。】

       

    点击上图中的红色箭头所指,进行压缩包的加载完成。如下图所示:
        

     3、这里再聊聊工程项目文件的路径话题。点击STM32CubeMx的菜单 project\settings\即可看到下面图示界面。有关工程项目的名称、路径、编译环境、用到的MCU型号及其固件库的信息都显示得很清楚,你可以自行命名工程项目和调整其存放目录。注意,最下面两项关于MCU及固件版本信息此处你没法调整。

                               

            这里要提醒的是,工程项目路径中不能夹杂中文字符,不然编译时会出错,做如下提示:

                             

还有,你建立工程文件后,电脑里安装的相关的编译环境版本要匹配,不要低于STM32CubeMx里期望的。

    4、最后提下,使用STM32CubeMx配置过程中常遇到的其它几个话题。

    4.1、在做CLOCK configuaration时,如果需要用到外部时钟源的话,必须在管脚配置状态Pinout栏,对RCC外设进行配置。

                        

    其中一个选项Bybass clock source 是指从外部引入相应的时钟源到MCU振荡电路部分。Crystal/Ceramic Resonator 是指我们常用的晶体或陶瓷振荡器。

    4.2、在做NVIC【中断矢量控制器】配置时,这点需要你对各个系列内核的中断控制有所了解,在对32F1/F2/F3/F4系列芯片配置时,首先要选择中断优先级的分组,然后再对各个中断源进行优先级的安排,当然后面可以在代码中适时更改。如下图所演示:

                      

 当然对于M0M0+内核的32F0/32L0来说就没有中断优先级分组的问题,只需设置优先级高低就好。如下图所演示:

                     

    4.3、不算问题的问题。

的确,利用STM32CUBEMX可以帮助开发工程师方便地对STM32 MCU的有关外设管脚和时钟及中间件做配置,整个过程中多数情况下只需动动鼠标就好,最后生成比较完整的配置文件供工程项目使用。尤其在管脚安排和时钟配置方面,大大节省了工程师们研读手册的时间和精力。不过它毕竟是个辅助工具,虽然省却了许多研究手册的时间,但不等于你啥都不要研读就能完成的,基本的东西还是需要了解和研读,即使动鼠标打勾也还得知道怎么选才行。

比方说,前面提到的NVIC配置问题,如果不清楚NVIC基本知识及相关应用的响应需求,一通乱点后生成的NVIC配置文件恐怕根本不是你真正想要的。

再比方常见的TIMER应用配置问题,如果你对STM32 TIMER没做基本了解,在做TIMER配置时看到下面选项估计也无从下手。

                        

 

最后顺便提下,STM32CUBE工具软件及相关库文件涉及的东西很多,其版本一直有保持更新完善中,尽量使用最新版本,建议开启其自动升级功能。在对STM32CubeMx升级时往往需要重启,重启后一般要以管理员身份操作才能完成升级。

 

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表