<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 移植u-boot 1.1.6到TQ2440開發(fā)板-第一階段

          移植u-boot 1.1.6到TQ2440開發(fā)板-第一階段

          作者: 時(shí)間:2016-11-26 來(lái)源:網(wǎng)絡(luò) 收藏
          最近買了一個(gè)TQ2440開發(fā)板,奈何天嵌只給出了編譯好的文件,沒(méi)有給源碼,小弟從頭開始移植Uboot

          本文引用地址:http://www.ex-cimer.com/article/201611/322001.htm

          移植u-boot 1.1.6到TQ2440開發(fā)板-第一階段

          主要修改、配置源代碼、編譯源代碼

          TQ2440開發(fā)板信息:

          CPU:S3C2440

          ARM核:arm920t

          SDRAM:64M

          Nor Flash:2M

          Nand Flash:64M

          網(wǎng)卡:DM9000

          第一步:下載 uboot 1 . 1 . 6源碼

          之前都是從CSDN上下載,發(fā)現(xiàn)下載的都不是真正的官方發(fā)布的源碼,給大家提供一個(gè)官網(wǎng)ftp://ftp.denx.de/pub/u-boot格式為u-boot-1.1.6.tar.bz2

          第二步:解壓uboot源碼到虛擬機(jī)上的linux系統(tǒng)中,一定要在linux上解壓,因?yàn)閷?duì)于linux是區(qū)分文件名大小寫的,而windows是不區(qū)分大小寫,在windows中解壓會(huì)少很多文件,導(dǎo)致不能編譯。

          解壓命令 tar xvjf u-boot-1.1.6.tar.bz2,解壓后產(chǎn)生一個(gè)u-boot-1.1.6的文件夾

          第三步:刪除多余的文件夾,由于下載的U-boot源碼支持眾多的開發(fā)板,針對(duì)TQ2440,我們只需要編譯TQ2440相關(guān)的文件即可,這里我們的移植是參考smdk2410來(lái)移植的,因此刪除一些多余的文件。

          1、u-boot-1.1.6oard目錄下只保留smdk2410文件夾,該文件夾存放和開發(fā)板相關(guān)的代碼,因此其他的開發(fā)板的文件,可以刪掉

          2、u-boot-1.1.6cpu存放和開發(fā)板CPU相關(guān)的代碼,該文件夾只保留arm920t文件,因?yàn)镾3C2440是arm920t的arm核

          3、u-boot-1.1.6include存放開發(fā)板體系相關(guān)的頭文件,asm-XXX的文件目錄中,只留下asm-arm,因?yàn)镾3C2440是arm體系的

          4、u-boot-1.1.6includeconfigs文件只保留smdk2410.h,其他的文件全部刪掉,該文件中是開發(fā)板的頭文件

          5、u-boot-1.1.6目錄下有l(wèi)ib-XXX的文件夾,保留lib-arm和lib-generic這兩個(gè)文件夾,其他的lib-XXX文件夾刪除

          6、u-boot-1.1.6目錄下有以 .mk結(jié)尾的文件,保留arm_config.mk、config.mk、rules.mk,其余的.mk文件刪除

          第四步:添加支持TQ2440的uboot,刪除后這些文件編譯后智能支持2410的開發(fā)板,因此我們要想支持S3C2440,必須增加TQ2440編譯選項(xiàng)

          1、將u-boot-1.1.6/board/目錄下的smdk2410,復(fù)制為TQ2440。

          cp - rf board/smdk2410/board/TQ2440

          2、修改u-boot-1.1.6/board/TQ2440/下的smdk2410.c為TQ2440.c

          mv board/TQ2440/smdk2410.cboard/TQ2440/TQ2440.c

          3、修改u-boot-1.1.6/board/TQ2440下的Makefile文件,修改 Makefile 文件中 28 行的 COBJS,

          COBJS := TQ2440.o flash.o因?yàn)樯厦嬉呀?jīng)改成TQ2440.c文件了

          4、修改開發(fā)板配置文件,進(jìn)入 u-boot-1.1.6/include/configs 目錄下, 將 smdk2410.h 復(fù)制為TQ2440.h

          cp include/configs/smdk2410.hinclude/configs/TQ2440.h

          5、修改u-boot-1.1.6/頂層Makefile,Makefile文件 1881 行,增加:
          TQ2440_config:unconfig
          @$(MKCONFIG) $(@:_config=) arm arm920t TQ2440 NULL s3c24x0

          各項(xiàng)的意思如下:
          arm: CPU的架構(gòu)(ARCH)
          arm920t: CPU的類型(CPU),其對(duì)應(yīng)于cpu/arm920t子目錄。
          TQ2440:開發(fā)板的型號(hào)(BOARD),對(duì)應(yīng)于board/dong2440目錄。
          NULL:開發(fā)者/或經(jīng)銷商(vender)。(此處沒(méi)加vender,為NULL。)
          s3c24x0:片上系統(tǒng)(SOC) 。

          6、配置交叉編譯器:修改頂層(u-boot-1.1.6 目錄)Makefile文件 128 行,修改:
          ifeq ($(ARCH),arm)
          CROSS_COMPILE=usr/local/arm/4.3.2/bin/arm-linux
          endif

          第五步:編譯uboot

          1、首先make distclean,清除

          2、make TQ2440_config,配置

          3、make編譯



          關(guān)鍵詞: 移植u-boot16TQ244

          評(píng)論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();