ARM系列交叉編譯器介紹

2021-08-28 09:53:04 字數 733 閱讀 6110

arm-linux-gcc是針對arm + linux的開發環境的,kernel使用的是linux,不是uclinux,arm是有硬體mmu(記憶體保護單元)的。

arm-elf-gcc是針對no mmu arm + uclinux的開發環境,kernel使用的是uclinux(可執行程式不是elf,   而是flat)

,硬體是廉價的無mmu的arm晶元。

arm的嵌入式系統開發中,常常用到交叉編譯的gcc工具鏈有兩種:  

arm-linux-*和 arm-elf-*,兩者區別主要在於使用不同的c庫檔案。

arm-linux-*使用 gnu的glibc,

arm-elf-*一般使用 uclibc/uc-libc或者使用redhat專門為嵌入式系統 的開發的c庫newlib.glibc。

uclibc/uc-libc以及 newlib都是c語言庫檔案,只是所應 用的領域不同而已,glibc是針對pc開發的,uclibc/uc-libc是與glibc api相容的小型 化c語言庫,實現了glibc部分功能。 

arm-linux-eabi 用於編譯 armlinux ** ,arm-none-eabi 不指名作業系統,可以是linux, 也可以是vxworks等,

arm-none-eabi 不包含 __linux__ 等特定巨集,所以往往編譯linux 核心的時候通不過。 

arm交叉編譯器簡單介紹

交叉編譯工具鏈的命名規則為 arch vendor os gnu eabi 根據對作業系統的支援與否,arm gcc可分為支援和不支援作業系統,如 arm none eabi 這個是沒有作業系統的,自然不可能支援那些跟作業系統關係密切的函式,比如fork 2 他使用的是newlib這個專用於嵌入式系...

arm編譯器交叉編譯SDL

本人的編譯器為64位的arm編譯器 aarch64 linux gnu gcc 在配置編譯時注意按個人實際情況配置 編譯器和 host選項!tar vxf sdl2 2.0.14.tar.gz cd sdl2 2.0.14 根據個人實際情況配置!sudo vim etc environment例如,...

ARM交叉編譯器安裝

安裝arm交叉編譯器 zshh shaohua arm arm資料 cd exynos4412 lzy1 zshh zshh shaohua arm arm資料 exynos4412 lzy1 ls cross compile datasheet doc images rootfs schemati...