跳到主要內容

發表文章

目前顯示的是 1月, 2020的文章

[ARM Cross Compiler]arm-linux-gnueabi 和 arm-linux-gnueabihf 的區別

ABI與EABI ABI:  Application Binary Interface (ABI) for the ARM Architecture  應用程式機器二元碼介面 (英語: application binary interface ,縮寫為 ABI )是指兩程式模組間的介面;通常其中一個程式模組會是函式庫或作業系統所提供的服務,而另一邊的模組則是使用者所執行的程式。 一個ABI定義了機器碼如何存取資料結構與運算程式,此處所定義的介面相當低階並且相依於硬體。 EABI就是Embedded ABI arm-linux-gnueabi 和 arm-linux-gnueabihf 在debian源裏這兩個交叉編譯器的定義如下:          gcc-arm-linux-gnueabi - The GNU C compiler for armel architecture         gcc-arm-linux-gnueabihf - The GNU C compiler for armhf architecture 可見這兩個交叉編譯器适用於armel和armhf兩個不同的架構, armel和armhf這兩種架構在對待浮點運算採取了不同的策略(有fpu的arm才能支持這兩種浮點運算策略)     其實這兩個交叉編譯器只不過是gcc的選項-mfloat-abi的默認值不同。gcc的選項-mfloat-abi有三種值soft,softfp,hard(其中後兩者都要求arm裏有fpu浮點運算單元,soft與後兩者是兼容的,但softfp和hard兩種模式互不兼容):     soft   : 不用fpu進行浮點計算,即使有fpu浮點運算單元也不用,而是使用軟體模式。     softfp : armel架構(對應的編譯器为gcc-arm-linux-gnueabi)採用的預設值,用fpu計算,但是傳参數用普通暫存器傳,這樣中斷的時候,只需要保存普通寄存器,中斷負荷小,但是参數需要轉換成浮點的再計算。     hard   : armhf架構(對應的編譯器gcc-arm-linux-gnueabihf)采用的默認值,用fpu計算,傳参數也用fpu中的浮點暫存器傳,省去了轉換, 性能最好,但是中斷負荷高。 把以下測試使用的c

Win10預設輸入法改成英文開始

在使用windows10有時候會遇到很煩的情況,當你開啟新的AP,要輸入英文的時候,卻發現預設是中文,又找不到在哪邊改。 以下是更改的方法。 1. 首先去控制台>時鐘>語言後,新增ENGLISH(美國) 2. 在回到上一層選進階設定, 選擇 覆寫預設輸入法 成 US英文美國 。 覆寫windows顯示語言 則是要 中文台灣 , 切換輸入法兩個都要打勾 。