日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

教你如何學(xué)習(xí)ARM-Linux交叉編譯環(huán)境

出處:互聯(lián)網(wǎng)    發(fā)布于:2011-09-04 12:59:32

   什么是交叉編譯呢?在回答這個(gè)問題前,我們先解釋兩個(gè)概念:

  主  機(jī):運(yùn)行編譯過程的計(jì)算機(jī)。

  目標(biāo)機(jī):運(yùn)行編譯結(jié)果(可執(zhí)行文件)的計(jì)算機(jī)。

  建立一個(gè)腳本用于設(shè)置變量和建立必要的目錄,在編譯前,先運(yùn)行。 corss.env。 其內(nèi)容如下:

  cross.env

  export WORK_DIR=/work/cross

  export ROOTFS_DIR=$WORK_DIR/rootfs

  export ARCH=arm

  if [ ! -e "$ROOTFS_DIR/usr/local/include" ]; then mkdir -p $ROOTFS_DIR/usr/local/include;fi;

  if [ ! -e "$ROOTFS_DIR/usr/local/lib" ]; then mkdir -p $ROOTFS_DIR/usr/local/lib; fi;

  if [ ! -e "$ROOTFS_DIR/usr/local/etc" ]; then mkdir -p $ROOTFS_DIR/usr/local/etc; fi;

  if [ ! -e "$ROOTFS_DIR/usr/lib" ]; then mkdir -p $ROOTFS_DIR/usr/lib; fi;

  if [ ! -e "$ROOTFS_DIR/usr/etc" ]; then mkdir -p $ROOTFS_DIR/usr/etc; fi;

  if [ ! -e "$ROOTFS_DIR/usr/bin" ]; then mkdir -p $ROOTFS_DIR/usr/bin; fi;

  if [ ! -e "$ROOTFS_DIR/usr/share" ]; then mkdir -p $ROOTFS_DIR/usr/share; fi;

  if [ ! -e "$ROOTFS_DIR/usr/man" ]; then mkdir -p $ROOTFS_DIR/usr/man; fi;

  我們的工作路徑是:

  ~ -- ------- tars -- ----- SourceDir

  | \----- BuildDir

  \------ armtools

  tars

  在這里放我們的來的 .tar.gz 文件

  SourceDir

  這個(gè)臨時(shí)目錄放我們解壓縮后的源文件

  BuildDir

  我們在這里編譯

  armtools

  把a(bǔ)rm-linux 交叉編譯環(huán)境的安裝在這里

  安裝linux 的頭文件

  解壓縮,打補(bǔ)丁

  cd ~/tars/SourceDir

  tar -zxf /linux-2.4.5.tar.gz

  cd linux

  zcat //patch-2.4.5-rmk7.gz | patch -p1

  修改 Makefile 建議先刪除 .config 文件, 否這以后會遇到麻煩。

  將Makefile中ARCH := ……改為:ARCH=arm #

  執(zhí)行一下 make clean

  建立連接

  如果是LART板子

  make ARCH=arm lart_config

  cd include/asm-arm

  rm -f arch proc

  ln -s arch-sa1100 arch

  ln -s proc-armv proc

  如果是clps711x的CPU

  cd include/asm-arm

  rm -f arch proc

  ln -s arch-clps711x arch

  ln -s proc-armv proc

  為你自己的板子定制:

  make ARCH=arm menuconfig

  make dep

  拷貝頭文件

  cp -dR include/linux ~/armtools/arm-linux/include

  cp -dR include/asm-arm ~/armtools/arm-linux/include/asm

  編譯安裝binutils

  解壓縮

  cd ~/tars/SourceDir

  tar -zxf /binutils-2.11.gz

  編譯

  cd ~/tars/BuildDir

  mkdir binutils

  cd binutils

  //SourceDir/binutils-2.11/configure --target=arm-linux --prefix=~/armtools

  make all install

  編譯安裝gcc 的c 編譯器

  解壓縮

  cd ~/tars/SourceDir

  tar -zxf /gcc-2.95.3.tar.gz

  修改gcc 的t-linux 文件在t-linux文件中的TARGET_LIBGCC2_CFLAGS上加上__gthr_posix_h inhibit_libc

  cd gcc-2.95.3/ gcc/config/arm

  mv t-linux t-linux-orig

  sed 's/TARGET_LIBGCC2_CFLAGS =/TARGET_LIBGCC2_CFLAGS = -D__gthr_posix_h -Dinhibit_libc/' < t-linux-orig > t-linux-core

  cp ./t-linux-core ./t-linux

  編譯

  cd ~/tars/BuildDir

  mkdir gcc-core

  cd gcc-core

  //SourceDir/gcc-2.95.3/configure \

  --target=arm-linux \

  --prefix=~/armtools \

  --enable-languages=c \

  --with-local-prefix=~/armtools/arm-linux \

  --without-headers \

  --with-newlib \

  --disable-shared

  make all install

  編譯安裝 glibc

  解壓縮

  cd ~/tars/SourceDir

  tar -zxf /glibc-2.2.3.tar.gz

  cd glibc-2.2.3

  tar -zxf //glibc-linuxthreads-2.2.3.tar.gz

  編譯

  cd ~/tars/BuildDir

  mkdir glibc

  cd glibc

  CC=arm-linux-gcc AR=arm-linux-ar RANLIB=arm-linux-ranlib \

  //SourceDir/glibc-2.2.3/configure \

  --host=arm-linux \

  --prefix=~/armtools/arm-linux \

  --enable-add-ons \

  --with-headers=~armtools/arm-linux/include

  make all install

  編譯安裝gcc 的c, c 編譯器

  恢復(fù)t-linux 文件

  cd ~/tars/BuildDir

  mkdir gcc

  cd gcc

  cp //SourceDir/gcc-2.95.3/gcc/config/arm/t-linux-orig \

  //SourceDir/gcc-2.95.3/gcc/config/arm/t-linux

  編譯

  //SourceDir/gcc-2.95.3/configure \

  --target=arm-linux \

  --prefix=~/armtools \

  --enable-languages=c,c \

  --with-local-prefix=~armtools/arm-linux

  make all install



  
關(guān)鍵詞:ARM

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!