命名規(guī)則
交叉編譯工具鏈的命名規(guī)則為:arch [-vendor] [-os] [-(gnu)eabi]
根據(jù)對(duì)操作系統(tǒng)的支持與否,ARM GCC可分為支持和不支持操作系統(tǒng),如
arm-none-eabi:這個(gè)是沒(méi)有操作系統(tǒng)的,自然不可能支持那些跟操作系統(tǒng)關(guān)系密切的函數(shù),比如fork(2)。他使用的是newlib這個(gè)專用于嵌入式系統(tǒng)的C庫(kù)。 arm-none-linux-eabi:用于Linux的,使用Glibc
實(shí)例
1、arm-none-eabi-gcc
(ARM architecture,no vendor,not target an operating system,complies with the ARM EABI) 用于編譯 ARM 架構(gòu)的裸機(jī)系統(tǒng)(包括 ARM Linux 的 boot、kernel,不適用編譯 Linux 應(yīng)用 Application),一般適合 ARM7、Cortex-M 和 Cortex-R 內(nèi)核的芯片使用,所以不支持那些跟操作系統(tǒng)關(guān)系密切的函數(shù),比如fork(2),他使用的是 newlib 這個(gè)專用于嵌入式系統(tǒng)的C庫(kù)。
2、arm-none-linux-gnueabi-gcc
(ARM architecture, no vendor, creates binaries that run on the Linux operating system, and uses the GNU EABI)
主要用于基于ARM架構(gòu)的Linux系統(tǒng),可用于編譯 ARM 架構(gòu)的 u-boot、Linux內(nèi)核、linux應(yīng)用等。arm-none-linux-gnueabi基于GCC,使用Glibc庫(kù),經(jīng)過(guò) Codesourcery 公司優(yōu)化過(guò)推出的編譯器。arm-none-linux-gnueabi-xxx 交叉編譯工具的浮點(diǎn)運(yùn)算非常優(yōu)秀。一般ARM9、ARM11、Cortex-A 內(nèi)核,帶有 Linux 操作系統(tǒng)的會(huì)用到。
3、arm-eabi-gcc
Android ARM 編譯器。
4、armcc
ARM 公司推出的編譯工具,功能和 arm-none-eabi 類似,可以編譯裸機(jī)程序(u-boot、kernel),但是不能編譯 Linux 應(yīng)用程序。armcc一般和ARM開發(fā)工具一起,KeilMDK、ADS、RVDS和DS-5中的編譯器都是armcc,所以 armcc 編譯器都是收費(fèi)的(愛(ài)國(guó)版除外,呵呵~~)。
5、arm-none-uclinuxeabi-gcc 和 arm-none-symbianelf-gcc
arm-none-uclinuxeabi 用于uCLinux,使用Glibc。
arm-none-symbianelf 用于symbian,沒(méi)用過(guò),不知道C庫(kù)是什么 。
ABI 和 EABI
ABI:二進(jìn)制應(yīng)用程序接口(Application Binary Interface (ABI) for the ARM Architecture)。在計(jì)算機(jī)中,應(yīng)用二進(jìn)制接口描述了應(yīng)用程序(或者其他類型)和操作系統(tǒng)之間或其他應(yīng)用程序的低級(jí)接口。
EABI:嵌入式ABI。嵌入式應(yīng)用二進(jìn)制接口指定了文件格式、數(shù)據(jù)類型、寄存器使用、堆積組織優(yōu)化和在一個(gè)嵌入式軟件中的參數(shù)的標(biāo)準(zhǔn)約定。開發(fā)者使用自己的匯編語(yǔ)言也可以使用 EABI 作為與兼容的編譯器生成的匯編語(yǔ)言的接口。
兩者主要區(qū)別是,ABI是計(jì)算機(jī)上的,EABI是嵌入式平臺(tái)上(如ARM,MIPS等)。
arm-linux-gnueabi-gcc 和 arm-linux-gnueabihf-gcc
兩個(gè)交叉編譯器分別適用于 armel 和 armhf 兩個(gè)不同的架構(gòu),armel 和 armhf 這兩種架構(gòu)在對(duì)待浮點(diǎn)運(yùn)算采取了不同的策略(有 fpu 的 arm 才能支持這兩種浮點(diǎn)運(yùn)算策略)。
其實(shí)這兩個(gè)交叉編譯器只不過(guò)是 gcc 的選項(xiàng) -mfloat-abi 的默認(rèn)值不同。gcc 的選項(xiàng) -mfloat-abi 有三種值 soft、softfp、hard(其中后兩者都要求 arm 里有 fpu 浮點(diǎn)運(yùn)算單元,soft 與后兩者是兼容的,但 softfp 和 hard 兩種模式互不兼容): soft: 不用fpu進(jìn)行浮點(diǎn)計(jì)算,即使有fpu浮點(diǎn)運(yùn)算單元也不用,而是使用軟件模式。
softfp: armel架構(gòu)(對(duì)應(yīng)的編譯器為 arm-linux-gnueabi-gcc )采用的默認(rèn)值,用fpu計(jì)算,但是傳參數(shù)用普通寄存器傳,這樣中斷的時(shí)候,只需要保存普通寄存器,中斷負(fù)荷小,但是參數(shù)需要轉(zhuǎn)換成浮點(diǎn)的再計(jì)算。
hard: armhf架構(gòu)(對(duì)應(yīng)的編譯器 arm-linux-gnueabihf-gcc )采用的默認(rèn)值,用fpu計(jì)算,傳參數(shù)也用fpu中的浮點(diǎn)寄存器傳,省去了轉(zhuǎn)換,性能最好,但是中斷負(fù)荷高。
把以下測(cè)試使用的C文件內(nèi)容保存成 mfloat.c:
1、使用 arm-linux-gnueabihf-gcc 編譯,使用“-v”選項(xiàng)以獲取更詳細(xì)的信息:
# 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硬件浮點(diǎn)模式。
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模式。
上一篇:一文看懂嵌入式開發(fā)arm技術(shù)JTAG接口
下一篇:一種基于ARM的嵌入式系統(tǒng)開發(fā)的方案詳細(xì)講解
推薦閱讀
史海拾趣
隨著全球環(huán)保意識(shí)的日益增強(qiáng),ATP積極響應(yīng)環(huán)保號(hào)召,致力于綠色產(chǎn)品的研發(fā)和生產(chǎn)。公司所有產(chǎn)品均符合歐洲RoHS無(wú)鉛綠色標(biāo)準(zhǔn)和中國(guó)無(wú)鉛環(huán)保標(biāo)準(zhǔn),體現(xiàn)了ATP對(duì)環(huán)保事業(yè)的堅(jiān)定承諾。同時(shí),ATP還通過(guò)優(yōu)化生產(chǎn)工藝和采用環(huán)保材料,降低了產(chǎn)品對(duì)環(huán)境的影響,為公司的可持續(xù)發(fā)展注入了新的動(dòng)力。
Herrmann Kg憑借其卓越的產(chǎn)品質(zhì)量和專業(yè)的服務(wù),贏得了全球眾多領(lǐng)先客戶的信賴。例如,CUSTOMCELLS?作為一家全球領(lǐng)先的客戶專用鋰電池開發(fā)商,在生產(chǎn)過(guò)程中采用了Herrmann Kg的超聲波焊接系統(tǒng),有效降低了廢品率,提高了生產(chǎn)效率。這種深度合作不僅展示了Herrmann Kg在電池制造領(lǐng)域的專業(yè)能力,也進(jìn)一步鞏固了其在全球市場(chǎng)中的地位。通過(guò)不斷滿足客戶的特定需求,Herrmann Kg在電子及其他相關(guān)行業(yè)中樹立了良好的口碑。
在電動(dòng)汽車領(lǐng)域,技術(shù)創(chuàng)新是企業(yè)生存和發(fā)展的關(guān)鍵。菲斯克一直致力于研發(fā)更加先進(jìn)、更加環(huán)保的電動(dòng)汽車技術(shù)。經(jīng)過(guò)多年的努力,公司終于在某項(xiàng)關(guān)鍵技術(shù)上取得了重大突破。這一突破不僅提升了電動(dòng)汽車的性能和續(xù)航里程,還為公司贏得了市場(chǎng)的廣泛認(rèn)可。菲斯克憑借這一技術(shù)優(yōu)勢(shì),成功推出了一系列備受好評(píng)的電動(dòng)汽車產(chǎn)品,進(jìn)一步鞏固了其在市場(chǎng)中的地位。
在加入Telit后,GainSpan的技術(shù)和產(chǎn)品迅速在全球范圍內(nèi)得到推廣和應(yīng)用。Telit憑借其強(qiáng)大的市場(chǎng)網(wǎng)絡(luò)和品牌影響力,將GainSpan的低功耗WiFi模組帶到了更多的國(guó)家和地區(qū)。特別是在北美、歐洲和亞洲等物聯(lián)網(wǎng)市場(chǎng)發(fā)展迅速的地區(qū),GainSpan的技術(shù)和產(chǎn)品更是成為了眾多企業(yè)和項(xiàng)目的首選。通過(guò)全球化布局,Telit進(jìn)一步鞏固了其在物聯(lián)網(wǎng)市場(chǎng)的領(lǐng)先地位。
ATP公司深知品質(zhì)是企業(yè)生存和發(fā)展的基石。因此,他們建立了嚴(yán)格的質(zhì)量管理體系,從原材料采購(gòu)到產(chǎn)品出廠的每一個(gè)環(huán)節(jié)都進(jìn)行嚴(yán)格把控。同時(shí),公司注重品牌建設(shè),通過(guò)廣告宣傳、參加展會(huì)等方式提升品牌知名度和美譽(yù)度。這些舉措使得ATP公司在市場(chǎng)上逐漸樹立了良好的品牌形象。
科達(dá)嘉電子不僅立足于深圳,還積極布局全球市場(chǎng)。公司通過(guò)參加國(guó)際電子展會(huì)、與國(guó)際知名企業(yè)合作等方式,不斷拓展海外市場(chǎng)。同時(shí),科達(dá)嘉還根據(jù)客戶需求,提供個(gè)性化的電感解決方案,贏得了眾多客戶的信任和合作。公司的主要產(chǎn)品,如一體成型電感、大電流電感等,已廣泛應(yīng)用于工業(yè)控制、汽車電子等多個(gè)領(lǐng)域。
基于CMOS圖像傳感器中DPGA的電容陣列優(yōu)化研究 隨著人們對(duì)便攜式電子產(chǎn)品的需求逐漸增加,CMOS圖像傳感器的應(yīng)用越來(lái)越廣泛。在CMOS圖像傳感器芯片中,需要一個(gè)可以根據(jù)光強(qiáng)變化來(lái)處理不同亮暗信號(hào)的可編程增益放大器(DPGA) ,它可以擴(kuò)展整個(gè)系統(tǒng)的動(dòng)態(tài)范圍。通常,我們用開關(guān)電容放大器來(lái)實(shí)現(xiàn)控制增 ...… 查看全部問(wèn)答∨ |
現(xiàn)在的USB生產(chǎn)廠商很多很多,幾乎所有的硬件廠商都有USB的產(chǎn)品。我了解的公司有Intel, 國(guó)半, Cypress, AnchorChips這幾家,Intel作為USB標(biāo)準(zhǔn)的制訂者之一,又加上Intel的龍頭老大的地位,現(xiàn)在的計(jì)算機(jī)主板上的HOST基本上采用的都是INTEL的芯片。而 ...… 查看全部問(wèn)答∨ |
基于ABS系統(tǒng)的新功能拓展技術(shù)研究與應(yīng)用 制動(dòng)安全系統(tǒng)作為車輛安全系統(tǒng)的重要組成部分,其新技術(shù)發(fā)展較為迅速,尤其是制動(dòng)系統(tǒng)在電子化技術(shù)方面取得了很大的進(jìn)展和成就。20世紀(jì)80年代末,拓展了ABS的現(xiàn)有功能,開發(fā)出了驅(qū)動(dòng)防滑系統(tǒng)(ASR),通過(guò)對(duì)制動(dòng)過(guò)程的調(diào)節(jié)來(lái)改善牽引力。由于全球運(yùn) ...… 查看全部問(wèn)答∨ |
請(qǐng)問(wèn)大家用fpga設(shè)計(jì)之后,小弟用xpower對(duì)其進(jìn)行功耗估計(jì),但不知道怎么來(lái)衡量,比如,我的小實(shí)驗(yàn)最終估計(jì)是Total estimated power consumption:56mW,這是高還是低呢?請(qǐng)大家指點(diǎn)下… 查看全部問(wèn)答∨ |
雙網(wǎng)卡,同時(shí)上政務(wù)網(wǎng)與公網(wǎng)的解決辦法 系統(tǒng)環(huán)境為:一臺(tái)FTP SERVER 上有兩塊網(wǎng)卡,其中一塊連接公網(wǎng)交換機(jī),一塊連接政務(wù)網(wǎng)交換機(jī),要實(shí)現(xiàn)同時(shí)上公網(wǎng)與政務(wù)網(wǎng)的功能。其中IP地址設(shè)置分別如下: 公網(wǎng)網(wǎng)卡: IP:192.168.122.3 NE ...… 查看全部問(wèn)答∨ |
C51 中斷函數(shù) 有個(gè)using n是指定寄存器組的,我咋沒(méi)見(jiàn)過(guò)有人用呢? 大俠可以舉個(gè)用到的實(shí)際例子么?… 查看全部問(wèn)答∨ |
wince sd卡 驅(qū)動(dòng)的問(wèn)題,原來(lái)是好的,我改動(dòng)之后不行了,前輩們看下。 我之前做wince的128M sdram的支持的時(shí)候 由于對(duì)OEMAddressTable做了修改,后面的地址集體后移了,所以在初始化硬件的時(shí)候,將沒(méi)有啟用cache時(shí)候的高端地址也做了偏移,現(xiàn)在sdram好了 別的外設(shè)都正常,唯獨(dú)sd不能識(shí)別。 我看到sd的地址定義就是個(gè) ...… 查看全部問(wèn)答∨ |
STM32F103RB, USB 調(diào)不通,請(qǐng)教。 我買的 STM32F103RB 開發(fā)板,硬件好使,干別的都可以的。 主時(shí)鐘 8M,USB D- 用跳線通過(guò)1.5k 電阻連 3.3V。 下載 STM 的 U轉(zhuǎn)串 DEMO。 主程序部分: Set_System(); Set_USBClock(); USB_Interrupts_Conf ...… 查看全部問(wèn)答∨ |
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- 人形機(jī)器人馬拉松背后的思考,兆易創(chuàng)新如何賦能機(jī)器人產(chǎn)業(yè)
- 一種基于STM32的智能柜控制器設(shè)計(jì)
- 小型傾轉(zhuǎn)旋翼機(jī)的無(wú)刷直流電機(jī)驅(qū)動(dòng)器設(shè)計(jì)
- 超高速攝影機(jī)電控系統(tǒng)設(shè)計(jì)
- 基于GPS自動(dòng)授時(shí)的無(wú)線智能控制器的設(shè)計(jì)
- 基于PTR2000的無(wú)線氣象信息采集系統(tǒng)設(shè)計(jì)
- Microchip推出MEC175xB系列器件,為嵌入式控制器引入硬件 抗量子攻擊能力
- 無(wú)人飛行器機(jī)載穩(wěn)定云臺(tái)控制系統(tǒng)的設(shè)計(jì)
- 匠芯創(chuàng)推出面向具身智能高性能實(shí)時(shí)處理器M7000
- 英飛凌二氧化碳減排目標(biāo)獲科學(xué)碳目標(biāo)倡議組織認(rèn)證
- 藥房-病區(qū)-手術(shù)室無(wú)界協(xié)同,MiR將在CHCC用AMR詮釋醫(yī)院物流柔性升級(jí)路徑
- 黃仁勛自曝“非常痛苦”,H20禁令讓NVIDIA少賺150億美元
- 人形機(jī)器人馬拉松背后的思考,兆易創(chuàng)新如何賦能機(jī)器人產(chǎn)業(yè)
- 激光雷達(dá)燒壞手機(jī)攝像頭傳感器全過(guò)程曝光
- 小米自研芯為何能用3nm工藝、基于公版架構(gòu)
- 雷諾首席執(zhí)行官表態(tài):為降低制造成本,愿共享汽車技術(shù)
- 古爾曼:蘋果iOS 19擬向第三方開發(fā)者開放AI模型
- 具身智能走向規(guī)模化的三大核心技術(shù):算法、數(shù)據(jù)到控制器
- 智駕“降溫”,地平線等待破局
- 賽靈思網(wǎng)絡(luò)通信專題有獎(jiǎng)問(wèn)答
- 找小伙伴們一起去闖 STM32 F7英雄聯(lián)盟設(shè)計(jì)大賽
- 勇闖泰克絕密黑科技實(shí)驗(yàn)室!
- 國(guó)產(chǎn)FPGA安路科技研討會(huì)-北京站 火熱報(bào)名中,參會(huì)贏京東卡!
- 開學(xué)季!EEworld下載中心 Cortex主題資源上傳
- 艾睿電子線上研討會(huì):英特爾FPGA深度學(xué)習(xí)加速技術(shù) 7月30日上午10:00-11:30 期待您的蒞臨!
- 力源帶你了解安森美半導(dǎo)體開發(fā)神器——高度靈活的物聯(lián)網(wǎng)開發(fā)套件( IDK )!看視頻輕松答題享好禮!
- 歐盟提出應(yīng)對(duì)能源網(wǎng)絡(luò)安全挑戰(zhàn)三大戰(zhàn)略建議
- 連續(xù)3家明星機(jī)器人公司破產(chǎn) 給我們留下了什么生機(jī)
- 騰訊智能機(jī)器人家族再添新成員 萬(wàn)千宅男的夢(mèng)即將實(shí)現(xiàn)
- Facebook用AI技術(shù)優(yōu)化機(jī)器人 推動(dòng)其他形式機(jī)器學(xué)習(xí)的發(fā)展
- keil5的安裝+工程的創(chuàng)建
- 蘋果全力挽回丟失的市場(chǎng),iPhone SE有可能重出江湖
- 閃耀ODCC——Vicor展示其最新 48V 電源模塊創(chuàng)新技術(shù)
- S3C2410 UART 發(fā)送變量字符
- S3C2410 通用異步收發(fā)UART 串口通信
- 意大利新政府將對(duì)華為中興實(shí)施“黃金權(quán)力”法案
- 簡(jiǎn)單的總結(jié)一下吧
- 常用傳感器原理及應(yīng)用
- 帶中斷屏蔽位的中斷優(yōu)先權(quán)排隊(duì)電路
- 使用X-LITE實(shí)現(xiàn)和嵌入式終端語(yǔ)音聊天
- 基于虛擬儀器的直流接地故障檢測(cè)系統(tǒng)
- 求串聯(lián)型穩(wěn)壓電路的工作原理、有圖
- 關(guān)于阻抗設(shè)計(jì)的建議
- 請(qǐng)問(wèn)一下,msp430f149串口初始化是這樣的,但是為什么進(jìn)不了中斷?
- 新一代物聯(lián)網(wǎng)處理器(代號(hào)“Apollo Lake”)
- 忙碌了一天,做一做『工程師保健操』!