這篇應該昨天寫的,無奈網速,今天補上
需要準備的軟件,硬件,IAR for stm8 (EWSTM8)、stm8s標準固件庫、ST-LINK、STM8s003f3核心板
安裝IAR(其中包括st-link的驅動),
到這個網址下載stm8s標準固件庫(STSW-STM8069),http://www.st.com/web/en/catalog/tools/PF258009
使用IAR新建一個工程,具體步驟如下:
1,File->New->Workspace
2,創建一個工程:Project->Create New Project...
3,在彈出的對話框中選擇C,-》OK
4,根據提示保存你的工程
5,從stm8s標準固件庫中複製Libraries目錄到你的工程目錄,複製\STM8S_StdPeriph_Lib_V2.1.0\Project\STM8S_StdPeriph_Examples\GPIO到你的工程目錄
6,IAR的工程配置:在工程中添加兩個組Libraries,MyApp。右擊你的工程->Add->Add Group
7,將庫中的*.c文件和主程序目錄的*.c文件分別添加到Libraries, MyApp;右擊相應組->add->add files
8,選擇單片機型號:右擊你的工程Options->General Options->選擇你單片機的型號
9,配置頭文件搜索路徑:上一步切換到C/C++ Complier->Preprocessor->Additional include directory: ( one per line)
10,選擇調試器:切換到Debugger->Driver選擇ST-Link->OK
現在開始編譯拍錯
1,右鍵main.c->Comliper會提示保存workspace,按提示操作,編譯中會提示沒有定義
Fatal Error[Pe035]: #error directive: "Please select first the target STM8S/A device used in your application (in stm8s.h file)" C:\Documents and Settings\Administrator\桌面\EWSTM8_turial\Libraries\STM8S_StdPeriph_Driver\inc\stm8s.h 65
雙擊該條提示,自動定位到錯誤位置,表示沒有定義單片機型號,定義上
#define STM8S003F3
2,再次執行1,這次的提示變爲
Error[Pe020]: identifier "GPIOH" is undefined C:\Documents and Settings\Administrator\桌面\EWSTM8_turial\GPIO\GPIO_Toggle\main.c 54
雙擊該提示,定位到錯誤位置,向上找到 #define LED_GPIO_PORT (GPIOH)
將GPIOH改爲GPIOD(STM8S003F3沒有GPIOH這個IO)
3,再次執行1,OK沒有錯誤
4,整體編譯一遍:右擊工程->Make.
在編譯過程中有一部分文件會報錯,不要擔心,這些是STM8S003F3中沒有的資源,將報錯的文件刪除即可
另外對固件庫瞭解後,可以只添加需要的部分,比如這次使用的是stm8s_gpio.c,那麼只添加stm8s_gpio.c就可以了
5,刪除不需要的,再編譯:OK沒有錯誤,沒有警告
下載並調試,
1,將STM8核心板通過SWIM與ST-Link連接起來,注意線序
2,將ST-Link連接到電腦,(在設備管理器中usb總線中會看到ST-link的相關信息)
3,給stm8核心板加電
4,點擊IAR的Download and debug,點擊Go。核心板上的燈會閃爍