强奸久久久久久久|草草浮力在线影院|手机成人无码av|亚洲精品狼友视频|国产国模精品一区|久久成人中文字幕|超碰在线视屏免费|玖玖欧洲一区二区|欧美精品无码一区|日韩无遮一区二区

首頁 > 廠商 > 經(jīng)驗 > EABI,怎么關(guān)閉Linux的EABI選項Kernel Features Use the ARM EABI

EABI,怎么關(guān)閉Linux的EABI選項Kernel Features Use the ARM EABI

來源:整理 時間:2023-08-26 04:38:26 編輯:智能門戶 手機版

本文目錄一覽

1,怎么關(guān)閉Linux的EABI選項Kernel Features Use the ARM EABI

任務占坑
kernel future

怎么關(guān)閉Linux的EABI選項Kernel Features   Use the ARM EABI

2,armeabi編譯鏈和armnonelinuxgnueabi編譯鏈有什么區(qū)別及使用

鏈接工具命名: arch-vendor-(os-)abi 1、arm-none-linux-gnueabi (ARM architecture, no vendor, linux OS, and the gnueabi ABI) 用于編譯ARM架構(gòu)的u-boot、linux內(nèi)核、linux應用等 2、arm-none-eabi 用于編譯ARM架構(gòu)的裸機系統(tǒng)(包括linux的 boot、kernel) 3、arm-eabi Android ARM 編譯器

armeabi編譯鏈和armnonelinuxgnueabi編譯鏈有什么區(qū)別及使用

3,armelfarmeabiarmnoneeabi這三種gcc有什么區(qū)別

eabi是arm新的二進制文件接口的標準,elf是二進制目標文件的格式,而名稱為arm-elf的編譯器一般是老的OABI接口,裸奔程序到影響不大,在嵌入式linux中,要注意系統(tǒng)的接口,是老的oabi還是eabi,新的內(nèi)核一般是eabi接口,但編譯內(nèi)核時會有兼用oab
eabi是arm新的二進制文件接口的標準,elf是二進制目標文件的格式,而名稱為arm-elf的編譯器一般是老的oabi接口,裸奔程序到影響不大,在嵌入式linux中,要注意系統(tǒng)的接口,是老的oabi還是eabi,新的內(nèi)核一般是eabi接口,但編譯內(nèi)核時會有兼用oabi接口的選項,默認是沒選擇的,需要的話編譯時需要手動選上

armelfarmeabiarmnoneeabi這三種gcc有什么區(qū)別

4,ARMEABI是什么意思誰知到最好是詳細點的

ARM(Advanced RISC Machines)是微處理器行業(yè)的一家知名企業(yè),設計了大量高性能、廉價、耗能低的RISC處理器、相關(guān)技術(shù)及軟件。技術(shù)具有性能高、成本低和能耗省的特點。適用于多種領(lǐng)域,比如嵌入控制、消費/教育類多媒體、DSP和移動式應用等。什么是EABI?   Embedded application binary interface, 即嵌入式應用二進制接口,是描述可連接目標代碼,庫目標代碼,可執(zhí)行文件影像,如何連接,執(zhí)行和調(diào)試,以及目標代碼生成過程,和c, c++語言接口的規(guī)范,是編譯連接工具的基礎(chǔ)規(guī)范,也是研究它們工作原理的基礎(chǔ),可惜arm的EABI迄今為止沒有完全訂好。作為EABI的組成部分有過程調(diào)用規(guī)范,可執(zhí)行文件格式規(guī)范,c/c++ ABI規(guī)范和調(diào)試格式規(guī)范。   EABI ,說的是這樣的一種新的系統(tǒng)調(diào)用方式

5,怎么關(guān)閉配置文件中的eabi選項

在linux系統(tǒng)中,TCP/IP網(wǎng)絡是通過若干個文本文件進行配置的,需要編輯這些文件來完成聯(lián)網(wǎng)工作。系統(tǒng)中重要的有關(guān)網(wǎng)絡配置文件為:◆ /etc/sysconfig/network◆ /etc/HOSTNAME◆ /etc/hosts◆ /etc/services◆ /etc/host.conf◆ /etc/nsswitch.conf◆ /etc/resolv.conf◆ /etc/rc.d/init.d/network接下來我們將對這些文件逐一講述,這些文件都可以在系統(tǒng)運行時進行修改,不用啟動或者停止任何守護程序,更改會立刻生效(除了/etc/sysconfig/network)。另外,這些文件都支持由"#"開頭的注釋,每一個文件都有在UNIX手冊頁中的第5部分中有一項,可以用man命令來獲取它們。◆ /etc/sysconfig/network 網(wǎng)絡設置該文件用來指定服務器上的網(wǎng)絡配置信息,包含了控制和網(wǎng)絡有關(guān)的文件和守護程序的行為的參數(shù)。下面是一個例子文件:NETWORKING=yesHOSTNAME=machine1GATEWAY=210.34.6.2FORWARD_IPV4=yesGATEWAYDEV=其中,NETWORK=yes/no 表示網(wǎng)絡是否被配置;HOSTNAME=hostname hostname 表示服務器的主機名;GATEWAY=gw-ip gw-ip 表示網(wǎng)絡網(wǎng)關(guān)的IP地址;FORWARD_IPV4=yes/no 是否開啟IP轉(zhuǎn)發(fā)功能;GAREWAYDEV=gw-dev gw-dw 表示網(wǎng)關(guān)的設備名,如...在linux系統(tǒng)中,TCP/IP網(wǎng)絡是通過若干個文本文件進行配置的,需要編輯這些文件來完成聯(lián)網(wǎng)工作。系統(tǒng)中重要的有關(guān)網(wǎng)絡配置文件為:◆ /etc/sysconfig/network◆ /etc/HOSTNAME◆ /etc/hosts◆ /etc/services◆ /etc/host.conf◆ /etc/nsswitch.conf◆ /etc/resolv.conf◆ /etc/rc.d/init.d/network接下來我們將對這些文件逐一講述,這些文件都可以在系統(tǒng)運行時進行修改,不用啟動或者停止任何守護程序,更改會立刻生效(除了/etc/sysconfig/network)。另外,這些文件都支持由"#"開頭的注釋,每一個文件都有在UNIX手冊頁中的第5部分中有一項,可以用man命令來獲取它們。◆ /etc/sysconfig/network 網(wǎng)絡設置該文件用來指定服務器上的網(wǎng)絡配置信息,包含了控制和網(wǎng)絡有關(guān)的文件和守護程序的行為的參數(shù)。下面是一個例子文件:NETWORKING=yesHOSTNAME=machine1GATEWAY=210.34.6.2FORWARD_IPV4=yesGATEWAYDEV=其中,NETWORK=yes/no 表示網(wǎng)絡是否被配置;HOSTNAME=hostname hostname 表示服務器的主機名;GATEWAY=gw-ip gw-ip 表示網(wǎng)絡網(wǎng)關(guān)的IP地址;FORWARD_IPV4=yes/no 是否開啟IP轉(zhuǎn)發(fā)功能;GAREWAYDEV=gw-dev gw-dw 表示網(wǎng)關(guān)的設備名,如:eth0等;為了和老的一些軟件相兼容,"/etc/HOSTNAME"文件應該用和HOSTNAME=hostname相同的主機名。[NextPage]◆ /etc/HOSTNAME 主機名該文件包含了系統(tǒng)的主機名稱,包括完全的域名,如:192.168.0.1 machine1.domain machine1這個文件是在啟動時從文件/etc/sysconfig/network中的HOSTNAME行中得到的,用于在啟動時設置系統(tǒng)的主機名。

6,交叉編譯器 armlinuxgnueabi 和 armlinuxgnueabihf 的區(qū)別

自己之前一直沒搞清楚這兩個交叉編譯器到底有什么問題,特意google一番,總結(jié)如下,希望能幫到道上和我有同樣困惑的兄弟…..一. 什么是ABI和EABI 1) ABI: 二進制應用程序接口(Application Binary Interface (ABI) for the ARM Architecture)在計算機中,應用二進制接口描述了應用程序(或者其他類型)和操作系統(tǒng)之間或其他應用程序的低級接口. ABI涵蓋了各種細節(jié),如: 數(shù)據(jù)類型的大小、布局和對齊; 調(diào)用約定(控制著函數(shù)的參數(shù)如何傳送以及如何接受返回值),例如,是所有的參數(shù)都通過棧傳遞,還是部分參數(shù)通過寄存器傳遞;哪個寄存器用于哪個函數(shù)參數(shù);通過棧傳遞的第一個函數(shù)參數(shù)是最先push到棧上還是最后; 系統(tǒng)調(diào)用的編碼和一個應用如何向操作系統(tǒng)進行系統(tǒng)調(diào)用; 以及在一個完整的操作系統(tǒng)ABI中,目標文件的二進制格式、程序庫等等。 一個完整的ABI,像Intel二進制兼容標準 (iBCS) ,允許支持它的操作系統(tǒng)上的程序不經(jīng)修改在其他支持此ABI的操作體統(tǒng)上運行。 ABI不同于應用程序接口(API),API定義了源代碼和庫之間的接口,因此同樣的代碼可以在支持這個API的任何系統(tǒng)中編譯,ABI允許編譯好的目標代碼在使用兼容ABI的系統(tǒng)中無需改動就能運行。2) EABI: 嵌入式ABI 嵌入式應用二進制接口指定了文件格式、數(shù)據(jù)類型、寄存器使用、堆積組織優(yōu)化和在一個嵌入式軟件中的參數(shù)的標準約定。 開發(fā)者使用自己的匯編語言也可以使用EABI作為與兼容的編譯器生成的匯編語言的接口。 支持EABI的編譯器創(chuàng)建的目標文件可以和使用類似編譯器產(chǎn)生的代碼兼容,這樣允許開發(fā)者鏈接一個由不同編譯器產(chǎn)生的庫。 EABI與關(guān)于通用計算機的ABI的主要區(qū)別是應用程序代碼中允許使用特權(quán)指令,不需要動態(tài)鏈接(有時是禁止的),和更緊湊的堆棧幀組織用來節(jié)省內(nèi)存。廣泛使用EABI的有Power PC和ARM.二. gnueabi相關(guān)的兩個交叉編譯器: gnueabi和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兩個不同的架構(gòu), armel和armhf這兩種架構(gòu)在對待浮點運算采取了不同的策略(有fpu的arm才能支持這兩種浮點運算策略)其實這兩個交叉編譯器只不過是gcc的選項-mfloat-abi的默認值不同. gcc的選項-mfloat-abi有三種值soft,softfp,hard(其中后兩者都要求arm里有fpu浮點運算單元,soft與后兩者是兼容的,但softfp和hard兩種模式互不兼容): soft : 不用fpu進行浮點計算,即使有fpu浮點運算單元也不用,而是使用軟件模式。 softfp : armel架構(gòu)(對應的編譯器為gcc-arm-linux-gnueabi)采用的默認值,用fpu計算,但是傳參數(shù)用普通寄存器傳,這樣中斷的時候,只需要保存普通寄存器,中斷負荷小,但是參數(shù)需要轉(zhuǎn)換成浮點的再計算。 hard : armhf架構(gòu)(對應的編譯器gcc-arm-linux-gnueabihf)采用的默認值,用fpu計算,傳參數(shù)也用fpu中的浮點寄存器傳,省去了轉(zhuǎn)換, 性能最好,但是中斷負荷高。把以下測試使用的c文件內(nèi)容保存成mfloat.c: #include int main(void) { double a,b,c; a = 23.543; b = 323.234; c = b/a; printf(“the 13/2 = %f\n”, c); printf(“hello world !\n”); return 0; } 1)使用arm-linux-gnueabihf-gcc編譯,使用“-v”選項以獲取更詳細的信息: # arm-linux-gnueabihf-gcc -v mfloat.c COLLECT_GCC_OPTIONS=-v -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16′ -mthumb -mfloat-abi=hard,可看出使用hard硬件浮點模式。 2)使用arm-linux-gnueabi-gcc編譯: # arm-linux-gnueabi-gcc -v mfloat.c COLLECT_GCC_OPTIONS=-v -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16′ -mthumb -mfloat-abi=softfp,可看出使用softfp模式。 三. 拓展閱讀 下文闡述了ARM代碼編譯時的軟浮點(soft-float)和硬浮點(hard-float)的編譯以及鏈接實現(xiàn)時的不同。從VFP浮點單元的引入到軟浮點(soft-float)和硬浮點(hard-float)的概念 VFP (vector floating-point) 從ARMv5開始,就有可選的 Vector Floating Point (VFP) 模塊,當然最新的如 Cortex-A8, Cortex-A9 和 Cortex-A5 可以配置成不帶VFP的模式供芯片廠商選擇。 VFP經(jīng)過若干年的發(fā)展,有VFPv2 (一些 ARM9 / ARM11)、 VFPv3-D16(只使用16個浮點寄存器,默認為32個)和VFPv3+NEON (如大多數(shù)的Cortex-A8芯片) 。對于包含NEON的ARM芯片,NEON一般和VFP公用寄存器。 硬浮點Hard-float 編譯器將代碼直接編譯成發(fā)射給硬件浮點協(xié)處理器(浮點運算單元FPU)去執(zhí)行。FPU通常有一套額外的寄存器來完成浮點參數(shù)傳遞和運算。 使用實際的硬件浮點運算單元FPU當然會帶來性能的提升。因為往往一個浮點的函數(shù)調(diào)用需要幾個或者幾十個時鐘周期。 軟浮點 Soft-float 編譯器把浮點運算轉(zhuǎn)換成浮點運算的函數(shù)調(diào)用和庫函數(shù)調(diào)用,沒有FPU的指令調(diào)用,也沒有浮點寄存器的參數(shù)傳遞。浮點參數(shù)的傳遞也是通過ARM寄存器或者堆棧完成。 現(xiàn)在的Linux系統(tǒng)默認編譯選擇使用hard-float,即使系統(tǒng)沒有任何浮點處理器單元,這就會產(chǎn)生非法指令和異常。因而一般的系統(tǒng)鏡像都采用軟浮點以兼容沒有VFP的處理器。 armel ABI和armhf ABI 在armel中,關(guān)于浮點數(shù)計算的約定有三種。以gcc為例,對應的-mfloat-abi參數(shù)值有三個:soft,softfp,hard。 soft是指所有浮點運算全部在軟件層實現(xiàn),效率當然不高,會存在不必要的浮點到整數(shù)、整數(shù)到浮點的轉(zhuǎn)換,只適合于早期沒有浮點計算單元的ARM處理器; softfp是目前armel的默認設置,它將浮點計算交給FPU處理,但函數(shù)參數(shù)的傳遞使用通用的整型寄存器而不是FPU寄存器; hard則使用FPU浮點寄存器將函數(shù)參數(shù)傳遞給FPU處理。 需要注意的是,在兼容性上,soft與后兩者是兼容的,但softfp和hard兩種模式不兼容。 默認情況下,armel使用softfp,因此將hard模式的armel單獨作為一個abi,稱之為armhf。 而使用hard模式,在每次浮點相關(guān)函數(shù)調(diào)用時,平均能節(jié)省20個CPU周期。對ARM這樣每個周期都很重要的體系結(jié)構(gòu)來說,這樣的提升無疑是巨大的。 在完全不改變源碼和配置的情況下,在一些應用程序上,使用armhf能得到20%——25%的性能提升。對一些嚴重依賴于浮點運算的程序,更是可以達到300%的性能提升。 Soft-float和hard-float的編譯選項 在CodeSourcery gcc的編譯參數(shù)上,使用-mfloat-abi=name來指定浮點運算處理方式。-mfpu=name來指定浮點協(xié)處理的類型。 可選類型如fpa,fpe2,fpe3,maverick,vfp,vfpv3,vfpv3-fp16,vfpv3-d16,vfpv3-d16-fp16,vfpv3xd,vfpv3xd-fp16,neon,neon-fp16,vfpv4,vfpv4-d16,fpv4-sp-d16,neon-vfpv4等。 使用-mfloat-abi=hard (等價于-mhard-float) -mfpu=vfp來選擇編譯成硬浮點。使用-mfloat-abi=softfp就能兼容帶VFP的硬件以及soft-float的軟件實現(xiàn),運行時的連接器ld.so會在執(zhí)行浮點運算時對于運算單元的選擇, 是直接的硬件調(diào)用還是庫函數(shù)調(diào)用,是執(zhí)行/lib還是/lib/vfp下的libm。-mfloat-abi=soft (等價于-msoft-float)直接調(diào)用軟浮點實現(xiàn)庫。 在ARM RVCT工具鏈下,定義fpu模式: –fpu softvfp –fpu softvfp+vfpv2 –fpu softvfp+vfpv3 –fpu softvfp+vfpv_fp16 –fpu softvfp+vfpv_d16 –fpu softvfp+vfpv_d16_fp16. 定義浮點運算類型 –fpmode ieee_full : 所有單精度float和雙精度double的精度都要和IEEE標準一致,具體的模式可以在運行時動態(tài)指定; –fpmode ieee_fixed : 舍入到最接近的實現(xiàn)的IEEE標準,不帶不精確的異常; –fpmode ieee_no_fenv :舍入到最接近的實現(xiàn)的IEEE標準,不帶異常; –fpmode std :非規(guī)格數(shù)flush到0、舍入到最接近的實現(xiàn)的IEEE標準,不帶異常; –fpmode fast : 更積極的優(yōu)化,可能會有一點精度損失。
文章TAG:EABI怎么關(guān)閉Linux的EABI選項KernelFeaturesUsetheARMEABI

最近更新

  • 蜂窩移動數(shù)據(jù) 4g蜂窩移動數(shù)據(jù) 4g

    怎么調(diào)蜂窩手機數(shù)據(jù)怎么調(diào)4g?蘋果手機在設置中沒有4G的原因如下:1。手機不支持4G網(wǎng)絡,2.打開方式不對,3.手機卡暫時不支持4G,蘋果手機可以按照以下步驟打開4G。1.首先準備一部蘋果手機,點擊.....

    經(jīng)驗 日期:2023-08-26

  • 電機軟啟動器,電動機軟啟動器如何使用電機軟啟動器,電動機軟啟動器如何使用

    電動機軟啟動器如何使用2,什么是電機軟啟動器電機軟啟動器作用有哪些3,什么事軟啟動器4,軟起動器是什么東西5,什么是電動機的軟起動有哪幾種起動方式軟啟動器電機軟起動6,電機軟啟動器是干.....

    經(jīng)驗 日期:2023-08-26

  • 51k51,51k51 現(xiàn)在能看了嗎51k51,51k51 現(xiàn)在能看了嗎

    51k51現(xiàn)在能看了嗎2,望知道91por網(wǎng)址的朋友告知一下喲謝謝3,長沙51KTV在哪里4,好看的小說5,蘇志燮51k是什么意思6,列車車次安徽省合肥市至江蘇省泰興市1,51k51現(xiàn)在能看了嗎不能今天剛用完上.....

    經(jīng)驗 日期:2023-08-26

  • 零階,有0階魔方嗎0階魔方怎么玩兒0階魔方是骰子還是什么  搜零階,有0階魔方嗎0階魔方怎么玩兒0階魔方是骰子還是什么 搜

    有0階魔方嗎0階魔方怎么玩兒0階魔方是骰子還是什么搜2,什么是零階齊次函數(shù)3,數(shù)學中零階近似什么意思4,請問有0階導數(shù)和1階導數(shù)嗎有的話分別是什么意思5,什么是零階優(yōu)化方法6,濾波器有零階的.....

    經(jīng)驗 日期:2023-08-26

  • 光儲,光儲什么電腦不裝行嗎光儲,光儲什么電腦不裝行嗎

    光儲什么電腦不裝行嗎2,什么是光儲發(fā)電機3,你知道光儲皇帝是誰的兒子嗎4,光儲一體機和分離機的區(qū)別5,硬盤可以光儲存嗎原理什么6,房企投資光儲沖電站的有多少優(yōu)勢7,什么是光儲閃存8,光儲直柔.....

    經(jīng)驗 日期:2023-08-26

  • 智芯科技,廣州智芯電子科技有限公司是做IC卡批發(fā)的嗎網(wǎng)站是哪個智芯科技,廣州智芯電子科技有限公司是做IC卡批發(fā)的嗎網(wǎng)站是哪個

    廣州智芯電子科技有限公司是做IC卡批發(fā)的嗎網(wǎng)站是哪個2,增城智芯科技怎么樣3,廣州智芯電子科技有限公司的官方網(wǎng)站是哪個4,北京電科智芯科技有限公司勞務派遣怎么樣5,智芯科技智芯數(shù)據(jù)智能.....

    經(jīng)驗 日期:2023-08-26

  • 應為,請問應為是什么一思應為,請問應為是什么一思

    請問應為是什么一思2,應為怎么去理解啊是應該還是必須的啊3,應為是一個詞嗎4,應為和因為不一樣在哪里5,應為用英語怎么說6,應為法律用語是什么意思7,應為是個詞嗎8,應為和因為有什么區(qū)別啊9,應.....

    經(jīng)驗 日期:2023-08-26

  • 7789,7 8 9組成的四位數(shù)有哪些7789,7 8 9組成的四位數(shù)有哪些

    789組成的四位數(shù)有哪些2,7789組合成243,7789怎么算出244,7789得24的四則運算5,7789什么意思6,我想問一下駭客是怎樣7789入侵入侵計算機的1,789組成的四位數(shù)有哪些7789、7889、7899、2,7789組.....

    經(jīng)驗 日期:2023-08-26