STM8S開發入門之使用EWSTM8(IAR STM8S)新建工程點亮一個LED(基於STM8S001J3)

李工喜榮說:

1、預先安裝好EWSTM8(IAR STM8)軟件,全稱爲IAR Embedded Workbench for STMicroelectronics STM8 IDE

2、下載好STM8S標準庫,此處所用標準庫爲STM8S_StdPeriph_Lib V2.3.1

3、新建個文件夾(名稱自定),作爲項目所在文件夾,並在項目文件夾裏再新建兩個文件夾,此處分別命名爲FWLIB和USER。(注:這兩個文件夾名字可以按你們自己意思取,無限制,如可以取HWLIB、SYSLIB、MYLIB、MYAPP、MYABC、XZY等)

4、將STM8S標準庫(STM8S_StdPeriph_Lib V2.3.1)——Project——STM8S_StdPeriph_Examples——GPIO——GPIO_Toggle文件夾下的main.c、stm8s_conf.h、stm8s_it.c、stm8s_it.h這4個文件複製到剛纔創建的USER文件夾下。

5、將STM8S標準庫(STM8S_StdPeriph_Lib V2.3.1)——Libraries——STM8S_StdPeriph_Driver裏面的inc和src文件夾複製到剛纔創建的FWLIB文件夾下。

6、啓動IAR STM8軟件,點擊菜單Project——Create New Project

7、軟件將彈出窗口如下,Tool chain 選擇 STM8 Series(系統默認),再選擇C,點擊OK確定

8、在彈出窗口中先選擇之前所創建的項目文件夾,然後在命一個項目名,保存

9、好了,一個項目模型出現了。在第7步時,我們選擇了“C”,所以生成項目後默認有個main.c文件。右鍵點擊main.c,在彈出窗口中選擇“remove”,刪除它。

10、右鍵點擊左側窗口中項目名稱,在彈出窗口中選擇Add——Add Group,新增一個虛擬文件夾,此處我將其命名爲USER(大家可以自定義,而且可以取和第3步創建的文件夾不同的名字)。

11、右鍵點擊剛纔所建立的文件(此處參考爲USER),在彈出窗口中選擇Add-Add Files,選擇原來創建的項目文加下USER裏面的4個文件。(此操作以及第10步操作,並未在電腦上真正產生新的文件夾和文件,實際上左側窗口的這些文件夾和文件更像是一種超鏈接)。添加完成後,便可在IAR左側窗口的USER下看到4個文件列表了。

12、以同樣的方式,右鍵點擊左側項目名稱,Add——Add Group,我這裏還是同樣命名爲FWLIB,然後再以同樣方式,右鍵點擊FWLIB,Add——Add Files,選擇真實文件夾FWLIB——src下的所有文件。注意,這裏沒有選擇inc,只選擇了src裏面的文件。

13、此時項目基本建成,點擊保存或者編譯,軟件可能提示要保存個eww,這個是工作空間的意思。如果之前有建立過工作空間,軟件應該不會彈出這個窗口。

14、接着,我們對項目進行一些基本配置。右鍵點擊左側窗口的項目名,在彈出列表中選擇“Options”,然後軟件會彈出如下窗口。第一步,我們先設置好我們所用的單片機類型。General Options——Target——Device。

 15、同樣在Options窗口中選擇C/C++ Compiler——Preprocessor——Additional include directories,將項目文件夾、FWLIB下的inc文件夾和USER這三個文件夾添加進來。如下圖所示操作。

 

16、在設置下Output Converter和Debugger。

17、好了,這時候可以嘗試編譯(Compile)一下了。結果悲劇 "Please select first the target STM8S/A device used in your application (in stm8s.h file)"。什麼原因呢?我也不懂,不過這句話給了提示:in stm8s.h file,那我們就找找stm8s.h文件。打開main.c文件,我們就可以看到第一行代碼就有#include “stm8s.h”,然後看左側,main.c下展開有個stm8s.h文件,沒錯,就是它,雙擊打開。原來是沒有定義單片機型號,看來我們之前第14步設置的單片機型號在這裏不起作用,那就再定義下。還是在Options窗口中選擇C/C++ Compiler——Preprocessor——Defined symbols,輸入STM8S001,注意,不是STM8S001J3,是001,這個要和stm8s.h文件裏面描述的一致。

 

17、再編譯(Compile)看看。系統提示identifier “GPIOH” is undefined。沒關係,因爲我們是從樣例項目距中拷貝的main.c文件,有些內容和我們選擇的單片機不匹配,那就修改修改。我們看STM8S001J3有哪些IO口,我這裏選擇PB5,更改。

 

 18、這時候Compile沒問題了,Make看看。錯誤一堆!identifier “ADC2” is undefined,identifier “ADC2_CSR_RESET_VALUE” is undefined,還有CAN、TIM3、TIM5、TIM6、UART2、UART3、UART4等。什麼情況,原來是我們之前導入的FWLIB\SRC文件夾下包含了這寫C文件,但是STM8S001J3並沒有這些功能。那怎麼辦?刪除!哪裏刪除?在IAR工程左側窗口,展開FWLIB,根據錯誤提示,右鍵單擊對應的文件,remove。再Make,完美!

 

項目源代碼分享:https://download.csdn.net/download/mrlixirong/12117483

發佈了100 篇原創文章 · 獲贊 55 · 訪問量 55萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章