STM8S單片機開發環境由三大部分組成,包括PC機上的開發軟體(內建開發軟體、驅動程式等)、調試&程式設計器ST-LINK、目标單片機電路闆。如下圖所示:

1、PC機上開發軟體
PC機上的軟體包括:ST-LINK驅動程式、IAR內建開發環境、STM8S标準函數庫、STVP燒錄工具。
-
ST-LINK調試&程式設計器需要驅動程式
這個驅動程式不需要單獨安裝,安裝STVP時會一起安裝。
-
IAR內建開發環境
IAR內建開發環境是集程式編輯、編譯、程式下載下傳、調試等功能為一體的內建開發工具,它可以通過 ST-LINK調試&程式設計器向目标STM8S單片機下載下傳程式,并進行線上調試(包括設定斷點、單步執行、檢視内單片機存資料等)。針對STM8S的內建開發工具有多種,本教程選用IAR內建開發工具,主要是由于其成熟穩定,簡單易用。IAR內建開發工具的全稱是“IAR for STM8”,版本号推薦比較成熟的2.10.5版本 。
-
STM8S标準庫函數
STM8S标準函數庫是ST原廠推出的C語言函數庫,把STM8S單片機的基本操作都封裝成了庫,能極大提高開發效率。STM8S标準函數庫的全稱是STM8S_StdPeriph_Lib_V2.1.0。當然不使用标準庫函數也能進行單片機程式開發,但是這需要自己操作單片機的每個寄存器,需要對單片機内部構造和寄存器的作用非常熟悉才能做到,開發複雜度會成倍增加。
-
STVP燒錄工具
STVP(ST Visual Programmer)燒錄工具也是ST原廠推出的。雖然說一般的程式下載下傳到單片機,使用IAR內建開發環境就可以了,但設定STM8S單片機的選項位元組(OPTION BYTE)使用STVP燒錄工具還是友善一些。選項位元組有兩個最重要、最常用的功能:一是設定讀出保護開關(ROP),大家可能遇到買回來的成品STM8S單片機開發闆,無法用IAR進行程式下載下傳和調試,這就是ROP設定為開了,這種情況下需要用STVP重新設定為關才能用; 二是設定單片機引腳的第二功能,STM8S單片機很多引腳都有多個功能,比如作為SPI接口還是作為定時器通道,也是要通過選項位元組來設定的。
下面說說PC機上的軟體的安裝,要用到的安裝包如下:
- EWSTM8-2105-Autorun.exe
-
IAR for STM8 2.10.5注冊機.7z
上面兩個包是IAR forSTM8的安裝程式及注冊機。第一個直接安裝即可,第二個按壓縮包自帶的教程操作。
-
STM8S_StdPeriph_Lib_V2.1.0.rar
上面這個包是STM8S标準庫函數,不需要安裝,直接解壓備用。每次在IAR中建立新工程後,都要首先把這個包的Libraries\STM8S_StdPeriph_Driver目錄和Project\STM8S_StdPeriph_Template裡面的main.c、stm8s_conf.h、stm8s_it.c、stm8s_it.h等檔案拷貝到新工程目錄下。
- sttoolset.zip
-
sttoolset_pack24_patch.zip
上面的兩個檔案是STVP燒錄工具和ST-LINK驅動程式的安裝包,直接解壓安裝即可。注意會同時安裝STVD(ST Visual Develop)繼承開發軟體,但是STVD預設隻支援彙編語言,是以一般用IAR,安裝後不用就行。
至于這些安裝包,可以從官網上下載下傳,也可以從百度網盤下載下傳(通過盤多多按檔案名搜尋),這裡就不貼了。
2、ST-LINK調試程式設計器
ST-LINK是一款USB接口的硬體産品,連接配接PC機與目标STM8S單片機。下面是一款相容的ST-LINK調試程式設計器:
ST-LINK調試程式設計器一般通過4根杜邦線與目标單片機的電路闆連接配接。4根線分别是電源(3.3V或5V可選),接地GND,以及SWIM和RST。ST-LINK的SWIM和RST與單片機晶片的SWIM和RST引腳相連後,即可對單片機進行調試和程式設計操作。
3、目标單片機電路闆
目标單片機電路闆就是要開發的STM8S單片機系統硬體了。如上面所說,需要把目标單片機晶片的SWIM和RST引腳與ST-LINK的SWIM和RST端口連接配接。在本教程中後面的學習過程中,可以用使用STM8S最小系統闆(僅包含複位電路)作為目标單片機電路闆來做實驗,也可以使用本教程第5部分介紹的STM8S開發闆(包含複位電路、電源開關、锂電充電管理、藍牙通信電路等)來做實驗。
STM8S單片機最小系統闆:
STM8S開發闆:
甚至耐心足夠的話,也可以自己用單片機IC焊接,使用面包闆作實驗。如下(中間上面的小方塊是單片機IC,在其0.65mm間距的引腳上焊了線插在面包闆上):
以上是開發環境的介紹,下面再來簡單說說開發環境的使用。
1、IAR建立新工程
IAR建立新工程的過程,推薦參考這個文檔《STM8在IAR環境下建立工程标準步驟詳述》:http://wenku.baidu.com/link?url=01T1358oA4Hgs4YgaM-YmLD5lCJwx5c1vokjZGr_c0lAkcos5QJ15B2cJHRBLNwlxhmSPepEbvhC3OlsiMJ7N4w2jRcS7-xheI8jerTaHrS
需要特别注意兩點:1)建立完工程後,需要在工程屬性(在workspace視窗中點選工程名,單擊右鍵選option菜單)中設定Debugger的的Driver是ST-LINK,否則預設選Simulator是不會通過實際的ST-LINK連接配接目标單片機電路闆的。
2)把STM8S_StdPeriph_Lib的庫檔案(Libraries\STM8S_StdPeriph_Driver目錄的所有.h和.c檔案)加入後,可能編譯不通過,因為不同的單片機子型号支援的功能不同,總有不支援的功能,不過沒有關系,把編譯出錯的庫檔案從工程中删除即可。
2、使用STVP設定單片機晶片選項位元組(OPTION BYTE)
前面也提到了,兩項設定要通過STVP完成,一是設定讀出保護開關(ROP); 二是設定單片機引腳的第二功能,特别是第一個,新買的單片機IC或最小系統闆、開發闆,最好都要使用STVP設定一下ROP,否則無法在IAR中使用。用STVP的設定的過程比較簡單,這裡也不詳細說了。
開發環境就說到這裡了,從下一片開始,就以STM8S103F3P6這個型号的單片機為例來具體介紹如何使用單片機了。