亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

??

?? 對(duì)linux下邊的gzip的文件的分析的代碼
??
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
轉(zhuǎn)載一篇44b0上的u-boot移植文章
最近接了一個(gè)帶本科生嵌入式系統(tǒng)實(shí)驗(yàn)的SRTP的項(xiàng)目,要求1、uClinux的移植;2、鍵盤驅(qū)動(dòng)的編寫;3、文件系統(tǒng)。拿到了一塊很老的S3C44B0的板子,配套的東西很爛,給的armboot是bin格式的。所以決定自己移植u-boot,還能學(xué)到點(diǎn)東西。回過(guò)頭來(lái)搜了一下網(wǎng)上的一些經(jīng)驗(yàn),發(fā)現(xiàn)了這個(gè)帖子,看的我后心脹的不得了!--原因是,他上邊遇到的問(wèn)題,我也都遇到了,也曾困擾了我很久。如果早發(fā)現(xiàn),我也就不會(huì)那么辛苦了。下面就把這片文章貼出來(lái),我也懶得寫,也算是我做的東西的一個(gè)記錄吧(借他人之文邀功?哈哈)

--------------------------------------------------------------------------------

轉(zhuǎn)載自:http://www.hzlitai.com.cn/bbs/dispbbs.asp?boardID=9&ID=5142&page=1

幾經(jīng)艱辛,終于基本完成了u-boot在s3c44b0的移植工作,在些記錄一下在移植過(guò)程中所碰到的困難和解決方法(一些心得),作為日后參考之用,也希望能夠幫到其它有需要的人^_^。 



1.來(lái)由: 



在我搞完ucos后(本來(lái)我是想學(xué)uclinux的,不過(guò)在對(duì)系統(tǒng)一無(wú)所知的情況下,還是先學(xué)一下ucos比較實(shí)際^_^,從中也可以對(duì)系統(tǒng)有個(gè)清晰的概念),我意識(shí)到要搞系統(tǒng)的話一個(gè)功能強(qiáng)大的bootloader是必不可少的,而我的板上自帶的是armboot(其實(shí)我個(gè)人覺(jué)得應(yīng)用在ARM上的話armboot已經(jīng)足夠了,畢竟u-boot也是從armboot中發(fā)展過(guò)來(lái)的,純屬個(gè)人意見),如果我的板上自帶光盤有已經(jīng)移植好的armboot源代碼供我參考的話,我想我也不會(huì)花這么多時(shí)間去搞u-boot,可恨的是我的光盤上只有armboot.bin這個(gè)二進(jìn)制文件,而沒(méi)有源文件,沒(méi)辦法,我下定主意自己搞一個(gè),考慮了一番后我選擇了u-boot,畢竟參考資料相對(duì)比較多,再我學(xué)完u-boot后再回頭看armboot,簡(jiǎn)直是一個(gè)爐里出的餅,這是后話。 



     2.準(zhǔn)備: 



           說(shuō)是容易,做起來(lái)卻挺難。因?yàn)榫幾gu-boot要在linux環(huán)境下,而不能在我們平時(shí)所熟悉的ads下那么直觀。首先要建立好交叉編譯環(huán)境,這個(gè)交叉編譯環(huán)境可以自己來(lái)做,不過(guò)完全沒(méi)必要,而且難度也挺大,一般是下載人家編譯好的工具。我剛開始在這里就郁悶了很久,現(xiàn)在會(huì)了以后覺(jué)得原來(lái)就是這么簡(jiǎn)單,在些我把方法說(shuō)清楚,希望不會(huì)再有人為這個(gè)問(wèn)題郁悶了^_^: 



1) 在網(wǎng)上下載一個(gè)u-boot源代碼,我用的是1.1.2版本的,最新的應(yīng)該是1.1.4的吧,其實(shí)差不多,那就像我那樣下載一個(gè)1.1.2版本的吧。把源文件解壓,這個(gè)應(yīng)該不用說(shuō)了吧,學(xué)過(guò)linux的人應(yīng)該會(huì),不會(huì)的話我想你繼續(xù)做下去也困難,那就先裝個(gè)linux用下吧(我用的是RedHat的,哦對(duì)了,編譯程序是需要gcc編譯器的,所以安裝方式一定要選擇工作站哦^_^)。好了,解壓后你發(fā)現(xiàn)在u-boot.1.1.2目錄下有Makefile這個(gè)文件吧?讓我們看看它里面的內(nèi)容,最簡(jiǎn)單的方法就是vi Makefile了。我們要看的是它選擇的是哪一個(gè)交叉編譯器。可以看到這一項(xiàng): 



ifeq ($(ARCH),arm) 



CROSS_COMPILE = arm-linux- 



看到吧,也就是說(shuō)這里所用的交叉編譯器是arm-linux-gcc了,(u-boot默認(rèn)是用這個(gè)的,也有用arm-elf-gcc的,網(wǎng)上有個(gè)工具包arm-elf-tools-20030314.sh,我試過(guò)用它來(lái)編譯,沒(méi)有問(wèn)題,順便提一下,arm-elf-gcc是用來(lái)編譯uClinux內(nèi)核的工具來(lái)的)那你就下載一個(gè)arm-linux-的交叉編譯器吧,我是在網(wǎng)上下載cross-2.95.3.tar.bz2這個(gè)文件,然后解壓得到2.95.3版本的交叉編譯工具的,具體設(shè)置如下(參考網(wǎng)上資料): 






2)在宿主機(jī)上建立arm-linux-gcc交叉編譯環(huán)境 



在RedHat Linux系統(tǒng)下以root用戶登錄,
將cross-2.95.3.tar.bz2文件復(fù)制到/目錄下,
安裝:
# tar jxvf cross-2.95.3.tar.bz2
這個(gè)命令會(huì)在你的/usr/local/arm/2.95.3目錄下安裝 arm-linux-gcc 交叉編譯程序,
然后在PATH變量中添加一項(xiàng):/usr/local/arm/2.95.3/bin.
[root@localhost root]# export ATH=/usr/local/arm/2.95.3/bin:$PATH 

把PATH=/usr/local/arm/2.95.3/bin:$PATH添加到/ETC/bash_profile文件中 

或者
在/etc/bashrc文件中添加一項(xiàng):
export PATH=/usr/local/arm/2.95.3/bin:$PATH 

測(cè)試:
把終端關(guān)閉,重新打開后執(zhí)行如下命令: 

# arm-linux-gcc –v 

好了,建立好交叉編譯環(huán)境后可以試著編譯u-boot了 




這里提幾個(gè)注意點(diǎn): 



1.不可用winRAR解壓u-boot-1.1.2.tar.bz2或u-boot-1.1.2.tar.gz這種文件(就個(gè)可能新手會(huì)犯,一般熟悉linux命令的人應(yīng)該都不會(huì)這樣做吧,在此還是要提一下) 



2.可能下載的文件有一些中間文件會(huì)阻礙編譯的運(yùn)行,所以在編譯前最好來(lái)個(gè)徹底清除,在u-boot.1.1.2目錄下運(yùn)行命令:make distclean (其實(shí)這個(gè)命令在Makefile文件下就有)我當(dāng)時(shí)為這個(gè)問(wèn)題郁悶了很久,希望你們不會(huì)像我這樣^_^); 



3,有些人為了方便想在cygwin下編譯,但是經(jīng)常在網(wǎng)上看到在這個(gè)虛擬平臺(tái)下編譯有很多的問(wèn)題,要配置的東西也多,而且好像我用過(guò)那個(gè)vi沒(méi)有l(wèi)inux環(huán)境下的好用,所以最好還是不要用這個(gè)軟件了吧,如果你真的離不開windows的話可以像我這樣裝個(gè)虛擬機(jī),在虛擬機(jī)下再裝linux的系統(tǒng),具體參考這個(gè)網(wǎng)站):http://fedora.linuxsir.org/doc/vmware/ 



3)好了,現(xiàn)在開始測(cè)試你的交叉編譯器搞好沒(méi)有。在u-boot.1.1.2目錄下執(zhí)行如下命令: 



1)     Make distclean (再次強(qiáng)調(diào)) 



2)     Make B2_config(隨便再個(gè)現(xiàn)成的試試^_^) 



3)     Make (沒(méi)錯(cuò)的話應(yīng)該會(huì)生成u-boot.bin文件,發(fā)生錯(cuò)誤的話也不怕,只要細(xì)心看一下哪里錯(cuò)就行了,gcc碰到錯(cuò)誤后會(huì)退出編譯,所以可以一個(gè)個(gè)錯(cuò)誤來(lái)改,一般的問(wèn)題都是沒(méi)找到編譯器(可能你沒(méi)裝或者裝的不對(duì),例如人家用的是arm-linux-而你裝的是arm-elf-,如果你裝了的話看看你的環(huán)境變量設(shè)好了沒(méi)有,前面有講,如果不關(guān)編譯器的事的話那就再看看,一般是文件的后綴不對(duì),有些文件后綴是大寫的,例如start.S但是如果你的是start.s小寫的話那當(dāng)然找不到(解決方法很,把它改成大寫就行了)。細(xì)心看吧,不用怕,它都有注明路徑,很容易可以找到的)) 



如果以上步驟都無(wú)誤的話那么恭喜你,你的交叉編譯環(huán)境可以用來(lái)編譯你的u-boot源代碼了,可以開始以下階段。 

u-boot移植日記2(新手必讀)


3.移植: 

  

說(shuō)時(shí)遲那時(shí)快,現(xiàn)在開始移植工作(以下是我一步步重新做一遍,力求說(shuō)得詳細(xì)點(diǎn),感謝我吧^_^) 



我以B2板子的程序做為模板來(lái)做. 
#cd u-boot-1.1.2 



#cd board 
#cp -R dave myboard (這是我取的板子名字,可以換上你的,但是后面的也要跟著來(lái)?yè)Q哦^_^) 
#cd myboard
#mv B2 myboards3c44b0 (自己取個(gè)板子名) 
#cd myboards3c44b0 
# mv B2.c myboards3c44b0.c 
修改myboards3c44b0里面的Makefile, 把B2改成myboards3c44b0,編譯時(shí)如果報(bào)的其它類似找不到B2的錯(cuò)誤也是把相應(yīng)的B2改成myboards3c44b0來(lái)處理。 




1)其中的myboards3c44b0.c文件是板的初始化代碼,看一下就知道,根據(jù)你的板上自帶的44binit.s來(lái)修改吧。memsetup.S文件主要是存儲(chǔ)器的初始化設(shè)置,其實(shí)也是44binit.s里面的一部分。 

2)其實(shí)board這里要修改的不多,先跳過(guò)flash部分吧,我們來(lái)看一下cpu設(shè)置部分吧。 

u-boot-1.1.2里面已經(jīng)加入了對(duì)s3c44b0的支持,讓我們來(lái)看一下cpu/s3c44b0里面的部分吧。 

看到start.S這個(gè)文件了嗎?要修改的其實(shí)并不多,按照你的板設(shè)置一下中斷跳轉(zhuǎn)矢量就行了,或者上網(wǎng)查一下吧,應(yīng)該很容易看明的。其中cpu.c這個(gè)文件簡(jiǎn)直不用修改,再來(lái)看一下serial.c這個(gè)文件吧,改一下波特率的設(shè)置就行,就是你用多少M(fèi)的CPU頻率的話對(duì)應(yīng)的波特率參數(shù)設(shè)置問(wèn)題,其實(shí)B2已經(jīng)做得不錯(cuò)的了,很多子程序都不用自己寫的了^_^,在我的板上是這樣設(shè)置的,參考一下吧: 

#if CONFIG_S3C44B0_CLOCK_SPEED==66 ,把所有的這些66改成60,原因,我的實(shí)驗(yàn)板上用的頻率是60(44B0最高頻率為64M)。然后其它分頻系數(shù),寄存器初始化設(shè)置,可以參考一下44blib.c,在這里我給出我的設(shè)置出來(lái)吧,可以參考一下。 




case 115200: 

#if CONFIG_S3C44B0_CLOCK_SPEED==60 

divisor = 32; 




UFCON0 = 0x0; 

       ULCON0 = 0x03; 

       UCON0 = 0x245; 

       UBRDIV0 = divisor; 




我在這方面算術(shù)不好,所以都是參考人家的。 




3)好,再加上個(gè)頭文件: 

cd u-boot-1.1.2/include/configs 

cp B2.h myboards3c44b0.h 

這個(gè)頭文件其實(shí)要改的地方還挺多的,我等下再說(shuō)怎樣修改。先回到u-boot.1.1.2目錄, 




4)在Makefile里面加上這部分,不會(huì)的話就模仿B2來(lái)寫吧^_^ 

在B2的這部分文件 

B2_config      :      unconfig 

       @./mkconfig $(@:_config=) arm s3c44b0 B2 dave 

后面加上這部分: 

myboards3c44b0_config       :      unconfig 

       @./mkconfig $(@:_config=) arm s3c44b0 myboard3c44b0 myboard 




切記在@./mkconfig $(@:_config=) arm s3c44b0 myboard3c44b0 myboard前面的是Tab來(lái)的,萬(wàn)萬(wàn)不能用空格代替,因?yàn)樗强窟@個(gè)來(lái)識(shí)別命令的! 



     

5)好,現(xiàn)在可以在u-boot-1.1.2目錄下執(zhí)行如下命令: 

Make distclean(還是用這個(gè)吧,比較徹底) 

Make myboards3c44b0_config 

Make 

看看有沒(méi)有錯(cuò),有錯(cuò)的話按著提示來(lái)改,如果沒(méi)錯(cuò)的話應(yīng)該就能生成u-boot.bin這個(gè)文件,現(xiàn)在還不能用哦,因?yàn)檫@幾是B2的一個(gè)仿制品而已(注:在我的機(jī)上到這一步可沒(méi)有報(bào)錯(cuò)哦,你一步步按著來(lái)做的話應(yīng)該也不會(huì)有什么錯(cuò)誤吧^_^) 

u-boot移植日記3(新手必讀)


6)好,現(xiàn)在繼續(xù)修改u-boot-1.1.2/include/configs/myboards3c44b0.h這個(gè)文件。 

#define CONFIG_INIT_CRITICAL     1         這個(gè)在cpu/s3c44b0/start.S里面用到,如果你的u-boot程序不是在sdram中調(diào)試而是固化到flash中運(yùn)行的話,這個(gè)必不可少。 

找到 #define CONFIG_B2          1        把B2改成myboards3c44b0吧(不然就不會(huì)編譯你的板了) 

找到 #define CONFIG_S3C44B0_CLOCK_SPEED   75   你的44b0x應(yīng)該沒(méi)有75M吧 我的是改成60的 

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本福利一区二区| 秋霞午夜av一区二区三区 | 日韩精品一级中文字幕精品视频免费观看| 中文字幕佐山爱一区二区免费| 中文字幕在线观看一区二区| 亚洲一区二区视频在线观看| 久久国产生活片100| 成人综合婷婷国产精品久久免费| 日韩视频免费观看高清在线视频| 国产成人精品亚洲日本在线桃色| 色噜噜狠狠一区二区三区果冻| 日韩欧美在线网站| 亚洲天堂2014| 日本欧美一区二区三区乱码 | 国产丝袜欧美中文另类| 亚洲精品日产精品乱码不卡| 老司机精品视频线观看86| 99久久婷婷国产精品综合| 91精品国产综合久久精品麻豆 | av影院午夜一区| 欧美另类变人与禽xxxxx| 久久久91精品国产一区二区精品| 亚洲欧美另类图片小说| 精品一区二区三区的国产在线播放| av资源网一区| 日韩美女一区二区三区四区| 综合网在线视频| 久久爱另类一区二区小说| 色狠狠桃花综合| 亚洲国产精品成人综合色在线婷婷 | 香蕉乱码成人久久天堂爱免费| 国产精品自拍三区| 在线观看日韩电影| 国产欧美日韩另类一区| 全国精品久久少妇| 在线观看欧美黄色| 国产精品久久久久一区| 麻豆中文一区二区| 欧美日韩中文字幕一区二区| 国产精品久久久久久妇女6080| 久久不见久久见免费视频7 | 日韩精品五月天| 色婷婷久久久综合中文字幕| 日本一二三不卡| 激情都市一区二区| 欧美精品乱人伦久久久久久| 国产精品久久久久久户外露出 | 欧美国产乱子伦| 精品无码三级在线观看视频 | 国内成人精品2018免费看| 欧美日韩成人综合天天影院| 综合久久久久久久| 国产成人av一区| 久久亚洲一级片| 蜜臀av亚洲一区中文字幕| 欧美亚一区二区| 专区另类欧美日韩| 成人免费观看视频| 国产午夜精品理论片a级大结局| 日本欧洲一区二区| 69av一区二区三区| 丝袜国产日韩另类美女| 欧美特级限制片免费在线观看| 最好看的中文字幕久久| 成人a级免费电影| 国产精品久久久久久久久免费桃花| 国产一二三精品| 精品av综合导航| 精品一区二区三区蜜桃| 亚洲精品一区二区三区香蕉| 乱中年女人伦av一区二区| 欧美一区二区免费视频| 男女男精品视频| 日韩免费成人网| 久久精品国产一区二区三| 日韩视频免费观看高清完整版| 日产精品久久久久久久性色| 91精品婷婷国产综合久久性色 | 国产色产综合色产在线视频| 国产一区二区中文字幕| 久久久久9999亚洲精品| 国产福利91精品| 欧美国产精品一区| 97成人超碰视| 亚洲国产综合在线| 678五月天丁香亚洲综合网| 日韩高清欧美激情| 日韩精品一区二区三区swag| 韩国成人精品a∨在线观看| 国产婷婷色一区二区三区四区| 成人美女在线观看| 亚洲视频在线观看三级| 欧美午夜寂寞影院| 三级不卡在线观看| 精品久久久网站| 成人福利电影精品一区二区在线观看| 国产精品理论片| 在线观看一区二区精品视频| 免费看欧美女人艹b| 国产日韩av一区| 91在线观看美女| 偷拍一区二区三区四区| 日韩欧美国产综合| av激情亚洲男人天堂| 亚洲在线一区二区三区| 日韩午夜在线观看| 国产91丝袜在线播放0| 亚洲品质自拍视频网站| 欧美二区三区的天堂| 国产美女精品在线| 亚洲欧美乱综合| 日韩欧美国产三级| 99久久99久久精品国产片果冻| 亚洲成a人片在线不卡一二三区| 欧美一区二区国产| 成人午夜在线播放| 亚洲午夜精品在线| 2024国产精品视频| 一本大道久久a久久精品综合| 日本欧洲一区二区| 国产精品二三区| 日韩一区二区麻豆国产| 国产99久久久精品| 五月天亚洲精品| 中文字幕va一区二区三区| 欧美日韩1区2区| 国产suv精品一区二区6| 婷婷久久综合九色综合伊人色| 国产欧美日韩三级| 91麻豆精品国产91久久久久久久久| 国产suv精品一区二区三区| 午夜av一区二区| 亚洲丝袜自拍清纯另类| 精品不卡在线视频| 欧美日韩国产片| 波多野结衣视频一区| 久久国产三级精品| 五月天亚洲精品| 18涩涩午夜精品.www| 欧美成人女星排行榜| 日本道免费精品一区二区三区| 久久99久久精品欧美| 亚洲一区二区精品久久av| 久久久亚洲精品一区二区三区| 欧美区视频在线观看| 不卡的av在线播放| 狠狠色综合日日| 亚洲h动漫在线| 综合网在线视频| 欧美国产一区视频在线观看| 日韩欧美不卡在线观看视频| 色综合久久88色综合天天6| 国产二区国产一区在线观看| 蜜桃视频免费观看一区| 亚洲图片欧美一区| 亚洲精品日日夜夜| 国产精品三级av| www欧美成人18+| 日韩美女一区二区三区| 91麻豆精品国产91| 欧美日韩精品一区二区在线播放| 99精品国产热久久91蜜凸| 国产成都精品91一区二区三| 国产一区二区三区在线看麻豆| 日本在线观看不卡视频| 婷婷中文字幕一区三区| 一区二区日韩av| 亚洲天堂成人在线观看| 国产精品麻豆99久久久久久| 久久久久久久久久看片| 精品国产髙清在线看国产毛片| 欧美高清性hdvideosex| 欧美日韩国产中文| 欧美日韩国产成人在线免费| 欧美视频一区二区三区| 在线观看www91| 在线免费观看日本一区| 91亚洲精品乱码久久久久久蜜桃 | 一区二区三区在线影院| 日韩一区在线免费观看| 中文字幕在线不卡| 国产精品免费网站在线观看| 国产欧美日韩在线看| 久久在线观看免费| 久久精品一区二区三区四区| 欧美精品一区二区三区四区| 久久先锋影音av| 欧美激情综合网| ㊣最新国产の精品bt伙计久久| 国产精品日日摸夜夜摸av| 国产精品久久久久精k8 | 欧美视频一区二区三区| 欧美日韩精品系列| 欧美老肥妇做.爰bbww| 91精品国产色综合久久ai换脸| 日韩免费一区二区| 国产无遮挡一区二区三区毛片日本 | 日韩成人dvd| 久久精品国产99| 高清不卡在线观看|