JZ2440 S3C2440 开发板开发步骤 之 uboot烧录 参数设置 裸机烧录 kernel烧录(openJTAG oflash usb 串口 dnw tftp nfs )

刚接触JZ2440开发板的通过看视频就知道怎么下载程序和各个开发步骤,但是已经过了好几年,至少快三年了,有些东西也忘记得差不多了,今天稍用很快的速度快进方式看了下视频,回忆起了一点,但不全部看完,此处了根据自己的经验和理解记录,当然为了以后可以快速回忆,因此写下这个博客,当作以后查阅的资料,也帮助一些入门者当参考,有不对的地方欢迎指正提出。另外最后的tftp部分是根据已经整理的资料直接贴上,还没有整理出完整步骤,等后面整理完成在来补充。

一:oflash烧写uboot

如果没有记错在nand falsh 和 nor flash 没有uboot的情况下需要使用oflash下载,这时候只需要接电源和openjtag,连接线如下的,其中的USB线和串口线可以不接

 

Oflash烧写步骤:

  1. 接好线后,上电(不清楚nor/nand flash切换开关要将切换到哪个档位),需先装openJTAG驱动
  2. 开始菜单,输入cmd,回车打开,弹出命令行窗口

  1. 切换到存放oflash的目录,操作如下:

我存放oflash的目录在D盘的D:\Program Files (x86)\oflash下因此需要切换到D盘,在命令行下输入d: 回车

输出cd Program Files (x86)\oflash回车,切换到D:\Program Files (x86)\oflash目录下

  1. 使用oflash下载u-boot到开发板
  1. 输入oflash u-boot.bin回车,
  2. 选择openJTAG(输入 0 再次回车)

  1. 选择S3C2440,即输入1,再次回车
  2. 选择Nand Flash prog,即输入0,回车

  1. 选择0,回车,这个是再次确认是烧录到Nand Flash prog

 

 

  1. 输入0,uboot开始烧录

  1. 烧录完成后,退出oflash命令,返回到window命令输入行

 

二、烧写裸机程序

烧写裸机程序和烧写uboot一样,只是将u-boot.bin换成你自己的xxx.bin

三、使用USB烧写kernel

接好线,

安装所需的USB串口驱动以及openJTAG驱动,还有dnw驱动,dnw驱动不是很好装,可能需要安装很久,另外就是确保已经烧写过了uboot。启动开发板,使用secureCRT连接到开发板,这里使用串口连接,File->connect->  + >serial->下一步->com口根据实际选择配置参数->下一步

按侧面的复位键重新启动开发,在倒计时等于0前按下空格,如果来不及按请重新按复位键,重新启动开发板,然后继续按空格,直到出现下面这个界面,当然截图是截到倒是1秒,只有比0大的数字都可以

 

输入q,退出菜单,进入参数设置,如果不小心按到其他字母并回车后,可以通过Ctrl+c退出,然后在按q进入Uboot参数配置界面

输入print查看uboot的参数配置情况,我这里已经改过参数因此启动选项里面是nfs启动,如果想要nfs启动就不需要修改了,如果需要从开发板nand flash启动就需要修改,

输入:set bootargs noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0 回车修改参数

输入:save 回车,保存修改后的参数

输入:reset回车 ,系统自动重新启动

回到刚刚,在uboot启动过程倒计时按下空格进入菜单界面

输入k,进入USB烧录状态,这是屏幕提示USB host is connected. Waiting a download

打开dnw,如果dnw驱动已经安装完成,并且USB线等都没有问题的话,dnw上将线USB:OK,否则不会显示OK,

选择USB port->transmit

弹出串口选择all file,如果不选择all file,可能看不到你想要的文件

我的是4.3寸的屏幕因此选择uImage_4.3,点击打开

进入烧写状态,此时进度条一直在走

烧写完成后进度条消失,并且secureCRT会打印出:OK,并进入菜单栏选项,输入r重启,这时重启后又恢复到原来的出处设置了。

四通过tftp烧写内核(以下不完整等以后整理)

烧写内核:

tftp:

tftp 30000000 uImage

nand erase kernel

nand werte.jffs2 30000000 kernel

 

 

五:烧写文件系统:

1)dnw方式

dnw:在uboot的菜单中输入y,然后用dnw.exe发送yaffs文件

或者

dnw:

在uboot的菜单中输入j,然后用dnw.exe发送yaffs文件,然后设置参数(rootfstype=jffs2)步骤如下

OpenJTAG> set bootargs noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0

rootfstype=jffs2

OpenJTAG> save

2)tftp方式:

tftp下载:

tftp 30000000 fs_qtoia.yaffs2

nand erase root

nand write.yaffs2 30000000 0x00260000 $(filesize)

或者

tftp 30000000 fs_qtoia.jffs2

nand erase root

nand write.jffs2 30000000 0x00260000 $(filesize)

烧写完成后reset重启开发板

 

 

另外附上Uboot环境变量设置:

开发板初始环境变量:

OpenJTAG> print
bootargs=noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0
bootcmd=nand read.jffs2 0x30007FC0 kernel; bootm 0x30007FC0
bootdelay=2
baudrate=115200
ethaddr=08:00:3e:26:0a:5b
netmask=255.255.255.0
mtdids=nand0=nandflash0
mtdparts=mtdparts=nandflash0:256k@0(bootloader),128k(params),2m(kernel),-(root)
ipaddr=192.168.1.99
serverip=192.168.1.100
stdin=serial
stdout=serial
stderr=serial
partition=nand0,0
mtddevnum=0
mtddevname=bootloader


nfs环境变量:

OpenJTAG> print
bootcmd=nand read.jffs2 0x30007FC0 kernel; bootm 0x30007FC0
bootdelay=2
baudrate=115200
ethaddr=08:00:3e:26:0a:5b
ipaddr=192.168.7.17
serverip=192.168.7.11
netmask=255.255.255.0
mtdids=nand0=nandflash0
mtdparts=mtdparts=nandflash0:256k@0(bootloader),128k(params),2m(kernel),-(root)
bootargs=noinitrd root=/dev/nfs nfsroot=192.168.1.102:/work/nfs_root/rootfs ip=192.168.1.99:192.168.1.102:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0
stdin=serial
stdout=serial
stderr=serial
partition=nand0,0
mtddevnum=0
mtddevname=bootloader

猜你喜欢

转载自blog.csdn.net/lxj362343/article/details/89604659