IAR最新全套教程:
1.EWSTM8系列教程01_IAR介紹、下載、安裝和註冊
2.EWSTM8系列教程02_新建基礎軟件工程
3.EWSTM8系列教程03_主窗口、工具欄的概述
4.EWSTM8系列教程04_菜單概述(一)
5.EWSTM8系列教程05_菜單概述(二)
6.EWSTM8系列教程06_工程節點選項配置(一)
7.EWSTM8系列教程07_工程節點選項配置(二)
8.EWSTM8系列教程08_IDE選項配置(一)
9.EWSTM8系列教程09_IDE選項配置(二)
10.EWSTM8系列教程10_一個工程添加多個節點
11.EWSTM8系列教程11_一個工作空間添加多個工程
······
該系列教程已經在我的個人微信公衆號「strongerHuang」整理並分享。因在這裏分享文章,還需單獨整理一遍,時間有限,就不再一一重複整理出來了。
所以,想要查看更多相關教程,關注我的個人微信公衆號「strongerHuang」,在公衆號底部菜單,或者回復【EWSTM8系列教程】即可查看。
申明:該文檔由作者「strongerHuang」原創發佈,僅供個人學習使用,轉載請公衆號聯繫作者授權。版權所有,禁止商用。
一、寫在前面
上一篇文章《EWSTM8系列教程06_工程節點選項配置(一)》講述了節點選項中前五項(Target目標、Static Analysis靜態分析、C/C++ Compiler編譯器、Assembler彙編器、Output Converter輸出轉換器)的內容。
本文講述剩餘的幾項內容:Custom build自定義、Build Actions執行動作、Linker鏈接器、Debugger調試器、ST-LINK工具。
本文章收錄於「strongerHuang」博客專欄【EWSTM8系列教程】,在我的博客右側也能查找到。
爲了方便大家平時公交、地鐵、外出辦事也能用手機隨時隨地查看該教程,該系列教程已更新於我的個人微信公衆號「strongerHuang」,關注微信公衆號回覆【EWSTM8系列教程】即可查看。
二、Custom build自定義
2.1 Custom Tool Configuration自定義工具配置
1.Filename extensions:文件擴展名
如:
extension.lex
2.Command line:命令行
命令格式爲:
flex $FILE_PATH$ -o$FILE_BNAME$.c
3.Output file:輸出文件
格式:
$FILE_BPATH$.c
$FILE_BPATH$.h
4.Additional input files:額外的輸入文件
比如:
$TOOLKIT_DIR$\inc\stdio.h
5.Run this tool before all other tools:在運行其他工具之前運行這個工具
以上5個選項內容其實是協同完成一個功能,比如:使用工具(命令)將一個輸入文件,轉化並輸出。
三、Build Actions執行動作
3.1 Build Actions Configuration執行動作配置
1.Pre-build command line:在“Build”之前執行命令行
如:在編譯之前拷貝一個文件,或者修改一個文件內容等。
2.Post-build command line :在“Build”之後執行命令行
如:在編譯完成之後,拷貝hex,或者bin文件,或在bin文件末尾添加校驗等。
四、Linker鏈接器
4.1 Config配置
1.Linker configuration file:鏈接器配置文件
根據項目設置自動選擇默認鏈接器配置文件。如果要覆蓋默認文件,勾選“Override default”即可。
2.Configuration file symbol definitions:配置文件的符號定義
定義要在配置文件中使用的常量配置符號。這種符號的效果與使用鏈接器配置文件中的define symbol指令定義的符號相同。
4.2 Library庫
1.Automatic runtime library selection:自動運行時庫選擇
使鏈接器根據您的項目設置自動選擇適當的庫。
2.Include C-SPY debugging support:包括C-SPY調試支持
包含用於調試應用程序和調試器本身之間通信的調試庫。
3.Buffered write:寫緩衝
在程序執行期間緩衝終端輸出,而不是立即將每個新字符打印到C-SPY終端I/O窗口。當您使用通信緩慢的調試器系統時,此選項非常有用。
4.Additional libraries:附加庫
指定您希望鏈接器在鏈接過程中包含的其他庫。每行只能指定一個庫,並且必須指定到庫的完整路徑。
可以通過“Browse按鈕”來添加(類似新建工程添加路徑)。
5.Override default program entry:覆蓋默認的程序入口
默認情況下,程序條目是__iar_program_start。鏈接器確保包含了包含程序條目標籤的模塊,並且不丟棄包含該標籤的部分。
Entry symbol:輸入符號
Defined by application:由應用程序定義
4.3 Input輸入
1.Keep symbols:保留符號
2.Raw binary image:原始二進制圖像
鏈接圖像純二進制文件,指定參數:
File:文件
Symbol:符號
Section:部分區域
Align:對齊
4.4 Optimizations優化
這裏就不貼圖了,鏈接器優化只有一個勾選項:
1.Merge duplicate sections:合併重複的部分
使鏈接器僅保留等效只讀部分的一個副本。注意,這可能會導致不同的函數或常量具有相同的地址,因此依賴於不同地址的應用程序不能正確地使用所選的選項。
4.5 Output輸出
1.Output filename:輸出文件名
設置鏈接器輸出文件的名稱。默認情況下,鏈接器將使用帶有文件名擴展名的項目名稱。
2.Include debug information in output:輸出中包含調試信息
使鏈接器生成一個ELF輸出文件,包括用於調試信息的DWARF。
4.6 List列表
1.Generate linker map file:生成鏈接器映射文件
2.Generate log file:生成日誌文件
Automatic library selection:自動庫選擇
Initialization decisions:初始化決策
Module selections:模塊選擇
Redirected symbols:重定向符號
Section selections:段選擇
Unused section fragments:未使用的部分片段
4.7 #define預定義
這裏不貼圖了,預定義一些符號。
例如:TESTVER=1
注意:一行一條,“=”兩邊不能有空格。
4.8 Diagnostics診斷
具體內容請參考《EWSTM8系列教程06》中“5.7 Diagnostics 診斷”的內容。
4.9 Checksum校驗和
1.Fill unused code memory:填充未使用代碼的內存
Fill pattern:填充形式
Start address:起始地址
End address:結束地址
2.Generate checksum:生成校驗和
Checksum size:校驗和尺寸(數據類型),可以是1、2、4字節。
Alignment:校驗和對齊方式。
Algorithm:選擇算法類型。
Result in full size:結果爲全尺寸
Complement:補充
Bit order:位順序
Reverse byte order within word:字節順序顛倒
Checksum unit size:校驗和單元尺寸(8、16、32Bit)
4.10 Extra Options額外選項配置
這裏就不貼圖了,主要就是使用命令行對鏈接器相關選項進行配置。具體命令後續抽空單獨整理成相關文章。
五、Debugger調試器
本章節主要講述與調試下載相關的一些選項配置。
5.1 Setup設置
1.Driver:驅動器
選擇調試仿真驅動器(工具)
2.Run to:運行到
復位之後運行到指定位置
3.Setup macros:設置宏
Use macro file:使用宏文件
4.Device description file:設備描述文件
根據項目設置自動選擇默認設備描述文件。要覆蓋默認文件,勾選“Override default”並指定一個替代文件。
5.2 Images鏡像
可以使用三組
Download extra Images:下載外部鏡像文件
Path:路徑
Offset:偏移地址
Debug info only:是否只調試
5.3 Extra Options額外選項配置
這裏不講述,後續專門整理一篇命令行相關文章。
5.4 Plugins插件
1.Select plugins to load:選擇要加載的插件
2.Description:插件描述
3.Location:插件位置
4.Originator:插件來源
5.Version:插件版本
六、ST-LINK工具
其它兩個工具simulator和STice就不講述了,講一下常用的ST-LINK。
6.1 setup設置
1.Download:下載
默認情況下,當進入調試時,下載應用程序到RAM或flash中。下載選項允許您修改下載的行爲。
Suppress:抑制
禁止下載代碼,同時保留flash的當前內容。如果您想調試已經下載在目標內存中的應用程序,這個命令非常有用。
Erase:擦除
在下載代碼之前刪除內存(FLASH、EEPROM和選項字節)。
EraseVerify:擦除驗證
驗證下載代碼的地址是否被擦除。
Use option bytes configuration file:使用選項字節配置文件
在下載前將在選項字節配置文件(obc)中定義的選項字節設置寫入設備。
2.Communication options:通信選項配置
Use SWIM interface:使用SWIM接口
Communication log:通信日誌
七、說明
1.因IAR各種IDE針對的處理器差異較大,所以關於節點選項的配置差異也較大。本文講述關於EWSTM8的許多節點選項可能在其他IDE中沒有。
2.版權所有,禁止商用。
3.該文檔由作者「strongerHuang」原創發佈,僅供個人學習使用,轉載請公衆號聯繫作者授權。
4.若覺得本文對你有幫助,打賞是對博主最好的感謝方式(微信支付,金額隨意,心意到就行)!
八、最後
爲了方便大家平時公交、地鐵、外出辦事也能用手機隨時隨地查看該教程,該系列教程已更新於我的個人微信公衆號「strongerHuang」,關注微信公衆號回覆【EWSTM8系列教程】即可查看。
我除了整理該文章相關的內容之外,還在我的個人微信公衆號「strongerHuang」分享更多嵌入式相關的精彩內容, 如果不想錯過,可以關注我的個人微信公衆號。