2009-07-21
注册 | 登录 | 网站地图
 内容管理 > 论坛精华 2009-9-11

基于NXP LPC2478如何移植UCLinux

关键字:NXP LPC2478
人气: 452

一、 硬件要求
      一般用PC机来开发Linux,它应满足如下要求:
①   有一个25针的并行接口,用它来连接H-JTAG
②   有一个9针的RS-232串行接口
③   支持网络
④   至少10G的硬盘空间,用来安装VMWare虚拟机和Linux
二、  VMWare虚拟机的安装和Ubuntu的安装
可以从VMWare的官方网站 www.vmware.com下载到VMWare工具,将其拷贝至Linux专用空间下。
比如F:\(我们要专门空出一个盘来安装Linux),到Ubuntu的有关网站:http://linuxtoy.org/archives/ubuntu-804-hardy-heron-lts-download.html下载Ubuntu8.04,将其拷贝至上述的驱动盘下
具体的安装方法可以参考《嵌入式Linux应用开发完全手册》---韦东山著,这里不做详述
三、 VMWareTools的安装
①   将media/cdrom/VMWareTools-7.8.4.tar.gz拷贝至 /temp下
②   进入/temp下,cd /temp
③   解压缩上述压缩文件 tar zxvf VMWareTools-7.8.4.tar.gz
④   cd \VMWare-tools-distrib
⑤   ./VMWare-install.pl
以后一路回车,直到TOOLS安装完成
四、将光盘下提供的所有文件拷贝至windows的某个文件夹下,然后在虚拟机里面共享该文件夹,这就可以在Ubuntu下看到该文件,它在/mnt/hgfs/xxx
五、我们以root身份登录到Ubuntu,驱动Ubuntu 里面的超级终端,然后做如下动作:
    sudo passwd root
    xxxxxx(passwd)
    xxxxxx(passwd)
    xxxxxx(passwd)
    sudo –s –H
    到这,我们可以以root身份操作了
六、在根目录下建立自己的一个文件夹,用来编译uClinux,比如新建一个work文件夹  Mkdir /work
七、将/mnt/hgfs/xxx下的所有文件拷贝至 /work 下
    cd /mnt/hgfs/xxx
    cp arm-linux-tools-20061213.tar.gz  /work
    cp uClinux-dist-20070130.tar.gz  /work
    cp linux-2.6.21.tar.bz2  /work
    cp ea-uClinux-081020.diff.gz  /work
    cp ea-v3_1_incr1.diff.gz  /work
    cp u-boot-1.1.6.tar.bz2  /work
    cp u-boot-1.1.6-ea_v1_9_1.diff.gz  /work
    cp u-boot-1.1.6-ea_v1_9_1_incr1.diff.gz  /work
    cp mkcramfs  /work
    cp arm-elf-tools-20040427.sh  /work
八、 进入/work 解压缩内核文件以及交叉编译工具链并编译内核
       tar -xzvf /uClinux-dist-20070130.tar.gz
       cd uClinux-dist
    rm -rf linux-2.*
    tar -xzvf /linux-2.6.21.tar.gz
    mv linux-2.6.21 linux-2.6.x
    gunzip -c /ea-uClinux-081020.diff.gz | patch -p1
    patch –p0 </ea-v3_1_incr1.diff.gz
    tar -xzvf /arm-linux-tools-20061213.tar.gz
    sudo apt-get install mtd-tools
    chgrp users /usr/sbin/mkfs.jffs2
    cd /work/usr/local/bin
    ln -s /usr/sbin/mkfs.jffs2 mkfs.jffs2
    sudo apt-get install cramfsprogs
    cd /work/usr/local/bin
    ln -s /usr/sbin/mkcramfs mkcramfs
    cd /work
    cp mkcramfs /work/usr/local/bin
    cp /work/u-boot-1.1.6/tools/mkimage /work/usr/local/bin
    chgrp users /work/usr/local/bin/mkimage
    chmod 755 /work/usr/local/bin/mkimage
    sudo apt-get install zlib1g-dev
    sudo apt-get install libncurses-dev
    sudo apt-get install vim-full vim-runtime vim-gnome
    安装arm-elf-tools-20040427.sh
①  cd /work
②  tail –n+43 arm-elf-tools-20040427.sh >> 1.tar.gz
③  tar zxvf 1.tar.gz
编译内核
cd /work/uClinux-dist
make menuconfig
Select Vendor/Product Selection--- EmbeddedArtists
Select LPC2478OEM_Board
Exit
Exit
Yes
make
Now ,you can see jffs2.img cramfs.img uLinux.bin at /images
九、解压缩U-BOOT并编译
    tar zxvf /u-boot-1.1.6.tar.bz2
    gunzip –c /u-boot-1.1.6-ea-v1_9_1.diff.gz
    patch –p0 </u-boot-1.1.6-ea-v1_9_1_incr1.diff.gz
    cd \u-boot-1.1.6
    make distclean
    make LPC2478OEM_Board_16bit_config
    make
    now,you can see the u-boot.bin at xxx
 
 
十、  文件的烧写和系统的启动
①   用H-JTAG工具将u-boot.bin文件烧写到LPC2478芯片内部Flash
②   烧写完成后重新上电
③   按任意键,取消U-BOOT 的自动启动,做如下动作:我们用TFTP来传输影像文件----修改传递内核参数:
       setenv bootargs root=/dev/mtdblock1 rootfstype=jffs2 console=ttyS0,115200N8
       saveenv
④   键入 run updata_nand 回车 等待写入完成
⑤   键入 run nand_boot 回车 等待写入完成
   到此内核已经启动,并挂载了JFFS2文件系统
⑥   运行系统自带的测试程序
cd /bin 回车
./calibrate 回车
到此屏幕显示了一幅图片
⑦   要想自动运行用户程序,在rc 文件的最后一行写入 /bin/calibrate,重新编译并下载至目标板运行即可。
十一、TFTPserver的安装
   从网站上下载TFTPserver
    ① sudo apt-get install tftpd
   ② sudo apt-get install xinetd 
③ 建立配置文件
   cd /etc/xinetd.d/
    vi tftp,输入
    service tftp
    {
          socket_type               = dgram
          protocol                  = udp
          wait                      = yes
          user                      = root
          server                    = /usr/sbin/in.tftpd
          server_args               = -s /tftpboot
          disable                   = no
          per_source                = 11
          cps                       = 100 2
          flags                     = IPv4
    }
       存盘退出
      sudo chmod o+w tftpboot
④   建立TFTP服务目录:Mkdir /tftpboot
⑤   重新启动服务
⑥   完成安装测试方法,将上述的JFFS2.IMG uLinux.bin 拷贝至/tftpboot目录
⑦   执行---文件的烧写和系统的启动---步骤
参考文献:
《嵌入式Linux应用开发完全手册》韦东山编著,人民邮电出版社
《嵌入式Linux应用程序开发详解》华清远见嵌入式培训中心孙琼编著,人民邮电出版社
《嵌入式Linux系统开发技术详解---基于ARM》华清远见嵌入式培训中心 孙纪坤、张小全编著,人民邮电出版社
《嵌入式系统接口设计与Linux驱动程序开发》刘淼编著,北京航空航天大学出版社

相关资源
版权所有:华荣汇电子科技(北京)有限公司
COPYRIGNT(C) 2006 FORIC.COM.CN