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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? u-boot移植筆記.txt

?? u-boot相關的一些文章
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
幾經艱辛,終于基本完成了u-boot在s3c44b0的移植工作,在些記錄一下在移植過程中所碰到的困難和解決方法(一些心得),作為日后參考之用,也希望能夠幫到其它有需要的人^_^。

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

  2.準備:說是容易,做起來卻挺難。因為編譯u-boot要在linux環境下,而不能在我們平時所熟悉的ads下那么直觀。首先要建立好交叉編譯環境,這個交叉編譯環境可以自己來做,不過完全沒必要,而且難度也挺大,一般是下載人家編譯好的工具。我剛開始在這里就郁悶了很久,現在會了以后覺得原來就是這么簡單,在些我把方法說清楚,希望不會再有人為這個問題郁悶了^_^

  1)在網上下載一個u-boot源代碼,我用的是1.1.2版本的,最新的應該是1.1.4的吧,其實差不多,那就像我那樣下載一個1.1.2版本的吧。把源文件解壓,這個應該不用說了吧,學過linux的人應該會,不會的話我想你繼續做下去也困難,那就先裝個linux用下吧(我用的是RedHat的,哦對了,編譯程序是需要gcc編譯器的,所以安裝方式一定要選擇工作站哦^_^)。好了,解壓后你發現在u-boot.1.1.2目錄下有Makefile這個文件吧?讓我們看看它里面的內容,最簡單的方法就是vi Makefile了。我們要看的是它選擇的是哪一個交叉編譯器。可以看到這一項:ifeq ($(ARCH),arm)CROSS_COMPILE = arm-linux-看到吧,也就是說這里所用的交叉編譯器是arm-linux-gcc了,(u-boot默認是用這個的,也有用arm-elf- gcc的,網上有個工具包arm-elf-tools-20030314.sh,我試過用它來編譯,沒有問題,順便提一下,arm-elf-gcc是用來編譯uClinux內核的工具來的)那你就下載一個arm-linux-的交叉編譯器吧,我是在網上下載cross-2.95.3.tar.bz2這個文件,然后解壓得到2.95.3版本的交叉編譯工具的,具體設置如下(參考網上資料)

  2)在宿主機上建立arm-linux-gcc交叉編譯環境在RedHat Linux系統下以root用戶登錄,將cross-2.95.3.tar.bz2文件復制到/目錄下,安裝:# tar jxvf cross-2.95.3.tar.bz2這個命令會在你的/usr/local/arm/2.95.3目錄下安裝 arm-linux-gcc 交叉編譯程序,然后在PATH變量中添加一項:/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文件中添加一項:export PATH=/usr/local/arm/2.95.3/bin:$PATH測試:把終端關閉,重新打開后執行如下命令:# arm-linux-gcc –v好了,建立好交叉編譯環境后可以試著編譯u-boot了

  這里提幾個注意點:1.不可用 winRAR解壓u-boot-1.1.2.tar.bz2或u-boot-1.1.2.tar.gz這種文件(就個可能新手會犯,一般熟悉linux命令的人應該都不會這樣做吧,在此還是要提一下)2.可能下載的文件有一些中間文件會阻礙編譯的運行,所以在編譯前最好來個徹底清除,在u- boot.1.1.2目錄下運行命令:make distclean (其實這個命令在Makefile文件下就有)我當時為這個問題郁悶了很久,希望你們不會像我這樣^_^);3,有些人為了方便想在cygwin下編譯,但是經常在網上看到在這個虛擬平臺下編譯有很多的問題,要配置的東西也多,而且好像我用過那個vi沒有linux環境下的好用,所以最好還是不要用這個軟件了吧,如果你真的離不開windows的話可以像我這樣裝個虛擬機,在虛擬機下再裝linux的系統,具體參考這個網站):http: //fedora.linuxsir.org/doc/vmware/3)好了,現在開始測試你的交叉編譯器搞好沒有。在u-boot.1.1.2目錄下執行如下命令:1) Make distclean (再次強調)2) Make B2_config(隨便再個現成的試試^_^)   
 
  3) Make (沒錯的話應該會生成u-boot.bin文件,發生錯誤的話也不怕,只要細心看一下哪里錯就行了,gcc碰到錯誤后會退出編譯,所以可以一個個錯誤來改,一般的問題都是沒找到編譯器(可能你沒裝或者裝的不對,例如人家用的是arm-linux-而你裝的是arm-elf-,如果你裝了的話看看你的環境變量設好了沒有,前面有講,如果不關編譯器的事的話那就再看看,一般是文件的后綴不對,有些文件后綴是大寫的,例如start.S但是如果你的是 start.s小寫的話那當然找不到(解決方法很,把它改成大寫就行了)。細心看吧,不用怕,它都有注明路徑,很容易可以找到的))如果以上步驟都無誤的話那么恭喜你,你的交叉編譯環境可以用來編譯你的u-boot源代碼了,可以開始以下階段(待續)


移植:說時遲那時快,現在開始移植工作(以下是我一步步重新做一遍,力求說得詳細點,感謝我吧^_^)我以B2板子的程序做為模板來做. #cd u-boot-1.1.2#cd board #cp -R dave myboard (這是我取的板子名字,可以換上你的,但是后面的也要跟著來換哦^_^)
  
  #cd myboard#mv B2 myboards3c44b0 (自己取個板子名) #cd myboards3c44b0 # mv B2.c myboards3c44b0.c 修改myboards3c44b0里面的Makefile, 把B2改成myboards3c44b0,編譯時如果報的其它類似找不到B2的錯誤也是把相應的B2改成myboards3c44b0來處理。

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

  2)其實board這里要修改的不多,先跳過flash部分吧,我們來看一下cpu設置部分吧。u-boot-1.1.2里面已經加入了對 s3c44b0的支持,讓我們來看一下cpu/s3c44b0里面的部分吧。看到start.S這個文件了嗎?要修改的其實并不多,按照你的板設置一下中斷跳轉矢量就行了,或者上網查一下吧,應該很容易看明的。其中cpu.c這個文件簡直不用修改,再來看一下serial.c這個文件吧,改一下波特率的設置就行,就是你用多少M的CPU頻率的話對應的波特率參數設置問題,其實B2已經做得不錯的了,很多子程序都不用自己寫的了^_^,在我的板上是這樣設置的,參考一下吧:#if CONFIG_S3C44B0_CLOCK_SPEED==66 ,把所有的這些66改成60,原因,我的實驗板上用的頻率是60(44B0最高頻率為64M)。然后其它分頻系數,寄存器初始化設置,可以參考一下 44blib.c,在這里我給出我的設置出來吧,可以參考一下。 case 115200:#if CONFIG_S3C44B0_CLOCK_SPEED==60divisor = 32; UFCON0 = 0x0; ULCON0 = 0x03; UCON0 = 0x245; UBRDIV0 = divisor; 我在這方面算術不好,所以都是參考人家的。

  3)好,再加上個頭文件:cd u-boot-1.1.2/include/configscp B2.h myboards3c44b0.h這個頭文件其實要改的地方還挺多的,我等下再說怎樣修改。先回到u-boot.1.1.2目錄,

  4)在Makefile里面加上這部分,不會的話就模仿B2來寫吧^_^在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來的,萬萬不能用空格代替,因為它是靠這個來識別命令的!

  5)好,現在可以在u-boot-1.1.2目錄下執行如下命令:Make distclean(還是用這個吧,比較徹底)Make myboards3c44b0_configMake看看有沒有錯,有錯的話按著提示來改,如果沒錯的話應該就能生成u-boot.bin這個文件,現在還不能用哦,因為這幾是B2的一個仿制品而已(注:在我的機上到這一步可沒有報錯哦,你一步步按著來做的話應該也不會有什么錯誤吧^_^)



6)好,現在繼續修改u-boot-1.1.2/include/configs/myboards3c44b0.h這個文件。

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

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

  #define CONFIG_S3C44B0_CLOCK_SPEED 75 你的44b0x應該沒有75M吧 我的是改成60的找到Size of malloc() pool這部分設置,改成這樣吧,反正我是照著人家來做的,你自己研究下吧^_^。
         
  #define CFG_MONITOR_LEN (256 * 1024) /* Reserve 256 kB for Monitor */#define CFG_ENV_SIZE (64*1024) /* 1024 bytes may be used for env vars*/#define CFG_MALLOC_LEN (CFG_ENV_SIZE + 128*1024 )#define CFG_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */#define CFG_ENV_IS_IN_FLASH 1 這個必不可少,如果你想把你的參數保存到flash的話(有些板是保存到EEPRAM中去的,但是s3c44b0的話還是保存到flash吧) #define CFG_ENV_ADDR (PHYS_FLASH_1+0x40000) 這個就是你的參數保存在flash里的起始地址了#define CFG_ENV_OFFSET 0x40000 這個我后來看它源程序發現如果你上一步沒有設置它的起始地址的話就會用它來作默認地址的了#define CONFIG_AUTO_COMPLETE 其它地方沒有深究哦,有些好像不要也行,你就試試吧。 找到Hardware drivers部分,這應該是網絡芯片設置吧,參考一下這個吧(要看芯片的)

  #define CONFIG_DRIVER_RTL8019 這個就要看你的板上用的是什么網卡了(這個是臺灣出的,有10M)

  #define RTL8019_BASE 0x06000000 這個是網卡相就寄存器的起始地址以下部分我試過不要也行,你試下吧

  #define  RTL8019_BUS32 0#define CONFIG_SMC_USE_16_BIT#undef CONFIG_SHOW_ACTIVITY

  #define CONFIG_NET_RETRY_COUNT 10 應該是重試的次數吧 #define CONFIG_BAUDRATE 115200 設置波特率

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩三级视频在线看| 91美女片黄在线| 国产精品久久久久影院亚瑟| 91成人免费在线视频| 寂寞少妇一区二区三区| 一二三区精品视频| 国产婷婷色一区二区三区在线| 欧美日韩国产首页| 94色蜜桃网一区二区三区| 美女看a上一区| 亚洲午夜免费视频| 国产精品国产精品国产专区不蜜| 6080yy午夜一二三区久久| 91美女片黄在线观看| 国产精品久久久爽爽爽麻豆色哟哟| 欧美激情一区三区| 亚洲精品免费视频| 久久久亚洲精华液精华液精华液| 精品视频资源站| 91亚洲资源网| 波多野结衣在线一区| 国产在线精品免费av| 日韩av中文字幕一区二区| 亚洲激情图片qvod| 亚洲日韩欧美一区二区在线| 国产欧美一区视频| 国产亚洲一区二区三区在线观看| 日韩免费看的电影| 欧美一区二区三区免费在线看| 欧美天天综合网| 91啪在线观看| 色94色欧美sute亚洲线路一久| 成人国产精品免费网站| 国产成人精品三级| 高清成人在线观看| 床上的激情91.| 国产超碰在线一区| 国产成a人亚洲精品| 喷水一区二区三区| 欧美区在线观看| 91麻豆精品秘密| av不卡在线观看| www.视频一区| 91在线视频播放地址| 色综合天天综合在线视频| 99久久精品免费看国产免费软件| www.欧美精品一二区| 91性感美女视频| 91影院在线观看| 精品视频全国免费看| 欧美剧情片在线观看| 欧美精品777| 日韩欧美国产wwwww| 欧美一区二区三区电影| 精品电影一区二区三区| 国产日产欧美一区| 亚洲色图欧美偷拍| 一区二区三区日韩精品| 午夜精品久久久久影视| 蓝色福利精品导航| 国产一区二区三区精品欧美日韩一区二区三区| 激情综合网最新| 国产91高潮流白浆在线麻豆| 99精品视频一区二区三区| 国产精品久久久久久久午夜片| 日韩精品一区二| 欧美国产日韩a欧美在线观看| 国产精品视频免费| 国产精品中文字幕一区二区三区| 高清在线成人网| 在线观看国产日韩| 日韩欧美成人激情| 国产精品久久久久久福利一牛影视| 亚洲女人小视频在线观看| 午夜视频在线观看一区| 国产乱码精品1区2区3区| 91影院在线免费观看| 日韩一卡二卡三卡四卡| 国产精品久久福利| 午夜精品久久久久影视| 国产不卡在线视频| 欧美日韩亚洲高清一区二区| 精品欧美乱码久久久久久| 中文字幕一区二区三区色视频| 五月开心婷婷久久| 丁香五精品蜜臀久久久久99网站| 欧美专区日韩专区| 欧美激情一区二区三区全黄| 亚洲va欧美va人人爽| 国产v日产∨综合v精品视频| 欧美日韩国产免费| 国产精品高潮呻吟久久| 北条麻妃一区二区三区| 中文字幕一区二区在线观看| 亚洲二区在线观看| 国产激情精品久久久第一区二区 | 亚洲综合丝袜美腿| 国产一区二区三区在线观看免费视频| 色综合天天综合网天天看片| 精品国产三级电影在线观看| 亚洲国产一区二区a毛片| 成人免费av资源| 国产99精品在线观看| 国产一区不卡视频| 国产一级精品在线| 欧美日韩在线综合| 亚洲视频精选在线| 国产精品18久久久久久vr| 在线观看视频一区二区| 国产精品欧美经典| 韩国在线一区二区| 欧美一区二区美女| 亚洲国产一区二区在线播放| 91网址在线看| 日韩美女啊v在线免费观看| 亚洲成人久久影院| 99在线热播精品免费| 久久久久久久久久看片| 91免费国产在线| 国产亚洲一区字幕| 国产九色精品成人porny| 日韩一区二区在线观看| 亚洲成人av电影在线| 色网站国产精品| 自拍偷拍欧美激情| eeuss鲁片一区二区三区在线看| 26uuuu精品一区二区| 男人的天堂久久精品| 欧美日免费三级在线| 亚洲一区二区美女| 欧美日韩中文字幕一区二区| 亚洲免费毛片网站| 色av一区二区| 亚洲一区精品在线| 欧美吻胸吃奶大尺度电影| 亚洲一区在线观看视频| 欧美日韩国产综合草草| 亚洲啪啪综合av一区二区三区| 99久久婷婷国产综合精品电影| 国产精品亲子伦对白| 成人精品免费网站| 1区2区3区国产精品| 91蜜桃在线观看| 成人激情综合网站| 精品国产乱码久久久久久夜甘婷婷 | 亚洲永久免费av| 欧美日韩在线直播| 日本欧美一区二区三区乱码| 日韩久久久精品| 精品一区中文字幕| 日本一二三不卡| av不卡在线观看| 亚洲一区二区美女| 91精品国产综合久久蜜臀| 精品综合久久久久久8888| 久久色视频免费观看| 成人激情动漫在线观看| 亚洲欧美另类小说| 欧美精品xxxxbbbb| 韩国精品久久久| 国产精品嫩草99a| 欧美性大战久久久| 乱一区二区av| 中文字幕精品一区二区精品绿巨人| 91免费视频网| 日本三级韩国三级欧美三级| 久久免费看少妇高潮| 91麻豆文化传媒在线观看| 午夜精品福利一区二区三区蜜桃| 日韩欧美中文字幕精品| 成人精品gif动图一区| 欧美视频在线观看一区二区| 亚洲综合免费观看高清完整版 | 欧美高清一级片在线| 国产精品一区免费视频| 中文字幕一区二区在线播放| 欧美在线啊v一区| 韩国三级中文字幕hd久久精品| 国产欧美日韩久久| 欧美日韩高清一区二区不卡| 国产一区二区三区高清播放| 亚洲一区二区黄色| 久久久久久一二三区| 91黄色激情网站| 国产精品中文欧美| 亚洲电影中文字幕在线观看| 国产香蕉久久精品综合网| 在线免费观看不卡av| 激情综合色综合久久综合| 亚洲欧美另类小说| 久久综合av免费| 欧美日韩午夜在线视频| 成人a区在线观看| 另类综合日韩欧美亚洲| 一区二区三区电影在线播| 久久久久久久久蜜桃| 欧美一区二区三区免费视频| 色婷婷激情一区二区三区| 国产精品小仙女| 91网上在线视频|