A.开发环境的搭建:
1.MDK(Keil 5)编译开发环境搭建
1.1硬件要求:
- 主机电脑win10+
- BearPi-IoT Std开发板
- USB Micro线(Windows工作台通过USB与BearPi-IoT Std开发板连接)
1.2.1MDK安装
a.登录MDK官网,下载MDK5软件,下载地址: http://www2.keil.com/mdk5 或者 https://www.keil.com/download/product/ 下载的版本最好在5.24以上.
双击MDK524应用程序文件,点击Next>>
b.打上 I agree前面的勾勾,即是同意一些安装协议。点击Next>>
c.选择安装路径,可以默认也可以安装在我们自己建立的文件夹下,安装路径最好是纯英文的,点击Next>>
d.这里填写的是我们的一些信息,填写完整后,继续Next>>
e.然后等待安装完成即可。
f.安装完成,点击Finish
g.然后会跳出来这个界面,这个我们后面再讲,先点OK,把弹框都叉掉。
h.激活MDK,导入License,激活MDK后便可使用了,至于怎么激活,可以去搜一下。
1.2.2MDK安装:
安装完MDK后,我们需要安装开发套件中单片机型号对应的Pack。
方式一: 登录官网:http://www.keil.com/dd2/pack/ 下载Keil.STM32L4xx_DFP.2.0.0.pack 后安装
方式二:MDK软件上在线安装,(这部分更详细的安装教程建议去看B站江科大的视频[2-1] 软件安装_哔哩哔哩_bilibili)
打开Keil5软件,在导航栏打开Pack安装界面,然后选择ok选项。
进入在线安装界面,选着STM32L4XX Pack,点击Install进行安装
至此,我们BearPi-IOT Stu开发板的单片机程序开发环境已经搭建完毕,重启MDK软件就可以使用了。
1.3ST-Link驱动安装:
a.工具下载:https://pan.baidu.com/s/1wZonu5R91Wwr8FGm4VaoAg?pwd=1234 提取码:1234
解压:en.stsw-link009.zip
以管理员方式运行stlink_winusb_install.bat
将开发板与电脑连接,右击“我的电脑”打开“管理”,点击“设备管理器”,展开“端口”和“通用串行总线设备”如下图所示即为安装成功。
2.STM32CubeMX的环境安装:
2.1安装STM32CubeMX的条件:
a.JRE(Java Runtime Environment):JAVA运行环境。
b.STM32CubeMX软件:生成初始化代码的地方。
c.HAL库 PACK包:F0、F1、F3、H7等Cortex内核,都需要对应的PACK包安装
2.2安装JAVA JRE:
64位JRE官网下载链接: https://www.java.com/en/download/manual.jsp
(1)勾选“更改目标文件夹”,点击“安装”。
以《jre-8u321-windows-x64.exe》版本为例
(2)点击“更改(C)...”修改目标路径地址,最好全是英文路径,否则极容易出bug,如D:\JAVA,然后点击下一步
(3)等待安装完成,关闭界面。
2.3安装STM32CubeMX:
(1)官网下载安装包:www.st.com/stm32cubemx,选择“Get Software”。
(2)选择对应的STM32CubeMX版本信息,本次以STM32CubeMX-5.3.0版本为例。
(3)打开STM32CubeMX-5.3.0安装包,点击“Next”。
(4)同意协议“I accept the terms of this license agreement.”,点击“Next”。
(5) 勾选第一个即可(I have read and understood.....),第二个选项是是否同意ST公司收集你的个人使用信息等。
(6)选择要安装的目录,点击“Next”。
(7)出现弹窗 Warning,点Yes即可
(8) 默认设置,点击“Next”即可。
(9)等待安装完成,点击“Next”。
(10)安装完成后,点击Done,即可完成安装
2.4 安装STM32 HAL库:
(1)打开桌面快捷方式STM32CubeMX 软件,点击右上角“Help”,选择“Manage embedded saftware packages”
(2)如下所示的选择型界面,勾选所需的HAL库,本例程以《智能小屋ZYXC》开发的STM32L431RCT6开发板作为演示,选择的则为STM32L4 —>STM32Cube MCU Package for STM32L4 Series(Size:712MB) 1.14.0版本。
(3)安装完毕后,点击右下角的Close即可。
3.IoT Studio安装 :
IoT Studio下载地址如下:
https://developer.obs.cn-north-4.myhuaweicloud.com/idea/IoT-Studio.zip
下载会得到一份压缩包,其中包含一份安装指南,详细的安装教程可以参考该文档。
使用一键安装方式,无须再手动安装其他工具,安装步骤如下:
双击运行IoT-Studio_0.3.5.exe
文件开始安装。
选择安装路径,可以改动,不要有中文和空格,否则会由bug,这里我保持默认:
确认设置,开始安装:
安装完成,选择是否安装ST-Link和JLink驱动和工具,推荐全选(当然前面已经装了STLINK,所以这里只需要安装JLINK即可):
IoT Studio安装成功之后会自动运行,在首次运行时检测到没有开发工具包,选择“是”,软件会调用浏览器开始下载,下载好之后双击运行developTools.exe
。
软件会自动将需要用到的开发工具解压到C:\Users\Administrator\openSourceTools
目录
这里我是Administrator,不同的用户目录名称不同!
之后软件会自动开始安装ST-Link
和J-**Link**
,根据提示安装即可。
打开工具目录,里面有两个路径需要我们在IoT Studio中配置:
GNU Tools Arm Embedded
:存放arm-gnone-eabi-gcc
编译器的路径,用来编译程序
GNU MCU Eclipse
:存放make
工具的路径,用来构建编译;
这两个路径仅作了解即可,下一节创建项目时会说明如何在IoT Studio中配置
安装完develop Tools之后,再次启动IoT Studio,无提示说明开发工具安装成功,IoT Studio的主界面如下
在IoT Studio启动页面,选择用户指导文档
,即可打开 IoT Studio 完整的使用指南,在以后使用的过程中遇到任何问题,都可以在此文档中找到答案。
B.使用GPIO点亮LED:
1.了解BearPi IOT Stu开发板:
2.点亮LED:
查看原理图,确定控制LED引脚,PC13高电平时,LED灯亮,PC13低电平时,LED灯灭。
2.1STM32CubeMX的工程创建:
a.打开STM32CubeMX软件,打开MCU选择器:
b.搜索并选中芯片STM32L431RCT6,然后双击选中右边的对应的芯片
c.配置时钟源
(注:如果选择使用外部高速时钟(HSE),则需要在System Core中配置RCC;如果使用默认内部时钟(HSI),这一步可以略过;)
这里一般都使用外部时钟
d.接下来选择配置PC13
引脚
先左键单击PC13,然后选中GPIO_Output
e.配置时钟树
STM32L4的最高主频到80M,所以配置PLL,最后使HCLK = 80Mhz
即可
f.生成工程设置,此处设置工程名称、工程保存路径、IDE类型。(注意工程路径不要有中文路径 ,我就是因为中间有个中文路径,导致最后点灯不成功)
点击ProjectManager>>Project>>建立工程文件名ProjectName>>选择工程路径>>选择IDE ——MDK-ARM ,电压为5V
g.代码生成设置
选择左边的Code Generator,接着按下图选择:
最后点击GENERATE CODE
即可生成MDK-V5工程:
如果出现下图就说明代码生成成功了:
h.STM32CubeMX生成的代码目录如下:
进入MDK-ARM文件夹
目录,打开工程:
2.2输入代码:
我们写代码之前,先要了解一些细节
我们写代码时,要在像这种的begin和end组合里写,这样在STM32CubeMX修改工程文件时,可
以避免自己写的代码被覆盖掉,所以以后写代码时,一定要先找到begin和end组合,然后在里面
写,在点灯的代码中,先找到main函数里的while函数,之后按下图去写
while (1)
{
/* USER CODE END WHILE */
HAL_Delay(200);
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13);
/* USER CODE BEGIN 3 */
}
在main.c
中的main函数中编写简单的用户代码,此处的代码的意思为:
每隔200毫秒翻转一次LED引脚的电平,使LED灯达到闪烁的效果。
开发者可自行修改延时时间来调整闪烁频率
2.3代码烧录:
a.编译代码,点击如图所示的按钮编译工程
编译成功
b.设置下载器,点击如图所示按钮打开设置页面(魔法棒):
进行下载设置,选择“ST-Link Debugger”,并点击“Settings”
在“Flash Download”菜单下勾选“Reset and Run”选项,其意思为已达到烧录程序后单片机自动复位并运行程序的目的。然后点击确定
c.下载运行,点击"LOAD"按钮即可烧录代码到单片机中
出现下图就代表烧录成功