1、 新建目录Project_IAR4,按照自己的顺序重新组织dll(驱动);inc、src函数库;settings,其他所有文件全部放这个新建的目录下。 2、 双击打开Project.eww,继续更改内部设置。 3、 需更改的内容列表: 位置和项目 目标 说明 ProjectEdir confignations 新建基于STM3210B的配置 编译目标和过程文件存放 ProjectOptionGeneral OptionTarget ST STM32F10x 选择芯片类型 ProjectOption C/C++ CompilerPreprocessorAdditional include directories $PROJ_DIR$ $PROJ_DIR$inc 头文件相对位置,需要包括“map/lib/type”的位置 ProjectOption C/C++ CompilerPreprocessorDefined symbols 空 空白是在Flash里面调试程序,VECT_TAB_RAM是在RAM里调试程序 ProjectOption C/C++ CompilerOptimizationsSize 最终编译一般选择High 调试可选None None,Low,Medium,High是不同的代码优化等级 ProjectOption LinkerOutput 去掉Overrride default 输出格式使用默认 ProjectOption LinkerExtra Output 打开General Extra Output去掉Overrride default 厂家要求 ProjectOption LinkerConfig 打开Overrride default $PROJ_DIR$lnkarm_flash.xcl 使用Flash调试程序,如果需要使用RAM调试则改为lnkarm_RAM.xcl ProjectOption DebuggerSetupDriver Third-Party Driver 使用第三方驱动连接单片机 ProjectOption Debugger Download Use flash loader 下载到flash所需的设置 ProjectOption Debugger Third-Party Driver Third-Party DriverIAR debugger driver $PROJ_DIR$ddlSTM32Driver.dll 驱动文件路径 注1:所有跟路径相关的设置需要根据实际情况编写,相对路径的编写——“$PROJ_DIR$”代表eww文件所在文件夹,“..”代表向上一层。 注2:其他设置使用库函数里面的工程文件的默认选项即可,初学不用了解太多。
4、 需要重新删除并重新添加Project下“FWLib”和“User”的所有文件,为了删减外设模块方便需要在“USER”额外添加“stm32f10x_conf.h”(不添加也可以,需要展开main.c找到它)。然后执行ProjectRebuid All,通过则设置完毕。
5、 完成以上步骤,第一个自己习惯的程序库就建立完毕了,以后可以从“stm32f10x_conf.h”中删减各种库文件,从“stm32f10x_it.c”编辑中断,从“main.c”编写得到自己的程序。最后需要将这个库打包封存,每次解压缩并修改主目录名称即可。
6、 我的程序库特点: a) 默认兼容ST-LINK-II,IAR EWARM 4.42A,Flash调试,其他有可能需要更改设置 b) 为操作方便减少了目录的层次 c) 为学习方便使用网友汉化版2.0.2固件,主要是库函数中c代码的注释。
后面随着学习深入将在我的模板里面加入如下内容: d) 加入必用的flash(读取优化),lib(debug),nvic(中断位置判断、开中断模板),rcc(时钟管理模板,开启外设时钟模板),gpio(管脚定义模板)的初始化代码,所有模板代码用到的时候只要去掉前面的注释“//”,根据需求填入相应值就可以了。 e) 因为自己记性不好,所以main函数中的代码做到每行注释,便于自己以后使用。 f) 集成Print_U函数简单串口收发函数代码,便于调试,改变使用Printf函数的调试习惯。 g) 集成使用systick的精确延时函数delay。 h) 集成时钟故障处理代码。 i) 集成电压监控代码。 j) 集成片上温度检测代码。 k) 逐步加入所有外设的初始化模块
下面是我的模板与表格的图版 相关链接:https://bbs.21ic.com/upfiles/img/20091/2009130221121190.rar |