青青av-亚洲激情一区二区-欧洲色综合-看片网址国产福利av中文字幕-成人精品毛片-亚洲黄色免费观看-国产夫妻在线观看-69av电影-久久性片-中文字幕av影片-色综合久久久久无码专区

【Green Hills】S32DS調(diào)用GHS編譯器設(shè)置Float Point

1、 文檔目標(biāo)

記錄S32 DS中如何設(shè)置Float Point,以及分析其不同設(shè)置的區(qū)別。


2、 問題場景

客戶之前使用浮點(diǎn)型函數(shù)并不了解如何在S32DS中設(shè)置Float Point以及相關(guān)設(shè)置具有如何影響,并且部分客戶使用S32DS去調(diào)用GHS的編譯器進(jìn)行使用,節(jié)約授權(quán)的占用率。


3、軟硬件環(huán)境

1)、軟件版本:Mutil 8.14

2)、電腦環(huán)境:Windows 11

3)、外設(shè)硬件:無


4、解決方法

1)、打開S32DS,選中項(xiàng)目點(diǎn)擊右鍵,選中“Properties”,進(jìn)入設(shè)置界面。

圖4-1


2)、進(jìn)入“Properties for test”,選擇“C/C++Build” -->"Settings"-->"Target"-->"Floating-Point",在<Floating-Point Mode>框內(nèi),選擇相應(yīng)的浮點(diǎn)模式進(jìn)行使用。

圖4-2


3)、Floating-Point Mode

指示應(yīng)該使用軟件、硬件還是兩者的組合來計算浮點(diǎn)運(yùn)算。此選項(xiàng)還允許您完全禁用浮點(diǎn)操作。此選項(xiàng)允許的設(shè)置為:

No Floating-Point (-fnone):禁止所有浮點(diǎn)操作。除了在沒有FPU的處理器上使用之外,如果您試圖最小化程序大小,這個設(shè)置也可能是合適的。要理解其中的原因,請考慮-fnone對程序編譯的兩個主要影響。


1. 首先,C和c++編譯器對任何浮點(diǎn)變量或常量的使用都會給出錯誤。這將大大減少諸如printfscanf之類的庫函數(shù)的大小。

2. 其次,編譯器將傳遞-D__NoFloat__以允許源代碼和頭文件隱藏對浮點(diǎn)對象的引用。

注意:與浮點(diǎn)操作相關(guān)的代碼可以鏈接到可執(zhí)行文件中,即使它不使用浮點(diǎn)變量。排除這些代碼可以導(dǎo)致程序大小的額外顯著減少。最后,由于此設(shè)置需要系統(tǒng)庫和頭文件的支持,因此對于使用具有自己的C或c++頭文件和庫的嵌入式操作系統(tǒng)的環(huán)境不支持此設(shè)置。其他目標(biāo)可能使用特定于目標(biāo)的頭文件,這些頭文件需要使用浮點(diǎn)類型。

該設(shè)置意味著-no_float_scanf。


VFP Hardware Coprocessor (-fhard):硬件浮點(diǎn)(HFP)模式。此設(shè)置使目標(biāo)將浮點(diǎn)數(shù)據(jù)存儲在浮點(diǎn)寄存器中,并使用浮點(diǎn)指令執(zhí)行浮點(diǎn)操作。這與軟件模擬的浮點(diǎn)模式(參見下面的-fsoft)形成對比。


HFP模式使用ARM VFP協(xié)處理器,僅支持v5或更高的體系結(jié)構(gòu)。要識別默認(rèn)使用-fhard的處理器,請參見“ARM處理器變體”下的第二個表。對于Cortex-A和Cortex-R52處理器,- hard還提供了對NEON協(xié)處理器的支持。


Hardware Single, Software Double (-fsingle):為單精度操作指定硬件浮點(diǎn)模式,為雙精度操作指定軟件浮點(diǎn)模式。與- hard相同的處理器支持此設(shè)置。對于Cortex-M4F,默認(rèn)開啟-fsingle。


Software Emulation (-fsoft): SFP (software floating-point)模式。此設(shè)置使目標(biāo)使用整數(shù)寄存器來保存浮點(diǎn)數(shù)據(jù),并使用庫子例程調(diào)用來模擬浮點(diǎn)操作。對于沒有FPU的目標(biāo),這是默認(rèn)設(shè)置。如果目標(biāo)有一個FPU,這個設(shè)置選擇一組不同的浮點(diǎn)庫。


主站蜘蛛池模板: 广安市| 历史| 敖汉旗| 桦甸市| 多伦县| 秀山| 绥江县| 巴林右旗| 桃园县| 马龙县| 灌云县| 车险| 祥云县| 砀山县| 安塞县| 阿拉善左旗| 美姑县| 平邑县| 长寿区| 高清| 沙坪坝区| 清新县| 平泉县| 新安县| 晋中市| 新津县| 丁青县| 陈巴尔虎旗| 建湖县| 长白| 奈曼旗| 北辰区| 大英县| 徐州市| 西安市| 新野县| 工布江达县| 宜宾县| 九江县| 龙口市| 石柱|