二 交叉編譯鏈的安裝和mkcramfs的安裝

2021-05-26 22:11:29 字數 2732 閱讀 4563

1.交叉編譯鏈的安裝

在主機上用來編譯其他型別機器可執行**的編譯器就叫交叉編譯器,我們進行嵌入式linux的開發

的主機的處理器大部分都是x86,而我們的嵌入式系統的處理器有可能是arm、mips等非x86處理器,

這時候必須使用arm、mips等交叉編譯器才能編譯出這些處理器能夠執行的**。這裡我們使用的是

arm公司提供的新一代的arm交叉編譯器eabi編譯器。

figo@figo-desktop:~$

arm-none-linux-gnueabi-gcc -v

using built-in specs.

target: arm-none-linux-gnueabi

configured with: /scratch/julian/lite-respin/linux/src/gcc-4.3/configure --build=i686-pc-linuxgnu

--host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi --enable-threads --disablelibmudflap

--disable-libssp --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --enablelanguages=

c,c++ --enable-shared --enable-symvers=gnu --enable-__cxa_atexit --withpkgversion='

sourcery g++ lite 2008q3-72' --withbugurl=

--disable-nls --prefix=/opt/codesourcery

--with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc --with-buildsysroot=/

scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/libc --withgmp=/

scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-linux-gnueabi-i686-pclinux-

gnu/usr --with-mpfr=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-nonelinux-

gnueabi-i686-pc-linux-gnu/usr --disable-libgomp --enable-poison-system-directories --withbuild-

time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/bin --with-buildtime-

tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/bin

thread model: posix

gcc version 4.3.2 (sourcery g++ lite 2008q3-72)

我們為了編譯qtopia 等軟體的方便同時提供了arm-linux-gcc 形式的呼叫命令,輸入armlinux-

gcc –v,如果沒有意外將輸出與上面同樣的資訊。

2.mkcramfs的安裝

有時候需要製作cramfs 格式的檔案系統,而這個工具對單個檔案有16mb 限制,我們

提供了沒有這個限制的mkcramfs 工具,將這個檔案複製到/usr/local/bin 目錄下即可。之後在

終端中輸入mkcramfs 測試,如果輸出下面的內容便表面可以使用了:

(ubuntu下 要另行安裝 )

figo@figo-desktop:~$

mkcramfs

usage: mkcramfs [-h] [-e edition] [-i file] [-n name] dirname outfile

-h print this help

-e make all warnings errors (non-zero exit status)

-e edition set edition number (part of fsid)

-i file insert a file image into the filesystem (requires >= 2.4.0)

-n name set name of cramfs filesystem

-p pad by 512 bytes for boot code

-s sort directory entries (old option, ignored)

-v be more verbose

-z make explicit holes (requires >= 2.3.39)

dirname root of the directory tree to be compressed

outfile output file

注意:該板子沒有提供mkyaffsimage、mkfs.ubifs 等可讀寫檔案系統映象製作工具,

而是結合mkcramfs來使用yaffs、ubifs等格式。

二。安裝交叉編譯工具鏈

環境 ubuntu13.04 板子s3c6410 gcc編譯的 對應於 x86平台 arm linux gcc as ls objdump 對應於 arm平台 mkdir usr local arm tar jxvf arm linux gcc.tar.bz2 c usr local arm 這個壓...

交叉編譯工具鏈安裝

平台 pc 筆者使用虛擬機器vmware 系統 redhat6 ubuntu 版本 4.3.2 tar xvzf arm linux gcc 4.3.2.tgz c 注意這裡使用的是預設解壓路徑,預設是解壓到 usr local arm目錄下 如果需要制定安裝路徑的,只需要在 c後面跟上具體路徑即可...

交叉編譯工具鏈安裝

平台 pc 筆者使用虛擬機器vmware 系統 redhat6 ubuntu 版本 4.3.2 tar xvzf arm linux gcc 4.3.2.tgz c 注意這裡使用的是預設解壓路徑,預設是解壓到 usr local arm目錄下 如果需要制定安裝路徑的,只需要在 c後面跟上具體路徑即可...