GT2440使用串口+tftp安装linux系统

来源:互联网 发布:山东网络诈骗案 编辑:程序博客网 时间:2024/05/29 19:53

  开发环境:win7+vmware+ubuntu1204

  GT2440的教程里面提到的安装linux系统的方法是使用dnw+USB来下载实现的。但是在万恶的win7下面,USB驱动是无论如何也是装不上的,所以必须换个方法了。

一、编译下载中介uboot到norflash

  《嵌入式linux应用开打完全手册》上提到的uboot具备tftp功能,而且也是使用s3c2440芯片。所以就考虑使用这个uboot来作为烧写中介。首先是编译这本书上的uboot。

  1、编译《嵌入式linux应用开打完全手册》光盘中的uboot

        首先解压 u-boot-1.1.6.tar.bz2 到uboot这个目录下。并把补丁u-boot-1.1.6_100ask24x0.patch也方法uboot目录下。uboot的目录树如下:

    $ tree uboot -L 1
uboot
├── p0
├── p0.rej
├── SI
├── tags
├── u-boot-1.1.6
├── u-boot-1.1.6_100ask24x0.patch
├── u-boot-1.1.6.tar.bz2
├── u-boot-2015.04
└── u-boot-2015.04.tar.bz2

   然后在uboot这个目录下执行下面的命令来给uboot1.1.6打上补丁,后编译uboot1.1.6。

    $patch p0 < u-boot-1.1.6_100ask24x0.patch

  2、使用jlink烧写uboot1.1.6到norflash

  这一步需要一个”mini2440-SST39VF1601.jflash“

   2.1 把GT2440的启动方式拨到NOR

  2.2 打开j-flash arm,然后“file -> open project"选择”mini2440-SST39VF1601.jflash“

  2.3 因为GT2440与mini2440的norflash并不一样,所以要在"project setting"中把flash型号勾选上自动,如下图

 

  2.4 然后在"file -> open date file ..."选项中选中编译好的uboot镜像下载即可。


  二、通过tftp安装linux系统

  在这个步骤中,gt2440的启动方式还是nor。烧写nand时,uboot,logo,zima及文件系统在nand中的起始位置参考《gt2440用户手册》中”3.1 安装linux系统“中的图片。如下图是烧写logo时的图片就可知logo烧写的起始位置是0x140000。


  1、在ubuntu上安装tftpd服务器

   参考链接:http://blog.chinaunix.net/uid-26495963-id-3206829.html

  我的操作步骤:

  $ apt-get install tftp-hpa tftpd-hpa

  $ mkdir /home/sundh/tftpboot

  $chmod 777 /home/sundh/tftpboot

  $ sudo vim /etc/default/tftpd-hpa

    1 # /etc/default/tftpd-hpa
 
   TFTP_USERNAME="tftp"
   TFTP_DIRECTORY="/home/sundh/tftpboot"
   TFTP_ADDRESS="0.0.0.0:69"
  TFTP_OPTIONS="-l -c -s"

$ sudo service tftpd-hpa restart

然后测试下即可。

 2、uboot环境变量设置

 setenv ipaddr 192.168.211.21

setenv gatewayip 192.1689.211.1

setenv serverip 192.168.211.150

每个变量的作用很明显,其中serverip就是tftp服务器的ip地址了。

3、烧写nand

 3.1 擦除整块nand

100ask> nand info     //获取nand容量

100ask> nand erase 0x0 0x10000000       //0x10000000 = 256M
3.2 烧写uboot到nand

  100ask> mw.b 0x30000000 0xff 0x40000   
  100ask> tftp 0x30000000 u-boot_W35.bin

   100ask> nand write 0x30000000 0x0 0x40000

 3.3 烧写logo

    100ask> mw.b 0x30000000 0xff 0x40000
    100ask> tftp 0x30000000 gt2440_logo_W35.bin

   100ask> nand write 0x30000000 0x140000 0x40000

 3.4 烧写linux内核

    100ask> mw.b 0x30000000 0xff 0x300000
    100ask> tftp 0x30000000 zImage_2.6.38.6_W35

      100ask> nand write 0x30000000 0x240000 0x300000

3.4 安装根文件系统

   100ask> mw.b 0x30000000 0xff 0x3C00000
  100ask> tftp 0x30000000 root_qt2.2.0.bin

100ask> nand erase 0x600000 0x3400000

100ask> nand write.jffs2 0x30000000 0x600000 $(filesize)     //nand write.jffs2 不需要进行页面对其

    这里发现文件系统的位置不对。先不管了,反正也要重新移植系统。这个跟nand分区有关,后面再移植新的内核时再看。

  到此位置除了”安装根文件系统“有问题其他都正确。



 


0 0
原创粉丝点击