STM32开发环境(工具)之Keil MDK 介绍
Include Paths:指定头文件的查找路径,可以添加多个。
这里我们所有的选择保持默认选择就可以了。
3. Debug标签页的设置
左边是对应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中完成。源文件的代码清单如下所示。
- #include"stm32f10x_lib.h"
- GPIO_InitTypeDefGPIO_InitStructure;
- voidDelay(vu32nCount);
- /*******************************************************************************FunctionName:main
- *Description:主程序
- *Input:None
- *Output:None
- *Return:None
- ******************************************************************************/
- intmain(void)
- {
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
- GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;
- GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
- GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
- GPIO_Init(GPIOB,&GPIO_InitStructure);
- while(1)
- {
- GPIO_WriteBit(GPIOB,GPIO_Pin_9,
- (BitAction)(1-GPIO_ReadOutputDataBit(GPIOB,GPIO_Pin_9)));
- Delay(1000000);
- }
- }
- voidDelay(vu32nCount)
- {
- for(;nCount!=0;nCount--);
- }
代码编辑完成之后,我们可以保存源文件,选择菜单“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”,这时会出现如下的对话框。
评论