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

2019-07-13 03:59发布

  开发环境: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分区有关,后面再移植新的内核时再看。   到此位置除了”安装根文件系统“有问题其他都正确。