1、新建目录Project_IAR4,依照自己的次序从头组织dll(驱动);inc、src函数库;settings,其他一切文件悉数放这个新建的目录下。
2、双击翻开Project.eww,持续更改内部设置。
3、需更改的内容列表:
方位和项目方针阐明
ProjectEdirconfignations新建依据STM3210B的装备编译方针和进程文件寄存
ProjectOptionGeneralOptionTargetSTSTM32F10x挑选芯片类型
ProjectOptionC/C++CompilerPreprocessorAdditionalincludedirectories$PROJ_DIR$
$PROJ_DIR$inc头文件相对方位,需求包括“map/lib/type”的方位
ProjectOptionC/C++CompilerPreprocessorDefinedsymbols空空白是在Flash里边调试程序,VECT_TAB_RAM是在RAM里调试程序
ProjectOptionC/C++CompilerOptimizationsSize终究编译一般挑选High
调试可选NoneNone,Low,Medium,High是不同的代码优化等级
ProjectOptionLinkerOutput去掉Overrridedefault输出格局运用默许
ProjectOptionLinkerExtraOutput翻开GeneralExtraOutput去掉Overrridedefault厂家要求
ProjectOptionLinkerConfig翻开Overrridedefault
$PROJ_DIR$lnkarm_flash.xcl运用Flash调试程序,假如需求运用RAM调试则改为lnkarm_RAM.xcl
ProjectOptionDebuggerSetupDriverThird-PartyDriver运用第三方驱动衔接单片机
ProjectOptionDebuggerDownloadUseflashloader下载到flash所需的设置
ProjectOptionDebuggerThird-PartyDriverThird-PartyDriverIARdebuggerdriver$PROJ_DIR$ddlSTM32Driver.dll驱动文件途径
注1:一切跟途径相关的设置需求依据实际情况编写,相对途径的编写——“$PROJ_DIR$”代表eww文件地点文件夹,“..”代表向上一层。
注2:其他设置运用库函数里边的工程文件的默许选项即可,初学不必了解太多。
4、需求从头删去并从头增加Project下“FWLib”和“User”的一切文件,为了删减外设模块便利需求在“USER”额定增加“stm32f10x_conf.h”(不增加也能够,需求打开main.c找到它)。然后履行ProjectRebuidAll,经过则设置结束。
5、完结以上过程,第一个自己习气的程序库就树立结束了,今后能够从“stm32f10x_conf.h”中删减各种库文件,从“stm32f10x_it.c”修正中止,从“main.c”编写得到自己的程序。最终需求将这个库打包封存,每次解压缩并修正主目录称号即可。
6、我的程序库特色:
a)默许兼容ST-LINK-II,IAREWARM4.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)逐渐参加一切外设的初始化模块
一、编写程序所需的过程
1、解压缩,改目录称号,和eww文件名,以便跟其他程序区别。
2、更改设置:在“stm32f10x_conf.h”封闭不必的外设(在其声明函数前面加注释符号“//”)。并依据外部晶振速度更改其间“HSE_Value”的数值,其单位是Hz。
3、完结各种头文件的包括(#include“xxx.h”;),公共变量的声明(static数据类型变量称号;),子程序声明(void函数称号(参数);)……C言语有必要的前置作业。
4、改写我的程序库里边所预设的模板,再进行其他模块的初始化子程序代码的编写,并在程序代码的开端部分调用。留意:有必要记住一切外设的运用需求考虑4个问题:
a)开时钟RCC(在RCC初始化中);
b)本身初始化;
c)相关管脚装备(在GPIO初始化中);
d)是否运用中止(在NVIC初始化中)
5、编写main.c中的首要代码和各种子函数。
6、在“stm32f10x_it.c”填写各种中止所需的履行代码,假如用不到中止的简略程序则不必编写此文件。
7、编译生成“bin”的办法:ProjectOptionLinkerOutputFormat,里边挑选“Other”,鄙人面的“Output”选“raw-binary”生成bin。
8、编译生成“hex”的办法:ProjectOptionLinkerOutputFormat,里边挑选“Other”,鄙人面的“Output”选“intel-extended”,生成a79直接改名成为hex或许选中上面的“OutputFlie”在“Overrridedefault”项目里边改扩展名为hex。
运用软件界面的Debug烧写并按钮调试程序。留意,ST-Link-II是直接将程序烧写进Flash进行调试,而不是运用RAM的方法。
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/5g/257410.html