本帖最后由 toofree 于 2019-1-30 00:47 编辑 / F7 I' ^) W* _ e3 {- r. A $ ]5 Z+ R( J R+ m 【STM8-SO8-DISCO】——2、简单粗暴建工程模板 ! g" C: m. z4 }% @5 w% t4 j/ ^6 D# r9 f5 G$ u) U+ M K' M1 k/ B8 P+ p! P 工欲善其事,必先利其器。一个顺手的工程模板也是比较重要的。 8 C! \6 d, _( m% J# }) u8 C& q) i V: H 本贴以个人使用习惯,在官方STM8S/A函数库工程模板基础上,定制一个自己觉得方便的STM8 IAR工程模板。 一、开发环境及外设库1 I6 d& ^0 p7 S$ B7 y 开发环境:IAR for STM8 V3.10 STM8S外设库:STM8S/A Standard Peripherals Library Drivers V2.3.0 / 16-June-2017(官网下载压缩包“en.stsw-stm8069.zip” ) # L# a* ?( V2 g2 P: |) ?0 B; s % \4 y6 v- K0 O8 ]/ \ 二、创建个人工程模板) I# W6 X7 _ _$ A+ e8 Y0 k 将压缩包“en.stsw-stm8069.zip”解压到本地硬盘,(目录不要太深,最好不要有汉字)。 复制“Libraries”和“Utilities”文件夹。 , {$ C0 F0 Z3 l4 f 粘贴上一步复制的两个文件夹到“STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Template”目录下。由于本贴专为创建IAR的工程模板,不涉及“RIDE”和“STVD”,帮删除此两文件夹。4 _+ F' Q7 ~; H0 z5 o3 j+ [! U1 P 最终“STM8S_StdPeriph_Template”文件夹下效果。 0 [9 r( d* a: C3 [ 进入“STM8S_StdPeriph_Template\EWSTM8”目录。用ultraedit或其它文件编译软件,打开IAR工程配置文件“Project.ewp”。 ; U3 u1 Q/ y' [4 R" V 将所有符串“..\..\..\Libraries”,替换为“..\Libraries”,即减少两级目录。: W5 X$ ?9 Y$ n; z+ b 同样,将所有符串“..\..\..\Utilities”,替换为“..\Utilities”。+ N1 x# e$ b% ?$ z4 I ; Z u3 K5 w/ Y! j$ [ 替换完成后,保存文件设置。“Project.ewp”文件中相关路径最终效果。& a; q9 G$ J. G6 l5 |) \) ~" x- i$ [* [ 在IAR中打开工程文件“Project.eww”。看到默认配置为“STM8S208”,需要修改默认配置,不然每次打开工程都得设置一遍当前工程。 从“工程”下拉菜单中,选择“编辑配置”。 + G8 x3 O3 Y) P8 G6 w7 w 按住鼠标左键,将“STM8S001”配置拖到最顶端。1 D+ A, Z# g: T, E$ v9 k! \( g9 m 9 f8 ~% o6 \) e4 O" k 保存,并退出编辑配置窗口。) S; a6 |7 f1 y+ m5 @ ' M0 z9 p. u! W! P! h 回到主界面,可以看到左边的工程管理窗口中,默认配置已变更为“STM8S001”。 打开工程选项菜单,检查器件是否为“STM8S001”1 ?" u& u& H, C `8 X 检查工程头文件包含路径,及必要的宏定义是否正确 # s# X/ Z# c/ o+ `, _! _ 编译工程,编译无误,工程模板定制成功。 1 k% K$ d. ^/ B 二、测试IAR工程模板% U6 r1 ]5 l2 B1 Q0 ? y0 ` " f f) [6 J% f% U# N 复制工程模板文件夹“STM8S_StdPeriph_Template”,改名为“STM8S_StdPeriph_GPIO”。使用GPIO点灯程序来测试工程模板。 / ]6 l, B3 s0 J- B" H2 q* U$ I7 g 复制目录“STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Examples\GPIO\GPIO_Toggle”下的全部文件。 9 C" C" Y9 S. m3 `1 R, h 将上一步复制的文件,粘贴到测试工程模板目录“STM8S_StdPeriph_GPIO”下,并替换原有文件。 ' G9 J; g9 x D7 x9 B6 I 打开“main.c”文件,程序比较简单,只需要修改LED相关的两个宏定义即可。1 J( e6 K: |# b3 c; G& v+ x# _ 在用户手册中看到,板上LED1对应的STM8S001的GPIO为PA3或PB5 + m- Q% Q+ n: I 修改LED宏定义为PA3
) l. {+ n! \+ i% B- e 编译工程,下载程序到目标板。 下载成功后,程序运行指针指向程序开始。全速运行程序,看到LED1开始闪灯。 工程模板和GPIO点灯测试程序附上: |
老兄的评测绝对算得上是官测的标准教程,佩服!! |
有这个模板 省事多了 上手直接写代码了 |
本帖最后由 toofree 于 2019-2-28 02:13 编辑 把库文件复制到模板工程下省事,只要把这工程文件夹复制到其它任何路径,都能编译工程。 |
学习了 |