本帖最后由 toofree 于 2019-1-30 00:47 编辑 # v, C3 D# Q% _2 @ T 【STM8-SO8-DISCO】——2、简单粗暴建工程模板 工欲善其事,必先利其器。一个顺手的工程模板也是比较重要的。 本贴以个人使用习惯,在官方STM8S/A函数库工程模板基础上,定制一个自己觉得方便的STM8 IAR工程模板。. i. w6 u( \: l( z, \. x0 r% [ 一、开发环境及外设库 开发环境:IAR for STM8 V3.10 STM8S外设库:STM8S/A Standard Peripherals Library Drivers V2.3.0 / 16-June-2017(官网下载压缩包“en.stsw-stm8069.zip” ) & X5 B8 H: E# I1 D4 U/ r+ p & W* P5 F, I% i2 ~* | Y 9 f0 C) z a P& I1 P* j* O2 m 二、创建个人工程模板, j/ Z5 |0 E6 L0 U, H/ h 将压缩包“en.stsw-stm8069.zip”解压到本地硬盘,(目录不要太深,最好不要有汉字)。* [! P! G' T' r9 x5 \7 I2 ? 9 l- g( S. x% O$ I8 G4 i4 V 复制“Libraries”和“Utilities”文件夹。3 d* _' j! Z7 t: q 粘贴上一步复制的两个文件夹到“STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Template”目录下。由于本贴专为创建IAR的工程模板,不涉及“RIDE”和“STVD”,帮删除此两文件夹。0 }* W8 W, p7 A$ b, C0 N - u) b- x' T7 E X 最终“STM8S_StdPeriph_Template”文件夹下效果。 - H3 I$ m6 I6 z1 D% a9 u 进入“STM8S_StdPeriph_Template\EWSTM8”目录。用ultraedit或其它文件编译软件,打开IAR工程配置文件“Project.ewp”。& `6 p; l, A3 a% l+ O" Y5 @ 3 R4 @8 z+ J+ i# @2 F+ R& a 将所有符串“..\..\..\Libraries”,替换为“..\Libraries”,即减少两级目录。# n. u4 b) [9 o! X# C$ ^ 同样,将所有符串“..\..\..\Utilities”,替换为“..\Utilities”。 替换完成后,保存文件设置。“Project.ewp”文件中相关路径最终效果。# T# U$ Y1 Z- M8 l% d 7 _ N0 o- J3 R" } 在IAR中打开工程文件“Project.eww”。看到默认配置为“STM8S208”,需要修改默认配置,不然每次打开工程都得设置一遍当前工程。0 ]/ c8 x# O4 p1 W# s 从“工程”下拉菜单中,选择“编辑配置”。 8 B8 w5 _1 ^ N4 R' S 按住鼠标左键,将“STM8S001”配置拖到最顶端。 保存,并退出编辑配置窗口。 回到主界面,可以看到左边的工程管理窗口中,默认配置已变更为“STM8S001”。, N g( w1 ^( u8 g; x) m 打开工程选项菜单,检查器件是否为“STM8S001” 检查工程头文件包含路径,及必要的宏定义是否正确) V9 u7 K" I2 V3 J9 Y& A3 S 编译工程,编译无误,工程模板定制成功。. R/ F0 L+ |- v2 X R4 ?- V 二、测试IAR工程模板 复制工程模板文件夹“STM8S_StdPeriph_Template”,改名为“STM8S_StdPeriph_GPIO”。使用GPIO点灯程序来测试工程模板。9 e, T, Z$ F( o9 Y % k- a$ s, G9 ~! F. l- \ 复制目录“STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Examples\GPIO\GPIO_Toggle”下的全部文件。0 }5 [3 ]1 m- c/ g8 h, h, f: `5 _ 将上一步复制的文件,粘贴到测试工程模板目录“STM8S_StdPeriph_GPIO”下,并替换原有文件。 ' I% j4 T4 h0 @. O 打开“main.c”文件,程序比较简单,只需要修改LED相关的两个宏定义即可。 0 a. Y7 V d0 }: K+ L5 V 在用户手册中看到,板上LED1对应的STM8S001的GPIO为PA3或PB5 7 B$ l Q0 ^& P& w3 l( [ 修改LED宏定义为PA3
编译工程,下载程序到目标板。 " H2 C$ I% o! J- h 下载成功后,程序运行指针指向程序开始。全速运行程序,看到LED1开始闪灯。 " o, G, R, j6 M8 [% M% v' y 工程模板和GPIO点灯测试程序附上:1 f7 W X2 H4 |, w |
k; g" @/ F/ l4 |3 I2 K$ g" @