本帖最后由 toofree 于 2019-1-30 00:47 编辑 & N! r1 O8 E: U, R' G / y$ T% _5 B( Y; d6 N' } 【STM8-SO8-DISCO】——2、简单粗暴建工程模板 9 q9 f2 [ I# c' N- u# O' @7 q0 g3 [$ e: g 工欲善其事,必先利其器。一个顺手的工程模板也是比较重要的。 8 s' i. [. D; S% @" N/ p 本贴以个人使用习惯,在官方STM8S/A函数库工程模板基础上,定制一个自己觉得方便的STM8 IAR工程模板。 z( c! |! ~7 V& v6 i% y 一、开发环境及外设库8 |" G3 v$ C- w* p 开发环境:IAR for STM8 V3.10 STM8S外设库:STM8S/A Standard Peripherals Library Drivers V2.3.0 / 16-June-2017(官网下载压缩包“en.stsw-stm8069.zip” ) ) O& D9 P- L. n0 M) T& | a5 Y2 ` ; J: }9 ^( u* W% B& W4 X # k. K+ g0 Q* y9 _ 0 A4 @. h, x- @# k5 f 4 E3 g2 Y+ g5 i3 Z; H. q* M- ] 二、创建个人工程模板 将压缩包“en.stsw-stm8069.zip”解压到本地硬盘,(目录不要太深,最好不要有汉字)。 % o5 w8 S' W* V, P$ L0 o$ [ 复制“Libraries”和“Utilities”文件夹。1 t. s8 C0 z8 `1 s" G * B- L) l9 O* ~; K4 A 粘贴上一步复制的两个文件夹到“STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Template”目录下。由于本贴专为创建IAR的工程模板,不涉及“RIDE”和“STVD”,帮删除此两文件夹。' f1 D; |2 k. v4 v: n 3 D) {9 i/ Y6 D 最终“STM8S_StdPeriph_Template”文件夹下效果。 进入“STM8S_StdPeriph_Template\EWSTM8”目录。用ultraedit或其它文件编译软件,打开IAR工程配置文件“Project.ewp”。 " x3 c6 |" t% T4 K) b 将所有符串“..\..\..\Libraries”,替换为“..\Libraries”,即减少两级目录。5 i, J# s" f# L: e- f, O2 O& j) V8 a 同样,将所有符串“..\..\..\Utilities”,替换为“..\Utilities”。 替换完成后,保存文件设置。“Project.ewp”文件中相关路径最终效果。 在IAR中打开工程文件“Project.eww”。看到默认配置为“STM8S208”,需要修改默认配置,不然每次打开工程都得设置一遍当前工程。 从“工程”下拉菜单中,选择“编辑配置”。 按住鼠标左键,将“STM8S001”配置拖到最顶端。 1 x4 o- z, p6 D o9 b 保存,并退出编辑配置窗口。6 }, Z P' H) k, q# i, b: D8 s+ ~ |. R$ k% r4 m/ w6 z$ \4 G# S 回到主界面,可以看到左边的工程管理窗口中,默认配置已变更为“STM8S001”。 0 J6 ?4 Y& X& a2 c 打开工程选项菜单,检查器件是否为“STM8S001”0 l S: V2 c: h; x# A7 `. k8 Y 检查工程头文件包含路径,及必要的宏定义是否正确( _! Z8 c6 n0 u* E 1 P3 [+ N6 {, a 编译工程,编译无误,工程模板定制成功。 - v* t% R7 B3 y 二、测试IAR工程模板0 U2 D- B- r A" ^& r, ] 复制工程模板文件夹“STM8S_StdPeriph_Template”,改名为“STM8S_StdPeriph_GPIO”。使用GPIO点灯程序来测试工程模板。 ; n' _4 _ L. j7 F( f" r8 X 复制目录“STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Examples\GPIO\GPIO_Toggle”下的全部文件。! E: v, p ^ Y) R* [. l' x 将上一步复制的文件,粘贴到测试工程模板目录“STM8S_StdPeriph_GPIO”下,并替换原有文件。9 a6 X/ [ w3 @. q$ a8 Z, w% @9 @& Z $ m* z: k: f+ a: J1 J 打开“main.c”文件,程序比较简单,只需要修改LED相关的两个宏定义即可。1 }" m. Y4 V3 }1 Z" H 1 O4 z8 K$ T, t' M! a 在用户手册中看到,板上LED1对应的STM8S001的GPIO为PA3或PB5 修改LED宏定义为PA3
编译工程,下载程序到目标板。 下载成功后,程序运行指针指向程序开始。全速运行程序,看到LED1开始闪灯。+ }; A! y4 ~ G0 N3 R 工程模板和GPIO点灯测试程序附上: o u Z- W& w) J4 v$ \/ X) A |
老兄的评测绝对算得上是官测的标准教程,佩服!! |
有这个模板 省事多了 上手直接写代码了 |
本帖最后由 toofree 于 2019-2-28 02:13 编辑 把库文件复制到模板工程下省事,只要把这工程文件夹复制到其它任何路径,都能编译工程。 |
学习了3 C5 W2 X) R, \6 w# P& d7 R( w |