1、 文檔目標
解決Green?Hills構建完工程后,對于代碼生成后的匯編指令進行查看。
2、 問題場景
用于解決在代碼構建完成之后,需要查看對應代碼轉換之后的匯編指令情況,確認語句或者變量在存儲地址上的情況,從而判斷對于語句的執行是否達到預期效果。大多數情況為工程的功能實現上存在問題,但是,C語言代碼編寫邏輯上不存在bug,這個時候就需要通過查看匯編器將對應語句轉換為匯編語句的情況。判斷語句最終的實現是否達到預期。
3、軟硬件環境
1)、軟件版本:MULTI 8.1.4,Compiler 2023.1.4 Final Release for Embedded ARM
2)、電腦環境:Windows 11
3)、外設硬件:無
4、解決方法
1)、在Debug模式下,可以通過匯編窗口查看不同源文件的匯編信息。(如圖4-1)

圖4-1
2)、上面的方法適合在線去查看,但是會比較麻煩,每次都需要進入到Debug模式下,下面的方法可以將匯編代碼在本地生成文件保留下來,用于匯編指令的查看。
(1)、在Build Options中,Assembler->Source Listing Generation配置可以生成對應的匯編列表信息。該配置有三個選項:
a、Generate Default Listing:生成默認以源文件的文件名命名的匯編列表文件。
b、Generate User-Specified Listing:用于生成指定文件名的匯編列表文件。僅限于對單獨文件進行配置。
c、Suppress Listing:不成列表信息。(默認配置選項)

圖4-2-1
生成之后,就可以在工程目錄下objdebug文件夾中看到對應的源文件的列表文件了,打開后,可以看到對應源文件的匯編信息。(如圖4-2-2)

圖4-2-2
(2)、還在Build options中,可以將Advanced->Project Options->Temporary Assembly File配置成Retain選項。開啟在構建過程中保留匯編臨時文件的設置。(如圖4-3-1)

圖4-3-1
生成后,就可以在工程目錄下,查看到對應的.s文件,里面也包含了匯編信息。

圖4-3-2
(3)、兩個不同的配置選項生成文件中".s"文件中的內容在“.lst”中都包含,“.lst”文件中包含了更加完整的匯編指令的參數信息和各類環境信息。并且還包含了匯編指令的地址信息等內容。(如圖4-4)

圖4-4

首頁 > 資源中心 > FAQ
