STM8S單片機入門1(開發(fā)環(huán)境搭建)
STM8S單片機開發(fā)環(huán)境由三大部分組成,包括PC機上的開發(fā)軟件(集成開發(fā)軟件、驅動程序等)、調試&編程器ST-LINK、目標單片機電路板。如下圖所示:
1、PC機上開發(fā)軟件
PC機上的軟件包括:ST-LINK驅動程序、IAR集成開發(fā)環(huán)境、STM8S標準函數庫、STVP燒錄工具。
ST-LINK調試&編程器需要驅動程序
這個驅動程序不需要單獨安裝,安裝STVP時會一起安裝。
IAR集成開發(fā)環(huán)境
IAR集成開發(fā)環(huán)境是集程序編輯、編譯、程序下載、調試等功能為一體的集成開發(fā)工具,它可以通過 ST-LINK調試&編程器向目標STM8S單片機下載程序,并進行在線調試(包括設置斷點、單步執(zhí)行、查看內單片機存數據等)。
針對STM8S的集成開發(fā)工具有多種,本教程選用IAR集成開發(fā)工具,主要是由于其成熟穩(wěn)定,簡單易用。IAR集成開發(fā)工具的全稱是“IAR for STM8”,版本號推薦比較成熟的2.10.5版本 。
STM8S標準庫函數
STM8S標準函數庫是ST原廠推出的C語言函數庫,把STM8S單片機的基本操作都封裝成了庫,能極大提高開發(fā)效率。STM8S標準函數庫的全稱是STM8S_StdPeriph_Lib_V2.1.0。當然不使用標準庫函數也能進行單片機程序開發(fā),但是這需要自己操作單片機的每個寄存器,需要對單片機內部構造和寄存器的作用非常熟悉才能做到,開發(fā)復雜度會成倍增加。
STVP燒錄工具
STVP(ST Visual Programmer)燒錄工具也是ST原廠推出的。雖然說一般的程序下載到單片機,使用IAR集成開發(fā)環(huán)境就可以了,但設置STM8S單片機的選項字節(jié)(OPTION BYTE)使用STVP燒錄工具還是方便一些。選項字節(jié)有兩個最重要、最常用的功能:一是設置讀出保護開關(ROP),大家可能遇到買回來的成品STM8S單片機開發(fā)板,無法用IAR進行程序下載和調試,這就是ROP設置為開了,這種情況下需要用STVP重新設置為關才能用;二是設置單片機引腳的第二功能,STM8S單片機很多引腳都有多個功能,比如作為SPI接口還是作為定時器通道,也是要通過選項字節(jié)來設置的。
下面說說PC機上的軟件的安裝,要用到的安裝包如下:
EWSTM8-2105-Autorun.exe
IAR for STM8 2.10.5注冊機.7z
上面兩個包是IAR forSTM8的安裝程序及注冊機。第一個直接安裝即可,第二個按壓縮包自帶的教程操作。
STM8S_StdPeriph_Lib_V2.1.0.rar
上面這個包是STM8S標準庫函數,不需要安裝,直接解壓備用。每次在IAR中創(chuàng)建新工程后,都要首先把這個包的LibrariesSTM8S_StdPeriph_Driver目錄和ProjectSTM8S_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)繼承開發(fā)軟件,但是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、目標單片機電路板
目標單片機電路板就是要開發(fā)的STM8S單片機系統(tǒng)硬件了。如上面所說,需要把目標單片機芯片的SWIM和RST引腳與ST-LINK的SWIM和RST端口連接。在本教程中后面的學習過程中,可以用使用STM8S最小系統(tǒng)板(僅包含復位電路)作為目標單片機電路板來做實驗,也可以使用本教程第5部分介紹的STM8S開發(fā)板(包含復位電路、電源開關、鋰電充電管理、藍牙通信電路等)來做實驗。
STM8S單片機最小系統(tǒng)板:
STM8S開發(fā)板:
甚至耐心足夠的話,也可以自己用單片機IC焊接,使用面包板作實驗。如下(中間上面的小方塊是單片機IC,在其0.65mm間距的引腳上焊了線插在面包板上),:
以上是開發(fā)環(huán)境的介紹,下面再來簡單說說開發(fā)環(huán)境的使用。
1、IAR創(chuàng)建新工程
IAR創(chuàng)建新工程的過程,推薦參考這個文檔《STM8在IAR環(huán)境下新建工程標準步驟詳述》:http://wenku.baidu.com/link?url=01T1358oA4Hgs4YgaM-YmLD5lCJwx5c1vokjZGr_c0lAkcos5QJ15B2cJHRBLNwlxhmSPepEbvhC3OlsiMJ7N4w2jRcS7-xheI8jerTaHrS
需要特別注意兩點:1)創(chuàng)建完工程后,需要在工程屬性(在workspace窗口中點擊工程名,單擊右鍵選option菜單)中設置Debugger的的Driver是ST-LINK,否則默認選Simulator是不會通過實際的ST-LINK連接目標單片機電路板的。
2)把STM8S_StdPeriph_Lib的庫文件(LibrariesSTM8S_StdPeriph_Driver目錄的所有.h和.c文件)加入后,可能編譯不通過,因為不同的單片機子型號支持的功能不同,總有不支持的功能,不過沒有關系,把編譯出錯的庫文件從工程中刪除即可。
2、使用STVP設置單片機芯片選項字節(jié)(OPTION BYTE)
前面也提到了,兩項設置要通過STVP完成,一是設置讀出保護開關(ROP);二是設置單片機引腳的第二功能,特別是第一個,新買的單片機IC或最小系統(tǒng)板、開發(fā)板,最好都要使用STVP設置一下ROP,否則無法在IAR中使用。用STVP的設置的過程比較簡單,這里也不詳細說了。
開發(fā)環(huán)境就說到這里了,從下一片開始,就以STM8S103F3P6這個型號的單片機為例來具體介紹如何使用單片機了。