在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > uboot移植到S3C44B0X開發(fā)板的經(jīng)歷

            uboot移植到S3C44B0X開發(fā)板的經(jīng)歷

            作者: 時間:2016-11-11 來源:網(wǎng)絡(luò) 收藏
            (1) 事情來由

            幾個月前從朋友那里拿到了一塊參考Micetek EV44b0-II開發(fā)板設(shè)計(jì)的板子,對其bootloader MBL感覺很不錯. 朋友說可能是移植 u-boot的.但Micetek并沒有提供MBL的源代碼, 因此當(dāng)時沒有仔細(xì)去研究. 最近公司準(zhǔn)備想做基于S3C44B0X CPU的產(chǎn)品,因此購買了杭州立宇泰公司()的armsys-c及armsys-b開發(fā)板和.armsys提供的 bootloader 是其公司自己開發(fā)的bootloader,覺得其USB這一塊做的還可以,但利用USB下載調(diào)試uclinux是非常麻煩的,操作很不爽,其 bootloader也不提供網(wǎng)絡(luò)下載調(diào)試.因此自己計(jì)劃移植u-boot.

            本文引用地址:http://www.biyoush.com/article/201611/316621.htm

            (2) 開始
            由于沒有接觸過u-boot,因此第一步要做的就是google一些資料.
            u-boot官方網(wǎng)站:http://sourceforge.net/projects/u-boot(比較慢)
            http://u-boot.sourceforge.net/這個快一些.

            DENX U-Boot及Linux使用手冊: http://coosign.blogchina.com/coosign/1318487.html, 這是一遍翻譯的文檔.主要介紹了u-boot編譯及使用的命令.但沒有涉及新板子的移植流程.

            到board目錄查了一下:
            #cd u-boot
            #cd board
            #find . -exec grep -l 44B0 {} ;
            結(jié)果是:
            ./dave/B2/B2.c
            B2網(wǎng)站是: ,初初看了B2開發(fā)板的介紹,但不詳細(xì).包括使用的網(wǎng)絡(luò)芯片等都沒有介紹.

            google "u-boot 移植"后查到一篇文章:
            "收集了一些關(guān)于U-BOOT的文章"
            http://www.bloghome.cn/index.php?op=ViewArticle&articleId=2111&blogId=390

            里面搜集了不少關(guān)于u-boot移植的問題.
            里面介紹了"U-Boot 在44B0X 開發(fā)板上的移植以及代碼分析"的內(nèi)容,仔細(xì)看了看.發(fā)現(xiàn)其移植的版本比較低,但對了解u-boot結(jié)構(gòu)是滿不錯的,因?yàn)檫@個版本不支持44B0X,因此完全是支持新CPU的移植.了解到 make XX_config是在Makefile中定義的.
            另外"MPC8xx的U-Boot移植體會(ZT) "這一篇對u-boot介紹滿詳細(xì)的.但對移植工作只做了理論性和經(jīng)驗(yàn)性介紹,沒有具體的操作步驟.

            "基于Atmel at91rm9200的armlinux的bootloader啟動代碼分析 "
            http://www.linuxfans.org/nuke/modules.php?name=News&file=print&sid=2765
            里面介紹了u-boot移植到at91rm9200上的情況,可以參考一下.

            另外就是仔細(xì)閱讀u-boot下的README文件.

            (3) 編譯一把
            看了相關(guān)的資料,心動不如行動.先編譯一把看看情況.既然只有B2開發(fā)板是S3C44B0X CPU的,因此先編譯一下B2開發(fā)板看看. 具體:
            #cd u-boot
            #make B2_config
            #make
            結(jié)果順利,成功編譯.

            (4) 開始動手移植
            我以B2板子的程序做為模板來做.
            #cd board
            #cp -r dave wx (自己取個公司名wx)
            #cd wx
            #mv B2 wx20 (自己取個板子名wx20)
            #cd wx20
            # mv B2.c wx20.c
            修改Makefile及wx20.c, 主要是B2改成wx20.

            增加配置文件:
            #cd include/configs
            #cp B2.h wx20.h
            修改Makefile配置文件,增加wx20_config.
            1432 wx20_config : unconfig
            1433 @./mkconfig $(@:_config=) arm s3c44b0 wx20 wx
            [注:前面的數(shù)字是文件行號,以下一樣].
            將board/wx目錄下和wx20.h文件中的B2改成wx20或WX20.

            這里其實(shí)是最重要的步驟,就是根據(jù)硬件的情況來修改相關(guān)的參數(shù).由于對硬件板子的情況不是太了解,因此此時最需要的就是耐心地看看硬件資料.主要修改的地方有:
            include/configs/wx20.h ---- 配置文件,大部分參數(shù)是這里配置的.
            board/wx/wx20/lowlevel_init.S -- 內(nèi)存參數(shù)配置
            cpu/s3c44b0/serial.c -- 串口配置
            cpu/s3c44b0/start.S -- 程序入口

            如果此時配置全部正確了,那么我們就簡單的很了.(如果你用我的patch的話,就是如此了!)那么我也就不會仔細(xì)再去研究u-boot其他部分了. 困難就是你學(xué)習(xí)的最好機(jī)會!

            (5) 開始編譯
            經(jīng)過簡單的參數(shù)修改,編譯成功.然后下載u-boot.bin(二進(jìn)制格式). 此時你可以用nm看一下u-boot(elf格式)的內(nèi)容,會有所收獲的.

            然后用armsys的bootloader將u-boot.bin調(diào)入到內(nèi)存0xc100000運(yùn)行.結(jié)果可想而知,串口沒有任何顯示,而且死機(jī).bootloader也必須斷電重起.

            (6) u-boot流程
            原因是比較明顯的,就是參數(shù)和硬件沒有符合.因此接下來做的事情就是仔細(xì)閱讀S3C44B0 CPU的硬件資料,包括內(nèi)存配置,串口配置這些.我覺得要讓串口出信息,最主要的就是CPU的初始化,內(nèi)存配置和串口配置.另外就是了解u-boot程序運(yùn)行流程,這個對了解需要設(shè)置的參數(shù)是非常有幫助的.我這里大致說一下u-boot運(yùn)行流程.

            入口: cpu/s3c44b0/start.S
            主要是CPU初始化( cpu_init_crit 200), 調(diào)內(nèi)存配置函數(shù)( lowlevel_init 200), 然后判斷u-boot是否從flash運(yùn)行,如果是就把u-boot代碼拷貝到TEXT_BASE定義的地方.然后轉(zhuǎn)到 start_armboot.

            start_armboot: lib_arm/board.c
            進(jìn)行各種初始化設(shè)置,主要有:
            cpu_init CPU相關(guān)的設(shè)置, 具體在./cpu/s3c44b0/cpu.c中.
            board_init 板子相關(guān)的設(shè)置, 具體在board/wx/wx20/wx20.c 中
            interrupt_init中斷設(shè)置,我們沒有用,具體在./cpu/s3c44b0/interrupts.c中
            env_init 初始化環(huán)境變量, 具體要看用什么介質(zhì)來存儲環(huán)境變量,如果用flash來存貯, 程序在common/env_flash.c中.
            init_baudrate 設(shè)置baud參數(shù)
            serial_init 串口初始化, 具體在cpu/s3c44b0/serial.c.
            console_init_f 控制臺設(shè)置, 具體在./common/console.c

            display_banner 顯示標(biāo)題.
            dram_init 可用內(nèi)存配置, 具體在./board/wx/wx20/wx20.c.
            flash_init flash初始化,具體./drivers/cfi_flash.c.

            接下來就是環(huán)境變量初始化, 網(wǎng)絡(luò)初始化,最后到main_loop,可以運(yùn)行各種命令.


            (7) 主要參數(shù)修改
            經(jīng)過一段時間調(diào)試,終于串口出東西了,這段時間犯了一個小錯誤,走了一段冤枉路.其實(shí)配置參數(shù)可能早已正確,但串口老是亂碼,原因是自己的u-boot.bin傳下來時目錄搞錯了,結(jié)果老是運(yùn)行錯誤的u-boot.bin.這段時間里主要改的參數(shù)有:

            include/configs/wx20.h:
            #define CONFIG_S3C44B0_CLOCK_SPEED 64
            CPU主頻,armsys板的是64M
            #define PHYS_SDRAM_1 0x0c000000 /* SDRAM Bank #1 */
            B2板子里的定義是錯誤的.還有RAM大小,flash大小需要修改,跟B2板不同.

            #define CONFIG_DRIVER_RTL8019
            #define RTL8019_BASE 0x08000000
            配置rtl8019AS網(wǎng)絡(luò)芯片.

            #define CFG_LOAD_ADDR 0x0c008000 /* default load address */
            uclinux運(yùn)行入口地址

            lowlevel_init.S:
            MEMORY_CONFIG:
            .long 0x11010102
            .long 0x600
            .long 0x7ffc
            .long 0x7ffc
            .long 0x7ffc
            .long 0x7ffc
            .long 0x2610
            .long 0x18000
            .long 0x18000
            .long 0x960459
            .long 0x10
            .long 0x20
            .long 0x20
            由于對armsys硬件不是太了解,沒有辦法,只得看armsys bootloader程序,但每個版本又有差別.因此是用AXD調(diào)試看bootlaoder啟動后0x1c80000中的值定的.

            cpu/s3c44b0/serial.c:
            #elif CONFIG_S3C44B0_CLOCK_SPEED==64
            divisor = 34;
            串口設(shè)置,這個也是根據(jù)bootloader里的公式計(jì)算出來的.這里只定義了115200得值,其他沒有去設(shè)置.

            cpu/s3c44b0/start.S:
            ldr r1, =PLLCON

            #if CONFIG_S3C44B0_CLOCK_SPEED==66
            ldr r0, =0x34031 /* 66MHz (Quartz=11MHz) */
            #elif CONFIG_S3C44B0_CLOCK_SPEED==75
            ldr r0, =0x610c1 /*B2: Xtal=20mhz Fclk=75MHz */
            #elif CONFIG_S3C44B0_CLOCK_SPEED==64
            ldr r0, =((M_DIV<<12)+(P_DIV<<4)+S_DIV) //Fin=8MHz,Fout=64MHz
            #else
            # error CONFIG_S3C44B0_CLOCK_SPEED undefined
            #endif
            PLLCON的值,也是根據(jù)bootlaoder的公式.

            board/wx/wx20/wx20.c
            主要是PORT配置,具體我不知道有沒有影響.


            (8) 關(guān)于u-boot入口的疑問
            由于開始串口沒有出內(nèi)容,因此對u-boot入口產(chǎn)生懷疑.在網(wǎng)上也找到一個帖子,碰到同樣疑問的人:
            http://www.linuxforum.net/forum/showflat.php?Cat=&Board=embedded&Number=563322&page=0&view=collapsed&sb=5&o=0&fpart=

            "鏈接得到的起始地址為什么是TEXT_BASE,而不是0呢,所以現(xiàn)在只能夠下載到ram中運(yùn)行,但是無法燒寫道flash中跑,這是怎么回事呢?u-boot中應(yīng)該是start.S中的這段代碼在flash中運(yùn)行吧,后面就把自身拷貝到ram中TEXT_BASE地址處,為什么在鏈接文件中指定的_start的起始地址為0x00000000呢? "

            后來我理解了:
            “鏈接得到的起始地址為什么是TEXT_BASE,而不是0呢,”
            因?yàn)閡_boot如果從flash運(yùn)行的話,那么它會將自己的代碼拷貝到RAM中,然后運(yùn)行。u-boot開始部分代碼與編譯的入口沒有關(guān)系,而主要的代碼是在RAM中運(yùn)行,因此編譯的入口地址是TEXT_BASE.因此u-boot既可以flash運(yùn)行,也可以ram運(yùn)行。

            “為什么在鏈接文件中指定的_start的起始地址為0x00000000呢?”
            lds文件中的起始地址為0x00000000是不起作用的,由-TTEXT_BASE參數(shù)替代的。

            剛開始比較疑惑的原因是對:
            126 relocate: /* relocate U-Boot to RAM */
            127 adr r0, _start /* r0 <- current position of code */
            adr這條指令沒有理解正確,因?yàn)榘阉氤蒻v r0,_start了,實(shí)際上adr這里的_start是相對的,如果從flash運(yùn)行的話,r0就是0, 如果從ram運(yùn)行的話,r0就是C100000。

            (9) u-boot顯示信息
            經(jīng)過上面的努力,我們終于可以看到u-boot的廬山真面目了.當(dāng)然這還不是最終的結(jié)果.但至少離勝利不遠(yuǎn)了.現(xiàn)在我們可以用printf來調(diào)試了.此時全部是通過armsys bootloader下載u-boot.bin到0xc100000運(yùn)行.

            現(xiàn)在顯示信息是:
            Plese wait a moment to start running...i am samfei!
            iamsam!


            U-Boot 1.1.3 (Jul 1 2005 - 13:46:03)

            U-Boot code: 0C100000 -> 0C11A73C BSS: -> 0C11ECF4
            RAM Configuration:
            Bank #0: 0c000000 8 MB
            [flash_get_size, 224] Entering ...
            [flash_get_size, 232] value=bf
            [flash_get_size, 255] value=234b
            Flash: 2 MB
            *** Warning - bad CRC, using default environment

            In: serial
            Out: serial
            Err: serial
            MAC: 26:26:26:26:26:26
            Hit any key to stop autoboot: 0
            =>

            (10) 希望環(huán)境變量存貯到flash
            B2板缺省的定義是把環(huán)境變量存貯到EEPROM上,雖然armsys上也有,但我也搞不清楚它的硬件配置,因此希望把環(huán)境變量存貯到flash上.

            增加配置: include/configs/wx20.h (從evb4510.h中學(xué)來!)
            79 #define CONFIG_COMMANDS ( CONFIG_CMD_DFL |
            80 CFG_CMD_DATE |
            81 CFG_CMD_ELF |
            82 CFG_CMD_NET |
            83 CFG_CMD_ENV|CFG_CMD_FLASH 200)this.width=200>screen.width/2)this.style.width=screen.width/2;" border=0>
            173 #define CFG_ENV_IS_IN_FLASH
            174 #undef CFG_ENV_IS_NOWHERE
            175
            176 #define CFG_ENV_ADDR (CFG_FLASH_BASE + 0x20000) /* environment start address */
            177 #define CFG_ENV_SECT_SIZE 0x10000 /* Total Size of Environment Sector */

            編譯運(yùn)行, 并操作setenv, saveenv, printenv. 看起來正常.
            => setenv ipaddr 192.168.1.100
            => saveenv
            Saving Environment to Flash...
            Un-Protected 1 sectors
            Erasing Flash...
            done
            Erased 1 sectors
            Writing to Flash... done
            Protected 1 sectors
            ð printenv

            但重新啟動機(jī)器后,參數(shù)沒有起作用,還是缺省的.仔細(xì)看了環(huán)境變量的程序,發(fā)現(xiàn)是由于ENV_IS_EMBEDDED定義造成的,而此變量定義是在./tools/envcrc.c中:
            # if (CFG_ENV_ADDR >= CFG_MONITOR_BASE) &&
            ((CFG_ENV_ADDR + CFG_ENV_SIZE) <= (CFG_MONITOR_BASE + CFG_MONITOR_LEN))
            # define ENV_IS_EMBEDDED 1
            # endif

            因此在wx20.h中增加了:
            #define CFG_MONITOR_BASE PHYS_SDRAM_1 (我還沒搞清楚這個變量干啥的.)
            主要是去除ENV_IS_EMBEDDED的定義。

            結(jié)果確實(shí)準(zhǔn)備使用flash的環(huán)境變量,但每次總是說標(biāo)志頭錯誤,經(jīng)過仔細(xì)調(diào)試,最終發(fā)現(xiàn)flash寫出現(xiàn)錯誤,原因是我忘了修改wx/common/flash.c中的CONFIG_B2為CONFIG_WX20. 修改后就正常了.

            (11) arm-linux和arm-elf
            上面調(diào)試一直是arm-elf,原因是以前有問題時懷疑編譯器問題而修改了,因此沒有改變。改用arm-linux編譯后:

            U-Boot 1.1.3 (Jul 3 2005 - 07:01:36)

            U-Boot code: 0C100000 -> 0C117DA0 BSS: -> 0C11C0F0
            RAM Configuration:
            Bank #0: 0c000000 8 MB
            env_init flash_addr=20000
            flash_addr=20000 env_ptr=20000 env_ptr->data=bootargs=setenv bootargs root=/dev/ram ip=192.168.1.100:::::eth0:off ether=25,0,0,0,eth0 ethaddr=00:50:c2:1e:af:fb
            envptr->crc=1470de2 1470de2
            buffer->crc=1470de2
            [flash_get_size, 224] Entering ...
            [flash_get_size, 232] value=bf
            [flash_get_size, 255] value=234b
            Flash: 2 MB
            env_ptr=20000
            gd->env_addr=20004 gd->env_valid=1
            env_relocate[211] offset = 0x0
            env_relocate[229] malloced ENV at 00000000
            In:
            Out:
            Err:

            死機(jī)!!!

            然后改回arm-elf編譯:
            U-Boot 1.1.3 (Jul 3 2005 - 07:04:48)

            U-Boot code: 0C100000 -> 0C119B98 BSS: -> 0C11DCD8
            RAM Configuration:
            Bank #0: 0c000000 8 MB
            env_init flash_addr=20000
            flash_addr=20000 env_ptr=20000 env_ptr->data=bootargs=setenv bootargs root=/dev/ram ip=192.168.1.100:::::eth0:off ether=25,0,0,0,eth0 ethaddr=00:50:c2:1e:af:fb
            envptr->crc=1470de2 1470de2
            buffer->crc=1470de2
            [flash_get_size, 224] Entering ...
            [flash_get_size, 232] value=bf
            [flash_get_size, 255] value=234b
            Flash: 2 MB
            env_ptr=20000
            gd->env_addr=20004 gd->env_valid=1
            env_relocate[211] offset = 0x0
            env_relocate[229] malloced ENV at 0c0dfc08
            In: serial
            Out: serial
            Err: serial
            rtl8019 MAC: 2a:2a:2a:2a:2a:2a
            Hit any key to stop autoboot: 0
            =>

            正常!因此最好是用arm-elf編譯. 我在看網(wǎng)上查資料時記得有人說過"用arm-linux編譯時,malloc返回0,而改成arm-elf編譯時就好了".有個印象,具體帖子不記得在哪里了.所以后來我就一直使用arm-elf編譯,沒有再去試arm-linux編譯.

            (12) 網(wǎng)卡調(diào)試
            剩下來的事情就是調(diào)網(wǎng)絡(luò)了.根據(jù)上面配置rtl8019as后,網(wǎng)絡(luò)仍然不同,然后參考uclinux驅(qū)動中的寄存器定義修改,網(wǎng)絡(luò)就可以了.具體修改是:
            drivers/rtl8019.h
            36 #define ETH_ADDR_SFT (8)
            37 #define EI_SHIFT(x) ((x)<
            38
            39 #define RTL8019_REG_00 (RTL8019_BASE + EI_SHIFT(0x00))
            40 #define RTL8019_REG_01 (RTL8019_BASE + EI_SHIFT(0x01))
            ......


            (13) 開始load uclinux
            設(shè)置好本機(jī)ip地址,服務(wù)器ip地址, 下載文件名這些參數(shù)后,就可以load uclinux了.

            => tftpboot
            eth_init...00:50:c2:1e:af:fb
            TFTP from server 192.168.1.25; our IP address is 192.168.1.100
            Filename image.bin.
            Load address: 0xc008000
            Loading: #################################################################
            #################################################################
            #################################################################
            #################################################################
            #################################################################
            #################################################################
            ###############################
            死機(jī)!

            原因是我們現(xiàn)在的u-boot入口地址是C100000,而uclinux內(nèi)核大約2M,因此load過來就沖突了.因此我們把u-boot的入口地址改成C300000,具體修改在board/wx/wx20/config.mk:
            TEXT_BASE = 0x0C300000
            重新編譯運(yùn)行就可以了.

            (14) 設(shè)置自動運(yùn)行uclinux
            剛才我們是用命令load uclinux并執(zhí)行的.自動運(yùn)行需要設(shè)置bootcmd環(huán)境變量:
            => setenv bootcmd "tftpboot; go 0xc008000" ==》設(shè)置錯誤
            ## Starting application at 0x0C008000 ...
            => setenv bootcmd "tftpboot; go 0xc008000" ==》需要有個
            => saveenv

            重新開機(jī)運(yùn)行u-boot:
            Hit any key to stop autoboot: 0
            Unknown command "tftpboot - try help
            ## Starting application at 0x0C008000 ...
            結(jié)果還是不能自動下載uclinux和運(yùn)行.經(jīng)過調(diào)試才發(fā)現(xiàn)在設(shè)置bootcmd時多加了引號造成的!正確的設(shè)法是:
            => setenv bootcmd tftpboot ; go 0xc008000 ==》正確的設(shè)置

            此時可以成功自動下載uclinux和運(yùn)行了.


            (15) flash運(yùn)行
            刻錄到flash后,運(yùn)行uclinux出現(xiàn)問題,運(yùn)行到:uclinux 開中斷后就死機(jī),提示:
            Linux version 2.4.24-uc0 (root@samfei) (gcc version 2.95.3 20010315 (release)(ColdFire patches - 20010318 from :http://fiddes.net/coldfire/)(uClinux XIP and shared lib patches from :http://www.snapgear.com/)) #46 Áù 7ÔÂ 2 15:52:55 CST 2005
            Processor: Samsung S3C44B0X revision 0
            Architecture: S3C44B0X
            On node 0 totalpages: 2048
            zone(0): 0 pages.
            zone(1): 2048 pages.
            zone(2): 0 pages.
            Kernel command line: root=/dev/rom0 init=/linuxrc

            前面一直用armsys的bootloader,將u-boot下載到0xc300000運(yùn)行,然后再load linux到0xc0080000運(yùn)行,正常.而將u-boot刻錄到flash后運(yùn)行不正常,經(jīng)過調(diào)試uclinux,到init/main.c中 sti()函數(shù)后出現(xiàn)死機(jī).因此懷疑中斷向量設(shè)置問題.

            將cpu/s3c44b0/start.S中代碼修改成;
            40 .globl _start
            41 _start: b reset
            42 /*
            43 add pc, pc, #0x0c000000
            44 add pc, pc, #0x0c000000
            45 add pc, pc, #0x0c000000
            46 add pc, pc, #0x0c000000
            47 add pc, pc, #0x0c000000
            48 add pc, pc, #0x0c000000
            49 add pc, pc, #0x0c000000
            50 */
            51 LDR PC, Undefined_Addr
            52 LDR PC, SWI_Addr
            53 LDR PC, Prefetch_Addr
            54 LDR PC, Abort_Addr
            55 LDR PC,RESERVE_Addr
            56 LDR PC, IRQ_Addr
            57 /* subs pc,lr,#4*/
            58 LDR PC, IRQ_Addr
            59 /* subs pc,lr,#4*/

            114 Undefined_Addr:
            115 .word 0x0c000004
            116 SWI_Addr:
            117 .word 0x0c000008
            118 Prefetch_Addr:
            119 .word 0x0c00000C
            120 Abort_Addr:
            121 .word 0x0c000010
            122 RESERVE_Addr:
            123 .word 0x0c000014
            124 IRQ_Addr:
            125 .word 0x0c000018
            126 FIQ_Addr:
            127 .word 0x0c00001C
            128
            129 /*
            130 * the actual reset code
            131 */
            132
            133 reset:
            后編譯,刻錄,然后運(yùn)行.正常了!!!

            (16) 補(bǔ)丁制作和測試
            [root@samfei u-boot]# make distclean
            [root@samfei 44b0]# mv u-boot u-boot.wx
            [root@samfei 44b0]# cvs -d200) server:[email protected]:/cvsroot/u-boot login
            Logging in to server:[email protected]:2401/cvsroot/u-boot
            CVS password:
            [root@samfei 44b0]# cvs -z3 -d200) server:[email protected]:/cvsroot/u-boot co -P u-boot
            cvs checkout: Updating u-boot
            U u-boot/CHANGELOG
            U u-boot/COPYING
            U u-boot/CREDITS
            U u-boot/MAINTAINERS
            。。。。。。

            [root@samfei 44b0]# diff -Naur u-boot u-boot.wx > uboot-wx-20050703.patch
            [root@samfei 44b0]# vi uboot-wx-20050703.patch
            去掉沒有用的文件.做補(bǔ)丁的好處就是自己可以很清楚的知道哪些文件修改了!做完了,別忘了測試一下.

            [root@samfei 44b0]# cd u-boot
            [root@samfei u-boot]# patch -p1 < ../uboot-wx-20050703.patch
            [root@samfei u-boot]# make wx20_config
            [root@samfei u-boot]# make


            (17) 后記
            寫這份材料化了不少時間.由于在調(diào)試的時候記錄了大部分的調(diào)試信息,因此不用費(fèi)腦筋去回憶.寫完了這個經(jīng)歷,非常開心..一則自己可以溫故而知新,二則就是與人共享啊.在開源的世界里,與人共享應(yīng)該是件很快樂的一件事情.



            關(guān)鍵詞: uboot移植S3C44B0

            評論


            技術(shù)專區(qū)

            關(guān)閉