日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

深度剖析E680G開發(fā)二.交叉編譯BusyBox,圖形化程序

一、前言

很多人看到這個剖析系列,覺得難了,其中不乏熱衷于刷機的人 。剛剛接觸
E680g的普通人理解起來固然有些困難,然對于一個經(jīng)常刷來刷去的”高手“,就
說不過去了 。是人就知道,“世上無難事,只怕有心人”,這句講爛了的千古真理!
現(xiàn)成的東西學(xué)起來有什么難的,學(xué)不會那是沒耐心或者不想學(xué),至于說真正
難得東西,那是在你以后的變通和創(chuàng)新 。
應(yīng)用系列的文章一般人都可以做得到,開發(fā)方面的知識深度就遠遠超出普通
人能接受的范圍,這里面講得內(nèi)容并不難,只是想要靈活得擴展起來,沒有編程
設(shè)計經(jīng)驗是不可能的 。
我們在前面使用了很簡單的方法構(gòu)造了一個交叉編譯環(huán)境,上手比較容易 。
在些基礎(chǔ)上,我們來實際編譯一些實實在在的東西 。
二、重要提示
文章難免有疏漏,有問題可查看:
全系列文章地址:http://blog.csdn.net/liwei_cmg
文章相關(guān)的重要資源的下載地址:http://play.younet.com/view.php?tid=18578
三、BusyBox的編譯
Busybox是一個集成了多個最常用linux命令和工具的軟件 。首先下載Busybox
源代碼,這里使用的是busybox-0.60.5.tar.gz版本 。
1.在Linux解壓縮,或者在Windows下解壓縮復(fù)制到Linux里面
tar xcvf busybox-0.60.5.tar.gz

2.cd busybox 進入目錄,查看Makefile文件,實在比較復(fù)雜,不過確是了解源代碼
結(jié)構(gòu)的最好方法!對這個文件作如下兩處修改 。

a.將84行下面這6行內(nèi)容

# If you are running a cross compiler, you may want to set this
# to something more interesting, like "powerpc-linux-".
CROSS =
CC = $(CROSS)gcc
AR = $(CROSS)ar
STRIP = $(CROSS)strip

修改為

# If you are running a cross compiler, you may want to set this
# to something more interesting, like "powerpc-linux-".
CROSS = /home/gcc/arm/gcc-3.3.6-glibc-2.3.2/arm-linux
CC = $(CROSS)/bin/arm-linux-gcc
AR = $(CROSS)/bin/arm-linux-ar
STRIP = $(CROSS)/bin/arm-linux-strip

注意:CROSS內(nèi)容后面不可有空格,結(jié)合CC,AR,STRIP的內(nèi)容,一定要保證是你
自己機器上arm-linux-gcc,arm-linux-ar,arm-linux-strip的位置,這里使用的是上
篇文章里編譯的路徑 。
可以看出這里是為了指定使用的編譯器 。
b.將108行如下內(nèi)容

#LDFLAGS =-nostdlib
#LIBRARIES = $(LIBCDIR)/lib/libc.a -lgcc
#CROSS_CFLAGS =-nostdinc -I$(LIBCDIR)/include -I$(GCCINCDIR)
#GCCINCDIR = $(shell gcc -print-search-dirs | sed -ne "s/install: (.*)/1include/gp")
修改為

#LDFLAGS =-nostdlib
#LIBRARIES = $(LIBCDIR)/lib/libc.a -lgcc
CROSS_CFLAGS = -I$(CROSS)/arm-linux/include -I$(CROSS)/arm-linux/sys-include#-I$(GCCINCDIR)
#GCCINCDIR = $(shell gcc -print-search-dirs | sed -ne "s/install: (.*)/1include/gp")
這里指定的是使用頭文件 。

3.修改后保存,編譯

在busybox路徑下,執(zhí)行命令make all,如有錯誤,多半是上面所述Makefile文件的問題,
修改后先執(zhí)行make clean再執(zhí)行make all 。
成功之后,最后會顯示:

BusyBox Documentation

mkdir -p docs
pod2text docs/busybox.pod > docs/BusyBox.txt
mkdir -p docs
pod2man --center=BusyBox --release="version 0.60.5"
docs/busybox.pod > docs/BusyBox.1
pod2html --noindex docs/busybox.pod > docs/BusyBox.html
4.將busybox路徑下編譯成功的busybox文件,復(fù)制到手機,telnet,并進入
busybox所在目錄,輸入類似以下命令:
./busybox --help
./busybox lsmod
./busybox date
...

沒有任何問題 。

我們telnet下輸入這個命令,在Busybox所在目錄建立testbox.lin文件
./busybox echo `pwd`/busybox date > `pwd`/date.txt > testbox.lin
在E680g上用Loader關(guān)聯(lián)打開后,Busybox所在目錄下會生成包含當(dāng)前日期的
date.txt文件 。
四、利用dev-ezx工具開發(fā)圖形化程序

推薦閱讀