MDK5新建工程步骤

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

首先,打开MDK(以下将MDK5简称为MDK)软件。然后点击Project New uVision Project

桌面新建一个TEST的文件夹,然后在TEST 文件夹里面新建USER文件夹,将工程名字设为test,保存在这个USER文件夹里面。

STM32F103 所使用的STM32 型号为STM32F103ZET6(如果使用的是其他系列的芯片,选择相应的型号就可以了)。

点击OK,MDK会弹出Manage Run-Time Environment对话框,直接点击Cancel,即可。此时我们只是建立了一个框架结构。

还需要添加启动代码,以及.c 文件等这代码主要作用如下:

1、堆栈(SP)的初始化;

2、初始化程序计数器(PC);

3、设置向量表异常事件的入口地址;

4、调用main函数。

ST公司提供了3个启动文件给我们,分别用于不同容量的STM32芯片,这三个文件是:

startup_stm32f10x_ld.s

startup_stm32f10x_md.s

startup_stm32f10x_hd.s

其中,ld.s适用于小容量产品;md.s适用于中等容量产品;hd适用于大容量产品;

这里我们把startup_stm32f10x_hd.s 拷贝到刚刚新建的USER 文件夹里面。

我们找到Target1→Source Group1→双击→设置打开文件类型为Asm Source

file→选择startup_stm32f10x_hd.s→点击Add,

在USER 文件夹下,startup_stm32f10x_hd.s(启动文件)和test.uvprojx(MDK5工程文件)是我们必须用到的2个文件,然后Listings和Objects文件夹是MDK5自动生成的,如果打开Listings和Objects文件夹,就可以看到里面多了一些文件,这就是MDK编译过程产生的中间文件,如果工程量大,产生的文件更多(多的可达100 MB 以上!!)。MDK5.14 已经默认将这些文件生成在了Listings和Objects文件夹里面,但是MDK5.11A及之前版本是不会自动生成这两个文件夹的,所有中间文件都是生成在工程同面目录下,也就是USER 文件夹下,这样会显得比较混乱。

这里,我们不用MDK5 自己生成的这两个文件夹来存放中间文件,而是在TEST 目录下新建一个新的OBJ 文件夹来存放这些中间文件。

然后在Target目录树上点击右键 Manage Project Items,在上面对话框的中间栏,点新建(用红圈标出)按钮(也可以通过双击下面的空白处实现),新建USER和SYSTEM两个组。然后点击Add Files按钮,把SYSTEM文件夹三个子文件夹里

面的:sys.c、usart.c、delay.c加入到SYSTEM组中。

接着,我们新建一个test.c文件,并保存在USER文件夹下。然后双击USER组,会弹出加载文件的对话框,此时我们在USER目录下选择test.c文件,加入到USER组下。

至此,我们就可以开始编写我们自己的代码了。我们在test.c文件里面输入如下代码:

如果我们此时编译的话,生成的中间文件,还是会存放在Listings和Objects文件夹下,所以,我们先设置输出路径,再编译。点击(Options for Target按钮),弹出Options for Target’Target 1’对话框,选择Output选项卡→选中Create Hex File(用于生成Hex 文件,后面会用到)→点击Select Folder for Objects→找到OBJ 文件夹→点击OK。

接着,再设置Listings 文件路径,在图 3.2.16 的基础上,打开Listing 选项卡→点击Select Folder for Listings→找到OBJ文件夹→点击OK,最后点击OK,回到IDE 主界面。

在第一行,会出现一个红色的“X”,把光标放上面,会看到提示信息:fatal error:‘sys.h’file not found,意思是找不到sys.h 这个源文件。现在我们再次点击(Options for Target 按钮),弹出Options for Target’Target 1’对话框,选择C/C++选项卡。

因为战舰板使用的是STM32F103ZET6,FLASH容量为512KB,所以,这个位置我们设置为:STM32F10X_HD。

图中2 处是编译器优化选项,有-O0~-O3四种选择(default则是-O2),值越大,优化效果越强,但是仿真调试效果越差。

图中3 处,One ELF Section per Function主要是用来对冗余函数的优化。

然后在Include Paths 处(4 处),点击 5 处的按钮。在弹出的对话框中加入SYSTEM 文件

夹下的 3 个文件夹名字,把这几个路径都加进去(此操作即加入编译器的头文件包含

路径,后面会经常用到)。

点击OK确认,回到IDE,此时再点击按钮,再编译一次。

相关文档
最新文档