基于STM8s官方标准库建立IAR工程

首先去ST官网论坛下载stm8s固件库:



点进去以后,在固件软件资源里面找到固件库并下载。




下载标准外设库。



下载以后在电脑中解压:


建立STM8 工程模板文件夹:

在文件夹下建立四个文件(这个看个人喜好),我喜欢建立一个工程文件夹Project用于存放工程文件,Library文件用于存放库文件,App用于存放用户程序,Doc用于存放说明文档,


将官方的库文件Libraries文件下STM8S_StdPeriph_Driver这个文件下的内容复制到自己新建的Library文件下,把官方Project文件下Template文件夹下main.cstm8s_conf.h stm8s_it.c 和stm8s_it.h复制到App文件夹下。

  

打开IAR 选择Project-> Create New Project –>ok,将文件保存到Project下:




右击工程选择Add Group,然后依次添加文件App,Libraries。



在App和Libraries文件中添加文件。


在Libraries中添加标准库中src文件夹里所有的**.c文件。


工程设置,选择使用的STM8单片机的具体型号,要注意Code和Data的选项。我们这里以STM8S003k系列为例子。



设置编译器的路径,该路径是寻找*.h的路径。如下为设置前:


下图为设置后。 
$PROJ_DIR$指的是工程文件workspace的保存路径,即*.eew文件的路径。

 ..指点的是上一级路径,即父目录。 
明白上述两点后,将STM8库文件的inc路径包含进去。

$PROJ_DIR$\..
$PROJ_DIR$\..\App
$PROJ_DIR$\..\Library\inc


然后设置Debugger模式为ST-Link


至此设置完成,可以编译工程了。


然后会看到报错!!


报错信息提示是因为没有在stm8s.h文件中设置芯片类型,打开stm8s.h文件做修改。


在这里对芯片型号进行定义,我们选择的是stm8s003,这里根据实际芯片类型进行选择。

然后再次进行编译。会发现还是会报错。


这次是说没有定义ADC2,CAN等等信息,为什么会出现这种问题,我们继续看stm8s.h文件,里面有说明。


这里说明我们定义STM8S003以后只会去定义ADC1,不会定义ADC2,实际上是因为我们选择的这个s003系列芯片上不支持ADC2的功能,所以我们将ADC2,CAN等等没有定义的.c文件从Libraries下面移除就好(我们添加的是所有的功能.c文件,但是具体要看选择的芯片支持哪些功能再进行选择添加)。


移除以后再次进行编译就不会报错了,可以看到有一个waring,STM官方提供的一个库函数有返回值但却没有return语句。


到此结束,接下来就可以按照自己的需要进行编程调试了。


你可能感兴趣的:(单片机开发,标准,库,IAR,STM8s工程)