【STM32F7】STM32F7开发篇-超详细操作步骤

  • LiuYang
  • LV5工程师
  • |      2015-09-12 08:54:39
  • 浏览量 10197
  • 回复:17

要想开发程序,必先选一个趁手的工具。这么多年来一直使用MDK来开发,所以熟悉一些。而且MDK对于一些新的技术支持很快,用起来比较方便。

虽然现在还没有F7的板子,但是先建个工程来了解一下,顺便看看跟以前有什么不一样的地方。

 

    要选择对应的F7芯片,首先要安装该型号的支持库。安装MDK之后就可以在需要安装的支持库上点“Install”。然而在这个F7上安装的时候,过了好长时间进度条却没怎么动,难道是网络的问题吗?

【STM32F7】STM32F7开发篇-超详细操作步骤

 

又等了等还是不动,没办法,上Keil的官网直接下载吧。下载的时候才发现,原来这个包这么大啊,怪不得这么慢呢。

 

直接下载快了好多,下载后运行安装是一样的。

【STM32F7】STM32F7开发篇-超详细操作步骤

 

安装过程不表,新建工程也和原来的一样,在工程菜单中选择新建,然后找个地方保存

【STM32F7】STM32F7开发篇-超详细操作步骤

 

保存好之后就可以选对应的芯片了。STM32F746 Discovery使用的芯片是F746NG的,所以要选这个

【STM32F7】STM32F7开发篇-超详细操作步骤

各个型号之间还是有些区别的,一定要选对了。

 

选择好芯片之后又来到选择功能组件的地方了。

【STM32F7】STM32F7开发篇-超详细操作步骤

    这里有不一样的地方了。在F1F4系列中,这里可以选择的是标准库,然而到了F7,标准库没了,取而代之的是Cube HAL库了。看来以后的趋势将是HAL库,原来的代码要调整一下了。

    

注意红框的地方,如果这里有东西说明选择的不全,可以点击每一个提示跳转到该位置,把勾打上,直到选择选择。

使用MDK自带的HAL库的好处就是新建工程时不用再去拷贝库文件到工程文件夹中了,减少了操作的步骤。

【STM32F7】STM32F7开发篇-超详细操作步骤

选择完毕,没有选择太多,只保留了能够正常编译所需要的最基本的东西。以后再用到的东西可以随时添加进来。

【STM32F7】STM32F7开发篇-超详细操作步骤

这里面有一些可以配置的项,比如这个RTX_Conf_CM.c,配置操作系统信息的,告诉操作系统运行时的速度是216M,因为这个STM32F746的速度就是216M

其他的几个配置就不说了,基本不用修改。

【STM32F7】STM32F7开发篇-超详细操作步骤

来到工程属性,根据原理图,外部晶振是25M的,所以这里要修改一下。

其他的地方,由于没有板子,所以也就不需要修改了,反正也烧写不了:-)

【STM32F7】STM32F7开发篇-超详细操作步骤

回到工程中,为工程添加一个入口点,Main.cMain.cpp

 

然后添加必须的代码:

#include 

 

int main(void)

{

While (1)

{

 

}

}

【STM32F7】STM32F7开发篇-超详细操作步骤

开始编译,一下子就通过了:-)

只是个空工程,只是为了验证下,没有什么意义,所以还需要添加一些功能代码。

 

遵循世界编程入门法则,从Hello World开始。单片机的世界就是Hello Kitty,啊不对,是点亮LED了。

由于不了解HAL库的用法,所以最简单的方法就是让CubeMX来完成,直接拷贝代码就行了。

【STM32F7】STM32F7开发篇-超详细操作步骤

安装的过程也不说了,安装好后需要添加STM32F7的包。同样还是不在CubeMX中下载,而是导入提前下载好的STM32CubeF7.zip的包,这样快很多。

【STM32F7】STM32F7开发篇-超详细操作步骤

点击红框中的按钮,选择这个包文件的位置,Open后开始导入。

【STM32F7】STM32F7开发篇-超详细操作步骤

都是本地文件,所以很快就能完成。不过这个包也很大,300M左右。

【STM32F7】STM32F7开发篇-超详细操作步骤

导入完成,已经是1.1.0了,看来ST对软件支持很重视。

【STM32F7】STM32F7开发篇-超详细操作步骤

进入正题,新建一个工程,经过筛选后找到STM32F746NGHx这个型号,就对它下手。

 

既然是打算点亮LED,那么还得动用原理图。

【STM32F7】STM32F7开发篇-超详细操作步骤

找到LED.green这个绿灯,发现是连接在PI1这个引脚上

【STM32F7】STM32F7开发篇-超详细操作步骤

封装变了,相比LQFP,要找到某个引脚可不容易啊。不过有办法,看到工具栏中的“Find”了吗,直接找PI1,程序会在这个脚上给出提示。

【STM32F7】STM32F7开发篇-超详细操作步骤

直接点击它,在弹出的菜单中选择Output

【STM32F7】STM32F7开发篇-超详细操作步骤

然后再进行具体的设置。当然,硬件上都已经做好电阻,所以不需要在进行其他的参数设置了,看看就行了。

【STM32F7】STM32F7开发篇-超详细操作步骤

开始生成代码吧。

【STM32F7】STM32F7开发篇-超详细操作步骤

选择路径、工程名,还有IDE名。使用的是MDK,当然要选“MDK-ARM V5”了。

【STM32F7】STM32F7开发篇-超详细操作步骤

进入刚刚自动生成的工程目录,找到main.c文件,打开后其他的东西不用管,只把初始化IO口的这个函数拷贝到刚才自己建立的工程中。

同时在where中我又加了个IO翻转的功能。

 

开始编译,又是很快就通过了,呵呵。没有板子没办法烧写验证,自行脑补一下吧。希望能申请到这个板子,体验一下最新的技术尝尝鲜。


  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:15
LiuYang 2016-01-17
写这个帖子时板子还没拿到
0   回复
举报
发布
云霄一天 2016-01-17
你不是有板子吗 为啥说不能烧录 啊 
0   回复
举报
发布
云霄一天 2016-01-17
你不是有板子吗 为啥说不能烧录 啊 
0   回复
举报
发布
LiuYang 2015-09-17
不如cube的灵活,而且最主要的是从F7开始,MDK的组建直接支持cube了
0   回复
举报
发布
fighter 2015-09-17
 不是有模板程序么
0   回复
举报
发布
fighter 2015-09-17
不是有模板程序么??
0   回复
举报
发布
fighter 2015-09-17
不是有模板程序么??
0   回复
举报
发布
LiuYang 2015-09-17
我也是刚用,因为发现F7要自己配置时钟和其他一些东西的初始化很麻烦。
0   回复
举报
发布
geek123 2015-09-16
支持一个
0   回复
举报
发布
wspytu 2015-09-16
收藏,学习~~~
0   回复
举报
发布
查看更多
x
收藏成功!点击 我的收藏 查看收藏的全部帖子