新闻中心

EEPW首页>嵌入式系统>设计应用> STM32开发环境(工具)之Keil MDK 介绍

STM32开发环境(工具)之Keil MDK 介绍

作者: 时间:2016-11-27 来源:网络 收藏

Include Paths:指定头文件的查找路径,可以添加多个。
这里我们所有的选择保持默认选择就可以了。
3. Debug标签页的设置

本文引用地址://m.amcfsurvey.com/article/201611/322372.htm

左边是对应uVision3的模拟环境,右边是针对仿真器,这里选择右边的ULINK Cortex Debugger仿真器为例进行说明。
如果已经将ULINK仿真器连接到你的电脑,点击“Settings”你将进入ARM Target Driver Setup 界面。


ULINK - JTAG/SWD Adapter:
Serial No:列出了当前连接到主机的所有ULINK适配器的串号,你可以通过列表选择要使用的ULINK适配器。
ULINK Version,Device Family以及Firmware Version分别列出了当前选择的ULINK适配器的版本,设备家族和固件版本。
SWJ,Port:根据和开发板接口的类型选择端口,有JTAG和SW两种,勾选SWJ表示支持两种方式。
Max Clock:指定和开发板的最高通信时钟。
JTAG Device Chain:显示当前通过适配器连接上的开发板。
Automatic Detection:自动监测,选择系统将自动检测连接上的开发板,建议使用。
Manual Configuration:手动配置,通过手动设置ID CODE,Device Name和IR len等属性来查找设备。
Debug:
Cache Options:
  Cache Code:通知调试器已经下载的程序代码不会改变,选中的话uVision将不会从目标系统读取程序代码。
  Cache Memory:决定调试程序期间程序停止运行的时候,是否更新存储器显示。
Download Options:
  Verify Code Download:比较目标存储器和调试器上的应用程序的内容。
  Download to Flash:将代码下载到所有的存储器区域,如果不选中,调试器不会把代码下载到Flash Download Setup中制定的存储器地址范围。
Misc Options:
  Use Reset at Startup:选中的时候,调试器在开始调试的时候会发起一次CPU复位。 
Load Application at Startup:将Output标签中指定的可执行文件导入到调试器的起始地址。
Run to Main:开始调试时执行到Main函数入口暂停执行。
Initialization File:指定一个包含一组调试命令的文件,这组命令是调试器开始工作或者调试函数在调试期间要使用的。
Restore Debug Session Settings:使用上一次调试过程对Breakpoints,Watchpoints,Memory Display和Toolbox(如果这些项被选中的话)。
Driver DLL – Parameter:由Device Database设置的目标驱动DLL,不要修改。
Dialog DLL – Parameter:由Device Database设置的对话框DLL,不要修改。
这里我们修改了两个地方,选中了Use ULINK和Run to Main,对ULINK的设置进行了一些调整,具体的设置图5.11所示。
4. Utilities标签页的设置


Configure Flash Menu Command
  Use Target Driver for Flash Programming:列表选择和调试接口一致的驱动。Init File的设置也和前面调试设置一致。点击Settings将进入Flash Download Setup界面。


Download Function:定义了Flash烧写的时候进行的操作。
  Erase Full Chip:前面三项要选一,烧写程序之前擦除整个Flash存储器。
  Erase Sectors:烧写程序之前擦除程序要使用的扇区。
  Do not Erase:不进行擦除操作
  Program:使用当前uVision工程的程序烧写ROM。
  Verify:验证Flash ROM的内容和当前工程中的程序一致。
  Reset and Run:在烧写和验证完成之后复位开发板并且运行程序。
RAM for Algorithm:指定用于烧写程序的RAM区域,通常是微控制器上的一段片上空间。
  Start:起始地址。
  Size:大小。
可以通过点击Add添加,点击Add你将看到如下的选择列表,可以根据你选用的芯片选择合适的,也可以自己手动添加。


  Use External Tool for Flash Programming:使用第三方的工具进行Flash下载。
  Command:要使用的Flash烧写工具的命令文件(通常是一个.exe文件)。
  Arguments:传递给Flash烧写工具的参数。
  Run Independent:当选中的时候,uVision不等待Flash烧写完成。不选中的时候uVision要等待Flash烧写完成并且在输出窗口显示烧写结果。
在HelloWorld里面修改了Flash Download Setup,具体的设置如上图所示。到此工程设置就结束了。

5.1.2.3 打开工程
通过菜单“Project”->“Open Project”来打开一个现有工程,这时将弹出一个打开文件对话框让我们选择要打开的工程文件。
选择你要打开的工程的路径,然后点击“Open”打开工程。我们还可以和打开其他文件一样,找到一个后缀为“uv2”的uVision3工程文件,直接双击,Windows会自动调用uVision3打开这个文件,前提是你电脑已经安装了uVision3并且和“uv2”文件建立了关联。

5.1.3 编写源程序
选择菜单“File”->“New”或者点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编辑窗口,在该窗口可以输入程序代码。
需要说明的是,源文件就是一般的文本文件,不一定使用Keil软件编写,可以使用任意文本编辑器编写,而且Keil的编辑器对汉字的支持不好,建议使用UltraEdit之类的编辑软件进行源程序的输入。
每一个程序至少有一个原型为int main(void)的主函数,这是程序的入口地址,程序将从这里开始运行。此外,我们还需要对开发板做一些时钟和中断方面的初始化工作,这些工作将在函数RCC_Configuration和NVIC_Configuration中完成。源文件的代码清单如下所示。

  1. #include"stm32f10x_lib.h"
  2. GPIO_InitTypeDefGPIO_InitStructure;
  3. voidDelay(vu32nCount);
  4. /*******************************************************************************FunctionName:main
  5. *Description:主程序
  6. *Input:None
  7. *Output:None
  8. *Return:None
  9. ******************************************************************************/
  10. intmain(void)
  11. {
  12. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
  13. GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;
  14. GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
  15. GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
  16. GPIO_Init(GPIOB,&GPIO_InitStructure);
  17. while(1)
  18. {
  19. GPIO_WriteBit(GPIOB,GPIO_Pin_9,
  20. (BitAction)(1-GPIO_ReadOutputDataBit(GPIOB,GPIO_Pin_9)));
  21. Delay(1000000);
  22. }
  23. }
  24. voidDelay(vu32nCount)
  25. {
  26. for(;nCount!=0;nCount--);
  27. }


代码编辑完成之后,我们可以保存源文件,选择菜单“File”->“Save”或者点击工具栏的保存文件按钮,可以用来保存源文件。
这时会出现一个保存文件的文件对话框,选择你要保存的路径,输入文件名HelloWorld.c。注意一定要输入扩展名,如果是c程序文件扩展名为.c,如果是汇编文件扩展名为.s,习惯.asm的也可以存储为.asm。注解说明文件可以保存为.txt的扩展名。
源文件编辑完成之后我们还需要将源文件加入到工程中,工程建好之后,在工程窗口的文件页中,将会出现“Target 1”,前面有个“+”号,点击“+”号展开,可以看到下一层的“Source Group 1”,我们需要向这个里面加入源文件,点击“Source Group 1”使其反白显示,然后,点击鼠标右键,出现一个下拉菜单,如下图如示。


选中其中的“Add file to Group ‘Source Group 1’”,出现一个对话框,要求寻找源文件,如下图所示。


注意,该对话框下面的“文件类型”默认为C source file(*.c),我们可以通过调整这个来选择过滤我们想要格式的文件,从而帮助我们快速查找文件。如果是汇编文件,就选择“asm source file”;如果是目标文件,选择“Object file”;如果是库文件,选择“Library file”。最后点击“Add”,也可以双击要添加的文件进行加入。注意:点击“Add”之后,窗口不会消失,如果要添加多个文件,可以不断添加,添加完毕此时再点击“Close”关闭该窗口。初学者时常误认为操作没有成功而再次双击同一文件或者再次点击“Add”,这时会出现如下的对话框。


在这里我们把刚新建的HelloWorld.c添加进去,文件添加进去之后,我们点击“Source Group 1”前面的“+”号,就会发现我们刚刚添加的文件HelloWrold.c已在其中了,双击文件名,即在代码区打开该源程序文件。
除了添加文件,我们还可以添加新的Group,操作和添加文件类似,出现下拉菜单之后我们选择“New Group”,这时就会在工程窗口看到新加的Group。对Group和添加文件的操作我们还可以通过点击工具栏上的彩色品字按钮进入“Components,Environment and Books”窗口,如下图所示。



评论


技术专区

关闭