EWSTM8系列教程07_工程節點選項配置(二)

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」分享更多嵌入式相關的精彩內容, 如果不想錯過,可以關注我的個人微信公衆號。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章