一、在IAR EWARM中建立工程的步骤:
1. 建立工程项目文件
新建一个文件夹来存放整个工程项目,在该项目文件夹下建立几个子文件夹存放不同类别的文件:
i. 将官方模板中的stm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h和空白main.c文件复制到该项目文件夹下;
ii. Obj-存放工程文件,将官方模板中的cortexm3_macro.s、lnkarm_flash.xcl、lnkarm_ram.xcl和stm32f10x_vector.c文件复制到该文件夹下。
iii. library-存放STM32 FWLib文件,将官方提供的固件库library复制到该文件夹下。
2. 在IAR中建立工程
打开IAR,在Project菜单下新建工程,把该工程存放在刚刚建立的Obj子文件夹下;
3. 工程管理
i. 为了方便项目的管理,在刚建立的项目中添加几个Group用来放置不同类型的文件:
1).FWLib-用来存放所需固件库的头文件;
2).StartUp-用来存放STM32的启动代码,添加cortexm3_macro.s和stm32f10x_vector.c(中断向量表);
3).User-用来存放用户文件,添加main.c和stm32f10x_it.c(中断空函数)
ii. 进行项目设置:
在工程上单击右键,选择Option,打开工程设置窗口:
1).在General Options->Target->Device中选择ARM器件型号“ST STM32F10x”;
2).在C/C++ Compiler->Preprocessor->Additional include directories中填入
$PROJ_DIR$\..\
$PROJ_DIR$\..\library\inc
注:$PROJ_DIR$表示工程所在路径,\..\表示返回上一级目录。
3).在linker->config->Linker command file里选中Override default,然后根据实际情况填入$PROJ_DIR$\lnkarm_ram.xcl,并同时在C/C++ Compiler->Preprocessor->Defined Symbols里填入“VECT_TAB_RAM”(在RAM中调试);
或者
$PROJ_DIR$\lnkarm_flash.xcl,并同时在C/C++ Compiler->Preprocessor->Defined Symbols里填入“VECT_TAB_FLASH”(在FLash中调试);
4).在Debugger->Driver中选择“Third-Party Driver”,在Third-Party Driver->IAR debugger Driver中填入ST LINKII的驱动C:\Manley\drivers\STLink\STM32Driver.dll”;
4. 编译调试
在stm32f10x_conf.h中将没有用到的外设注销,将所需外设固件库的头文件添加到工程中;