IAR软件学习
內容未完成,編寫中
本文檔是基于其它教程的自我翻譯,
初級版(基本操作)
進階版(細節操作)可跳過
目錄
- ==1.1初級版==
- 1.1.1.新建一個工程
- 1.1.2.保存工作空間
- ==@2.1進階版==
- 2.1.1.建立基本的項目平臺
- ==1.2初級版==
- 1.2.1建立文件組
- 1.2.2添加庫函數
- ==@2.2進階版==
- 2.2.1建立文件組
- 2.2.2開始移植STM8的庫函數
- ==1.3初級版==
- 1.3.1.新建一個文件
- 軟件設置
- 1.Options
- 2.DEBUG
- 3.斷點
- 4.執行調試
- 5.調試狀態下View
1.1初級版
下面三個文件夾是我提前手動創建的
注:在IAR里工程必須放在工作空間內。
1.1.1.新建一個工程
創建一個新的工作空間:FIle > New Workspace,
建立一個Empty project:Project > Create New Project,
Tool chain欄中選擇STM8,
“OK”后彈出工程保存菜單,
填寫工程名“STM8”,然后點擊“保存”。
這里使用Debug,
STM8-Debug后面的*號表示當前的工作區和項目經修改后還沒有被保存。
現在STM8目錄下已生成一個STM8.ewp文件,該文件中將包含與STM8項目設置有關的信息,如編譯、連接( build)的選項等。
1.1.2.保存工作空間
File > Save Workspace,
在彈出窗口中填寫 workspace名為“STM8”,點擊“保存”,
現在STM8目錄下已生成一個STM8.eww文件(那個IAR圖標,以后使用時可直接打開這個文件),
現在STM8目錄下已生成一個settings子目錄,這目錄下存放保存窗口設置和斷點設置等與當前操作有關信息的其他文件。
此時STM8-Debug后面的*號已經消失。
@2.1進階版
針對不同的要求對IAR進行不同的配置,在同workspace中建立不同的 project,進行統一管理。
2.1.1.建立基本的項目平臺
建立“ Platform"文件夾,在" Platform"文件夾下建"boot"、" Hardware Test"、“Project”、“Src”四個文件夾;
“boot":用來存放 bootloader工程程序,
“Hardware Test”:用來存放硬件自動測試工程程序,
“Project”:用來存放項目平臺建立時生產的文件,
“Src”:用來存放STM8工程的應用程序。
建立第一個工程
新建一個工程:
創建一個新的工作空間:FIle > New Workspace,
建立一個Empty project:Project > Create New Project,
“OK”后彈出工程保存菜單,
填寫工程名“STM8”,然后點擊“保存”。
建立第二個工程
建立一個ARM的 Empty project:Project > Create New Project,
“OK”后彈出工程保存菜單,
填寫工程名“BOOT”,然后點擊“保存”。
建立第三個工程
建立一個ARM的 Empty project:Project > Create New Project,
“OK”后彈出工程保存菜單,
填寫工程名“Hardware Test”,然后點擊“保存”。
“1“:在圖中“3”的位置選擇需要設置的工程窗口,
Project > Edit Configurations > New,
Name為“ Hard Ware Test-debug”,在 Factory settings選項上選擇“ Debug”,點擊“OK”進行保存,
按照上面的方法再建一個Name為“ Hard Ware Test-release", Factory settings選項上選擇為“ Release”的版本并保存。
這樣的話就可以在不同版本中實現不同的編譯等級和輸出文件格式。同時也可以有選擇的編譯一部分,生產自己的庫文件,方便其他工程直接調用。
“2”:修改workspace名稱。
File > Save Workspace,
在彈出窗口中填寫workspace名為“STM8”,點擊“保存”。
“3”:是在建立完3個工程后自動生成的, Overview窗口顯示所有已經成功建立的工程。
1.2初級版
1.2.1建立文件組
保存工作區后,下ー步在項目中新建文件或添加已有文件。
項目中的文件允許分組,用戶可以根據項目的需要和自己的習慣來組織源文件。
在IAR上選擇STM8工程界面,在工程中添加 Group文件,如圖
我建了一個user文件組(放自己寫的.C文件),一個lib文件組(放庫文件)。
之后放進這些文件組內的文件可以保存在相應的文件夾里。
1.2.2添加庫函數
把下載的STM8庫函數文件全部拷貝到“Lib”文件夾中
在工程中添加C文件:在APP工程的“Lib”文件上右鍵選擇“ Add Files”,彈出對話框,找到存放C文件的文件夾,選擇全部.C文件,點擊“打開”即可
注:往項目中添加文件需添加匯編語言和C語言的源程序,可以不添加頭文件(即.h)。
但是用戶必須在配置項目的編譯器、連接器選項時指明包含頭文件的路徑和目錄。
@2.2進階版
2.2.1建立文件組
以STM8工程為例,我們在“Src“文件夾下建立“”App”、“Bsp”、" Library" “Module”
“App”存放工程中應用層程序,
“Bsp”用來存儲介于系統和硬件驅動之間的程序,
“Library”用來存儲移植的一些標準程序,如STM8庫函數、uCoSⅢ系統、FatFs文件系統、ucGU圖形支持系統等,
“Moudule”用來存放硬件各個模塊的驅動程序
2.2.2開始移植STM8的庫函數
在IAR上選擇STM8工程界面,在工程中添加 Group文件,如圖
分別添加“App”、“"Bsp”、“ Library”、“ Module"四個 Group文件
在工程的“ Library” Group文件下建立“ Stlib” Group,用于存放整個ST庫函數
且在Platform\Src\Library下建“Stlib”文件夾
把下載的STM8庫函數文件全部拷貝到“STLIB”文件夾中
在工程中添加C文件:在APP工程的“STub”文件上右鍵選擇“ Add Files”,彈出對話框,找到存放C文件的文件夾,選擇全部.C文件,點擊“打開”即可
添加.h文件:在STM8工程右擊,選擇“ options”,按照下圖進行設置即可
1.3初級版
首先在user組中新建需要的main. c文件或添加已有的main.c文件(用于編輯主程序)。
1.3.1.新建一個文件
1.File > New File,
2.點擊下面的按鈕,
生成了一個空白文件
點擊保存按鈕,
保存在user文件夾里,保存為.C文件。
然后在工程中添加C文件:
下面這兩個選項都可以,第二個是直接加入文件夾,第一個是打開文件夾再選中這個文件,再打開。
接下來就是愉快的編程時間了。
軟件設置
1.Options
打開設置的幾種方法:
(一定要選中工程名字)
1.Project>Options
2.(Alr+F7)
3.工程名字上用右鍵打開。
以下是我自己的設置,親測有效,
從編寫>編譯>下載>仿真>P100。
o(* ̄︶ ̄*)o這里面內容為其他教程的補充學習和不同點,下面不再重復。
o( ̄︶ ̄)o
o( ̄︶ ̄)o
o( ̄︶ ̄)o
$PROJ DIRS----工程所在目錄(ewp文件所在目錄)
$TOOLKIT DIRS----IAR給的頭文件路徑(.inc)。
XDIR…\代表XDIR文件夾的上一層目錄
o( ̄︶ ̄)o
ST-Link是硬件調試
o( ̄︶ ̄)o
默認工程 Run to的內容是main,指定了程序調試的起點,
注意這里寫的是程序調試的起點并不是程序的起點,
而且我們需要明白main不是程序的起點,編譯器把一些初始化工作放在了main之前,比如全局變量的初始化。
那么我們調試的時候也可以輸入其它的調試起點,我們可以指定程序中AR識別的任意標號或者函數名稱。
軟件調試
Project-> Options,然后選擇 Debugger列表。在 Setup頁,確認在 Driver下拉菜單中選擇了 Simulator選項,接著選擇 Run to main。點擊OK.
2.DEBUG
1:編譯
2:編譯并生成可執行文件
3:設置斷點
4:DEBUG并燒錄程序
5:DEBUG
下載運行
1.Projcet > DownLoad and Debug
2.(Ctrl+D )
3.按下面按鈕
3.斷點
3.1.設置斷點
(先將光標定位到要設斷點的行)
1.Edit> Togglebreakpoint
2.按下方按鈕
3.右鍵選 Toggle Breakpoint
4.代碼最左側灰色的位置單擊鼠標左鍵
5.F9 設置斷點和關閉斷點
3.2執行到斷點
1.(F5 )
2.按下方按鈕
Debug Log:斷點的信息
4.執行調試
1:(F10)Debug > Step Over,單個語句和函數進行,(執行完當前的函數,不跟蹤進入C函數或者匯編語言子程序);
2:(F11)Debug > Step Into,跳進函數逐條語句執行,(跟蹤進入C函數或者匯編語言子程序);
3:(Shift+F11)Debug >Step Out,跳出某函數
4:執行下一條語句,Next Statement
5:從當前位置運行到光標處,Run to Cursor
6:全速運行,Go
7:暫停,Break
8:復位,Reset
5.調試狀態下View
常用窗口有 Breakpoints,,Memory,Debug log Disassemble, Locals. Register, Watch Auto
可以在窗口里改變變量值、寄存器值、內存的任意bute的數據,基至IO的輸出,當然改之前用戶要明白數據的意義。
查看變量(Live Watch 窗口)
View→ Live Watch
用于觀察靜止位置上的變量,如全局變量
右鍵要查看的變量,點擊 Add to Watch變量的值在執行時會變化并顯示出來
Memory(查看存儲器)
View >Memory
(用8-bit 顯示數據)
可以查看全部內存中的數據,看起來就像一般的16進制編輯器
雙擊某個全局變量名并用鼠標將其拖到存儲器窗口。執行單步,同時觀察存儲器的內容是如何修改的。用戶可以在存儲器窗口修改存儲單元的內容。只需把插入點放在希望修改的地方,然后輸入新值就可以了。
監視寄存器(Register)
CPU 寄存器
可以從寄存器窗口左上方的下拉菜單中選擇需要查看的任何寄存器組。
反匯編窗口(Disassembly)
也就是你寫的程序經過編譯燒寫之后,在單片機中的樣子
選中函數名稱/變量名稱然后把函數名稱拖放到Disassembly窗口,相關函數就會顯示在Disassembly窗口中,
總結
- 上一篇: 插入始终是1_OneNote使用小记(1
- 下一篇: javascript --- 对象原型