開發(fā)板:RT5350
編譯器:mipsel-linux-gcc
( 如果是arm平臺和arm_linux的話,請參照修改即可)
1. 獲取源碼:lrzsz-0.12.20.tar.gz
2. 解壓:
tar–xvf lrzsz-0.12.20.tar.gz
3.添加配置參數(shù):
vi mipsel-linux.cache (默認(rèn)下沒有這個文件,因為新建這個文件并打開,添加以下內(nèi)容)
添加內(nèi)容:
ac_cv_prog_CC=${ac_cv_prog_CC=/opt/buildroot-gcc342/bin/mipsel-linux-gcc'}
備注一下:
/opt/buildroot-gcc342/bin是mipse-linux編譯器的絕對路徑。
4,配置
./configure –cache-file=mipsel-linux.cach –prefix=/usr/local/lrz
說明一下,執(zhí)行這個配置操作后,mipsel-linux.cache內(nèi)容會有所增加,makefie里的CC會指向第三步中配置的編譯器。

如果沒有看到CC和CPP這兩條語句沒有指向指定的編譯器,說明沒有配置成功,需要重新操作一遍,確保操作無誤。
5 編譯
make
make install
執(zhí)行這兩行后,就會生成lrz等可執(zhí)行文件。會把這些執(zhí)行文件存放到/usr/local/lrz里。 這就是配置時—prefix這個參數(shù)的作用了。


然后把這幾個文件拷貝的要燒寫的文件系統(tǒng)中,

燒寫,啟動系統(tǒng)。

可以看到這幾個文件已經(jīng)成功燒錄到板子去了。
由于這幾個文件沒有放到bin目錄,所以要執(zhí)行這個文件的時候,需要這樣執(zhí)行。
chmod 777 lrz (該指令是修改權(quán)限,有些平臺不一定需要)
./lrz 執(zhí)行這個程序。 (如果是拷貝到了bin目錄里,可直接lrz執(zhí)行)
已成功彈出對話框,并選擇要下載的文件


下載完成,提示有下載速度。不過,源碼默認(rèn)的波特率是2400,如果要提高速度,可修改源碼目錄下/src/lrz/c.
大概69行。
unsigned Baudrate=2400;
改為:
unsigned Baudrate=57600;(當(dāng)然,改多少視自己口味吧)

保存重新編譯,下載,重啟。
當(dāng)然,事實證明,修改波特率效果不是很明顯,因為本來使用lrz通過串口傳輸文件到linux下是比較慢的,不過,lrz還是比較方便的,適合于調(diào)試linux的程序。一般編寫的linux的程序也就幾十k到幾百K左右,lrz直接下載就OK了,而且可以在linux任何目錄下執(zhí)行lrz便可把文件下載到該目錄下。lrz輔助調(diào)試還是非常方便的。
最后建議編譯的時候,還是選擇靜態(tài)編譯。雖然靜態(tài)編譯出來的可執(zhí)行文件會稍微大一點點,不過,可以避免因系統(tǒng)缺少一個庫文件而不能正常使用。
當(dāng)然采用靜態(tài)編譯的好處是可以在相同平臺的不同系統(tǒng)下運行。當(dāng)然,如果是在mipsel下的編譯了,要在arm平臺上使用一般是不可能的了。但至少可以在mipsel下可以正常使用,也許你會問這樣做的必要性,舉個例子吧。
同學(xué)A和同學(xué)B的電腦都是win 7系統(tǒng)的。
同學(xué)A用VC6制作了個軟件可以在自己的電腦上運行,但是把可執(zhí)行文件拷貝到同學(xué)B的電腦就不能運行了,提示說缺少什么dll文件之類的。原來是同學(xué)B的電腦沒有裝VC。那怎么辦呢。同學(xué)A要想別人用他的軟件,不可能叫所有人都裝VC吧,也不可能說缺少dll就要補上,不停地補dll也不是個辦法的。
所以,只要同學(xué)A要編譯的時候,使用靜態(tài)編譯,可以發(fā)布版本的程序,這樣拷貝給B同學(xué)的時候就可以運行。相信使用過VC的不少同學(xué)能夠理解這一點的。
回到我們的話題,要想靜態(tài)編譯lrz,可以修改第三步就可以了。
vi mipsel-linux.cache (默認(rèn)下沒有這個文件,因為新建這個文件并打開,添加以下內(nèi)容)
添加內(nèi)容:
ac_cv_prog_CC=${ac_cv_prog_CC=/opt/buildroot-gcc342/bin/mipsel-linux-gcc-static'}
后面步驟相同,發(fā)現(xiàn)makefile文件會變?yōu)椋?/font>

同時,mipsel-linux.cache文件的內(nèi)容被修改如下:

說明已成功設(shè)置為靜態(tài)編譯。
剩下的請參考前面的操作。
|