RVMDK上建立自己的STM32工程.docx
《RVMDK上建立自己的STM32工程.docx》由会员分享,可在线阅读,更多相关《RVMDK上建立自己的STM32工程.docx(13页珍藏版)》请在冰点文库上搜索。
RVMDK上建立自己的STM32工程
图文结合教你在RVMDK上建立自己的STM32工程
发布:
2009-5-2015:
59|作者:
hnrain|查看:
53次
在网上找了很久,还是没有能找到一篇图文结合的介绍如何在RVMDK上建立自己的STM32的工程的好文章,于是下决心自己写一篇。
偶用的是RealViewMDK3.22评估版。
可以在网上搜索一下,很容易就下载到了。
一、先新建一个工程项目文件夹。
由于RV编译环境需要加入比较多的库文件,有用户自己写的代码,也有库文件,还有编译输出文件,还有新建的工程文件。
所以我们最好在新建立的文件夹里再新建几个子文件夹,这样就不容易乱,我按照网上介绍的,建立的GPIO工程如下:
二、首先双击桌面上的KeiluVision3快捷方式,打开的是你上次打开过的一个RV工程。
这个不用理它,你直接点击Project–NewuVisionProject,如下图:
会出现一个CreatNewProject对话框,提示我们要将此工程保存到什么路径之下:
三、我们将工程保存到GPIO文件夹中的Obj子文件夹中,输入文件名(不用输后缀,因为后缀默认为*.uv2),点击“保存”,会自动弹出选择ARM器件对话框:
选择好目标ARM型号,单击“确定”,会弹出一个对话框,提示你是否要添加启动文件,点击“是”:
这样,工程就建立好了。
四、管理建立好的工程。
因为文件比较多,所以我们最好用几个文件夹来放不同类型的文件。
注意,这些文件夹是虚的,实际中并不存在,只是方便管理而已。
如下图:
点击工具栏上的那个“品”字形按钮,或者右击SourceGroup1,选择ManageComponents,出现以下对话框:
根据个人的习惯,建立几个文件夹,一般建立三个:
1)StartUp:
用来存放STM32的启动文件;
2)在Project菜单下的用户写的源文件main.c,保存在User子文件夹下,把该文件添加到工程中(AddFiletoGroup"User")并编写程序代码;
3)将所使用到的库函数加入工程(AddFiletoGroup"Lib"),其中stm32f10x_lib.c文件是整个库的一些定义,是必须要的;在这里,如果不知道使用了哪些库函数,不知道应该添加哪
些库文件进入工程,就添加所有的固件库函数到工程,为了方便可以直接添加:
C:
\Keil\ARM\RV31\LIB\ST路径下的STM32F10xR.LIB文件进入工程;
设置好的界面如下:
我们在编译之前还应该对工程选项做些设置,这些设置也可以在建立工程后马上进行;在工程上单击右键,选择“OptionsforTarget”,打开选项窗口:
Device标签为器件选择,这在建立工程的时候就设置好了。
Target标签为目标设置;
Output标签为输出设置,是输出信息的输出路径,点击“SelectFolderforObjects”,一般偶选择输出文件存放路径为Out子文件夹;
Debug标签为DEBUG调试设置,默认状态为软件调试,而也可以选择JLINK和ULINK或者STLINK-IIDebugger进行硬件调试,选择Runtomain是为了进入调试状态后直接进入主函数;
Utilities标签是程序下载设置。
这样,我们就可以进行程序的编写和编译了。
比起CARM来,偶感觉有点点麻烦,呵呵。
KeilMDK工程管理图文详解
发布:
2009-5-2015:
47|作者:
hnrain|查看:
53次
前几天有人问RVMDK下的工程管理,说前面的博文写的太简单了,希望能写个图文教程。
今日得闲,写下此文送给大家。
好的代码管理方法能给人一种有条理的感觉,通过将不同功能的代码文件分门别类的组织起来,不仅可以理清整个项目的脉络,还可以非常方便的在各代码文件和函数间跳转,从而加快项目的开发速度。
RVMDK的工程管理在ProjectWorkSpace窗口中,上图是我建立好的一个STM32的工程目录,有三个Groups,分别用来存放STM32的启动文件、库文件和用户文件。
下面介绍进行工程管理的步骤:
第一步、在ProjectWorkSpace窗口中刚建好的工程上点击鼠标右键,在弹出的菜单中选择“ManageComponents”,打开项目管理对话框;
第二步、在“ProjectComponents”标签下根据需要建立目录,第一栏是工程的根目录,在这里可以修改目录名;第二栏是添加Groups,可以根据个人习惯建立不同的组来分别放置不同类型的文件;第三栏是为建立的组添加代码文件用的,点击“AddFiles”添加。
这样就完成了工程管理目录的设置,除了用上面的方法添加代码文件外,还可以直接在ProjectWorkSpace窗口中用鼠标右键进行添加。
在ProjectWorkSpace窗口中选择不同的标签还可以查看Regs、Books、Functions等信息,比较有用的是在Regs中查看通用寄存器的值,在Functions中进行不同代码文件和函数间的跳转。
个人认为KeilMDK的工程管理功能还是非常方便的,值得称道
STM32RVMDK学习实例_1.GPIO软件仿真
发布:
2009-5-2016:
05|作者:
hnrain|查看:
60次
使用Keil的RealViewMDK开发工具进行STM32的学习已经有一段时间了,感受最深的是MDK提供的软件仿真功能——很好很强大。
从IAR转到MDK开发环境以后,我就很少像以前那样一遍遍的将程序下载到开发板上进行调试了,而更多的是采用MDK的软件仿真功能进行调试,有事半功倍的效果!
从今天开始,我会陆续把以前做的一些试验发布到Blog里,希望大家多来捧场!
STM32RVMDK学习实例的第一回就从GPIO的软件仿真入手。
我使用的是RealViewMDK3.22评估版,英蓓特对其帮助文件进行了汉化,大家可以到下面的地址下载:
第一步当然是建立工程了,这里就不详细叙述了(可以参考Blog前文,网上也有很多介绍);
第二步编写代码并编译,关键代码如下:
intmain(void)
{
#ifdefDEBUG
debug();
#endif
RCC_Configuration();
GPIO_Configuration();
while
(1)
{
//ForSTM3210B-LK1
GPIO_SetBits(GPIOB,GPIO_Pin_5);
delay();
GPIO_ResetBits(GPIOB,GPIO_Pin_5);
GPIO_SetBits(GPIOB,GPIO_Pin_6);
delay();
GPIO_ResetBits(GPIOB,GPIO_Pin_6);
GPIO_SetBits(GPIOB,GPIO_Pin_7);
delay();
GPIO_ResetBits(GPIOB,GPIO_Pin_7);
GPIO_SetBits(GPIOB,GPIO_Pin_8);
delay();
GPIO_ResetBits(GPIOB,GPIO_Pin_8);
GPIO_SetBits(GPIOB,GPIO_Pin_7);
delay();
GPIO_ResetBits(GPIOB,GPIO_Pin_7);
GPIO_SetBits(GPIOB,GPIO_Pin_6);
delay();
GPIO_ResetBits(GPIOB,GPIO_Pin_6);
}
}
很简单,就是用GPIOB的5、6、7、8位实现流水灯效果。
第三步选择Debug工具,打开“Options对话框”-〉选择“Debug标签”-〉选中“UseSimulator”->确定;
第四步进入Debug模式,打开“Debug菜单”-〉选择“Start/Stop…”此时会弹出32K代码限制的提示,不用理会,确定即可进入软件仿真模式。
Debug工具条如下:
第五步选择外围模块进行仿真,不同型号的STM32会有不同的外设仿真功能。
打开“Peripheral菜单”-〉选择“GPIOB”打开仿真对话框。
点击Debug工具条的运行按钮,在仿真对话框里就可以看到程序的运行结果了,GPIOB的各项参数一目了然。