JZ2440开发板几种烧写程序的方法

2019-07-13 04:54发布

我学习嵌入式Linux用的是韦东山的JZ2440开发板,提供的uboot功能丰富下载裸板程序:没有uboot时 只能用openJTAG或者J-link下载裸机程序 使用openJTAG:烧写完自动复位开发板,不用重新上电
1.安装openJTAG驱动
2.将oflash和对应dll文件放置C:WindowsSysWOW64 以便任何路径都可以使用
3.cmd窗口进入待下载bin文件的目录 使用oflash xxx.bin指令
4.选择下载模式 0 openJTAG
5.选择对应开发板 1 JZ2440
6.选择nandFlash(裸机) 或者 norFlash
7.确认nandFlash(裸机) 或者 norFlash
8.选择要烧写的起始地址(裸机都是0)

有uboot时 有多种下载烧写程序的方法,拔掉openJTAG时,openJTAG和开发板的连接也要拔掉,不然复位会被拉低
使用TFTP(前提使保证网络环境已经搭建好):
0.开发板和路由器用交叉网线连接
1.开发板选择norFlash启动 (uboot在norFlash)
2.使用串口工具连接开发板(secureCRT)
3.在uboot加载完内核前(5s) 按下空格进入uboot功能菜单 #menu
4.设置IP、serverIP  set ipaddr 192.168.x.xx , set serverip 192.168.x.xx  save
5.windows打开tftp.exe  服务器地址选择Windows主机的地址 设置文件路径
6.退出menu  选择tftp下载
  ($mtd指令看分区 root kernel bootloader params)
  tftp 0x30000000 xxx.bin //下载到sdram 0x30000000
  nand erase bootloader //擦除bootloader区域 bootloader:0x00000000-0x00040000
  nand write 0x30000000 bootloader //将下载到0x30000000的代码烧写到bootloader
7.重新选择nandFlash启动
  
使用DNW下载
0.开发板用USB线连接电脑,安装DNW驱动
1.开发板选择norFlash启动 (uboot在norFlash)
2.使用串口工具连接开发板(secureCRT)
3.在uboot加载完内核前(5s) 按下空格进入uboot功能菜单 #menu
4.windows打开dnw.exe
5.输入n选择dnw下载
6.dnw状态为OK时才可以传输 传输完自动烧写
7.重新选择nandFlash启动
下载整个系统:烧写uboot:
和烧写裸板的方法一样,一般将uboot烧写到norFlash

烧写内核:(在uboot下)
方法1 在menu输入k,用dnw直接传输uImage
方法2 #tftp 0x30000000 uImage
  #nand erase kernel(内核段的地址标识符)
  #nand write.jffs2 0x30000000 kernel (.jffs2  flash位反转校验)
  
烧写文件系统:
方法1 在menu输入y,用dnw直接传输yaffs2 
或者在menu输入j,用dnw直接传输jffs2 使用jffs2时 需要做一下设置
#set bootargs noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0
#rootfstype=jffs2
#save
也可以在菜单里输入字母 s 进行设置。指定“rootfstype=jffs2”的原因是:如果不指定,
内核首先把它当作 YAFFS 进行挂载,如果不成功,再尝试 JFFS2。但是对于大多数 JFFS2
文件系统来说,可以被“错误地”当作 YAFFS 挂载,但是挂载之后并不能正确使用。

方法2 #tftp 30000000 fs_qtopia.yaffs2
  #nand erase root
  #nand write.yaffs2 30000000 root $(filesize)  //filesize指定下载多大
  或者:
  #tftp 30000000 fs_qtopia.jffs2
  #nand erase root
  #nand write.jffs2 30000000 root $(filesize)
  
  #reset 重启