IAR for stm8使用标准固件库的方法以及注意事项

标准库其实挺方便的。有了一个模板之后,如果改参数,根本就不需要再去查手册,重新定义寄存器值了。


第一部分,stm8标准库介绍。

stm8的标准库名称代码是stsw-stm8069,根据这个代码就可以到st的官网上下载到最新的固件库。

解压固件库后,有几个文件夹,我这里只是简单的说明各文件夹和文件的作用,具体的说明参考文件包中的chm帮助文档。

Libraries是驱动文件夹,里面的inc文件夹是h文件,src文件夹是c文件,这是最关键的东西。

Utilities是stm自己提供的EVAL开发板程序,如果没用这个EVAL开发板可以无视,有也可以无视,反正就很简单的一个led程序

Project文件夹是工程模板文件,里面有两个重要的文件夹。

一个是Example结尾的,这个是st官方提供的示例程序,我们写程序的时候可以直接从这里面复制粘贴稍微修改一下就能用的,而且若不知道怎么写,这里面也有很多例子可以看。

另一个是Template结尾的,顾名思义就是模板的意思,里面有三种编译器的模板。直接就可以用。此外,这里面还有几个重要的文件。

stm8s_conf.h是配置文件,官方文档说法是可以通过注释与否开关一些外设。我使用这个文件只是在后面加上我自己的h文件,仅此而已。

stm8s_it.c是中断处理文件,所有的中断处理程序都写在这里,模板已经写好,直接填程序就可以了。同名的h文件基本可以无视。

关于,IAR可以选择EWSTM8文件夹下的文件直接使用。如果你没有我这种轻微的程序结构强迫症的话,后面可以不用看了。


第二部分,IAR设置。

st官方是有IAR模板的,如果不删除任何文件,对官方的文件组织结构无视的话,可以直接用。完全不需要其他设置。

下面的内容是去除了自己程序用不到的文件和文件夹后,根据官方的模板重新设置的。

我们自己的程序用到的库文件只有inc,src两个文件夹和Template下的main.c,stm8s_conf.h,stm8s_it.c,stm8s_it.h文件。

新建IAR工程之类的不说了。

新建好了之后,右击左边工程名字---选择option---在general option中----Target----Device选择具体的芯片型号。我经过测试,在新建IAR工程时候选择的芯片型号是无效的,如果这里不进行更改,编译出来的程序可能无效。

IAR for stm8使用标准固件库的方法以及注意事项_第1张图片

然后在C/C++ Compier---Proprecessor添加额外的头文件目录和设备型号,同样的,如果不用标准库,这里可以不用写任何东西。否则必须写,会报错。型号的名字如图所示,相比上面型号后面的C6省略了,具体根据固件库的源码来。$PROJ_DIR$表示当前工作目录。

IAR for stm8使用标准固件库的方法以及注意事项_第2张图片

设置输出hex文件,在Output Conveter中---Output---打勾,选择intel extended格式输出就行了。

IAR for stm8使用标准固件库的方法以及注意事项_第3张图片

添加固件库C文件,h文件不用添加。C文件的添加注意,如果该C文件对应的功能芯片没有,要么不要添加进工程,要么添加进工程后,在左边边栏右击c文件选择-option--对extend from build打勾屏蔽他。

IAR for stm8使用标准固件库的方法以及注意事项_第4张图片

你可能感兴趣的:(stm8)