Chinaunix首页 | 论坛 | 博客
  • 博客访问: 330754
  • 博文数量: 67
  • 博客积分: 2485
  • 博客等级: 大尉
  • 技术积分: 665
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-20 17:29
文章分类

全部博文(67)

文章存档

2016年(3)

2013年(5)

2012年(3)

2011年(5)

2010年(35)

2009年(16)

我的朋友

分类: 嵌入式

2009-10-26 09:07:24

烧制过程

在环境搭建,uboot编译好的情况下,只是进行一个烧制过程的完整步骤如下:

一、VMware虚拟机的“串行:自动探测”关掉

       理由:因为我们首先在windows下烧制uboot,防止相互抢占网络端口。

二、windows下,打开SJF2410_BIOS.BAT

       这是烧制GEC板的转用工具。

       步骤:选第0项→第0项→第0项→选第2项退出。

1、     Select the function to test: 输入0表示对K9S1208FS2410NAND Flash的芯片型号)进行烧写。

2、     在接下来的Select the function to test:里输入0,表示烧写类型为程序。

3、     在接下来的Iput the target block里输入希望的偏移地址,在此处写为0

三、打开dnw.exe串口工具

1、     dnw.exe的参数设置如下:Baud Rate:115200;COM Port:COM1;Download Address:0x30200000接着打开ARM板的电源,选Serial PortConnect,你就可以在dnw窗口的标题栏上看到我们刚的配置信息。

2、     复位ARM板,选1(从串口下载文件)→Serial PortTransmituboot1.3.4.binN20Y

四、进入linux,打开“串行:自动探测”,网络联接选桥接。

五、进入minicom,重启ARM板。

六、printenv查看环境变量,还要配置

1、     setenv bootargs root=/dev/mtdblock3 rootfstype=cramfs console=ttySAC0,115200 init=/linuxrc

2、     setenv bootcmd nand read 30008000 40000 200000\;go 30008000

3、     setenv ipaddr 192.168.1.44

4、     setenv serverip 192.168.1.55

       以上步骤都需要保存,saveenv

       以下分别是内核与文件系统

七、1tftp 30008000 zImage

              2nand erase 40000 200000

              3nand write 30008000 40000 200000

八、1tftp 30008000 lmrootfs.cramfs

              2nand erase 440000 1000000

              3nand write 30008000 440000 1000000

       注:如果没有lmrootfs.cramfs,或是它的功能改变,我们需要重新编译

       步骤:1)把要编译的文件拷到F:\share下相应的目录下

              2)在linux下,进到mnt/hgfs相应的目录下,运行以下命令:

arm-linux-gcc -o main function.c information.c main.c net.c orderlist.c orderopt.c print.c serial.c -lpthread -lminigui -ljpeg -lpng -lz

       3)把目录下的main拷到home/harry/nfs/usefulfs/zn

4)退到nfs目录下,执行mkcramfs useflfs lmrootfs.cramfs

5)把lmrootfs.cramfs 拷到tftpboot目录下就可以执行上面的第八步了

九、oK

 

注意:

一、在windows下,F:\share文件与linux系统下,mnt\hgfs同步。

  date目录下,创建文本:touch list.txt scaler.txt PLUNO.txt database.txt uploadNO.txt serverIP.txt IP.txt

二、在2.62.4内核在串口命名上有一个重要区别,在2.4内核中“COM1”对应的是“ttyS0”,而在2.6内核中“COM1”对应“ttySAC0”。因此在启动参数的子项要格外注意。

三、USB 驱动安装

打开dnw,重启ARM,选0,在弹出的“找到新的硬件向导”窗口中,“否,暂不执行”,然后下一步,再选择“从列表或指定位置安装(高级)(S)”,再点击下一步,从“在搜索中包括这个位置”下选:“gec2410v1.0.0→“USB驱动程序”点下一步,选“c:\windows\inf\oem7.ini”,下一步,完成。然后可在dnw中见到Now USB is connected.的字样。

四、GEC2410 BIOS 功能说明

对于 GEC2410 开发板,SDRAM 的物理起始地址是 0x30000000,结束地址是 0x34000000,大小是

64Mbytes,所以指定的 USB 下载地址要在此范围内。另外 BIOS 自身占用了 0x30100000 的一段空间,

因此在用 BIOS USB 下载功能时应指定地址大于等于 0x30100000。用串口下载时, BIOS 内部固定

了下载地址为 0x30200000

五、如果tftp不能下载有可能有以下几种原因:

1、虚拟机是否添加串口并且打开(虚拟机设置硬件添加串口),如果没有这一步,在打开minicom是就不能打开。

2、网线是否加接正确了。同时宿主机的IP设置是否正确,它必须与目标机的IP在同一网段。可用ifconfigping检验

3、关闭所以的防火墙。(包括unixwindows的,还有如一些你安装的商业杀毒软件公司的防火墙)

4、关闭防火墙

5windows网络中的网络连接里面,本地连接的IP地址也要跟目标机、宿主机在同一IP段。

6、关闭无线网卡

7、串口为交叉线(这一点无果是学生学习的话,就无需考虑,因为你买开发板的时候,只有一根串口线)

8、在使用JTAG进行烧写时,JTAG接口使用JP2,并且要把vmware关闭。

 

备注:些篇文章只适合于我单位的此程序烧制,有些步骤并不适合于所有大众,要借鉴时就弄懂原理。

阅读(1374) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~