新电脑:装系统(厂家预装、自己装),使用键盘和显示器; 开发板:烧软件(如JTAG),使用串口输入输出 若PC有并口安装并口驱动,使用USB转串口安装对应U转串驱动
1.接口、接线、装驱动、装软件 1.1如果PC有并口,装并口驱动 1.2安装USB串口卡的驱动,以 openjtag为例:先接上去,然后按提示安装即可 1.3Jz2440v2集成的UsB串口:运行PL2303 Prolific drivertnsta11erv1.5.0.exe,然后接USB线(板子上的USB接口)
接线方式1:电脑需要有串口或并口 开发板JTAG接口->JTAG转接线->电脑并口/串口 接线方式2:电脑需要有串口或并口 开发板串口->USB串口线->电脑并口/串口 接线方式3:需要安装对应串口驱动 开发板串口->U转串口线->电脑USB
1.4安装烧写软件,如oflash:把oflash.exe,FD2xx.d11复制到c:\ windows\ system32 1.5安装 secureCRT或其他终端工具
2.使用串口操作开发板 2.1.烧写:裸板4种方法:并口, openjtag,jlink,nor上的 uboot 其余烧写开发板程序总结
开发板没有BootLoader的烧写(flash中没有任何内容时,或误擦除uboot),仅用于烧写bootloader和裸机程序到flash上。 并口Wiggler JTAG调试板 配合HJTAG软件,可以烧写nandflash和norflash,并口速度较慢 (需要用到并口,现在笔记本电脑基本没有并口了,这个方法局限性很大)HJTAG USB仿真器 配合HJTAG软件,可以烧写nandflash和norflash,速度极快,适用于没有并口的电脑Jlink V8仿真器 配合JFlash Arm软件,只能烧写Norflash(也可间接烧写Nandflash,间接烧写到Nandflash是借助sdram来实现烧写的,稍微有一点难,这里公司为了节约成本很多都采用nandflash来启动内核,norflash和nandflash这里区别就明显体现出来了,norflash可以像内存一样直接操作,nandflash只能通过控制寄存器来操作,这里大家一定明白过来,硬件上的差异也是很大的),适用于没有并口的电脑 开发板有u-boot,使用uboot烧写,flash中需要能正常运行uboot,适用于烧写bootloader,kernel和rootfs 1. USB口,S3C2440提供的uboot集成了USB Download的功能,可配合三星提供的DNW软件,方便的下载程序(缺点是烧写速度太慢,优点是三星厂家提供制作好的u-boot源码) DNW软件有windows版本和linux版本,其中linux版本较方便使用,并且稳定。 2. 网口,也是一种速度较快的下载方式,uboot中集成了tftp Download功能,可配合任意一种tftp Server软件实现下载程序。同样可用于windows和linux平台,推荐大家使用这种方式来下载,因为速度非常的快。 3. 串口,使用串口Xmodem协议下载程序,相比USB和网口,速度较慢,不推荐此方式 4. U盘,不需要PC机软件的支持,将U盘插在板上,就可以利用uboot下载U盘中要烧写的文件,并可实现全自动烧写 5. SD/TF卡,等同于U盘烧写程序
开发板没有BootLoader的烧写(flash中没有任何内容时,或误擦除uboot),仅用于烧写bootloader和裸机程序到flash上。
方式1:使用并口工具烧写:先接线再使用cmd进入烧写文件目录使用oflash烧写重新上电观察即可。 注意:烧写uboot或者裸板时一般烧写到nandflash且从0开始烧写。 方式2:使用openjtag烧写:接线,使用oflash烧写(oflash烧写完后会复位开发板不用重启) 方式3:使用jlink只能烧写nor flash,烧好后的u-boot.bin使用NOR启动 方式4:使用nor flash上的uboot来烧写oflash烧写可写为1条:oflash 0 1 1 1 0 u-boot.bin 方式4.1 使用菜单通过USB下载烧写 方式4.2 使用TFTP下载烧写 启动tftp服务 开机按空格进入uboot后,使用print看IP等信息,并设置uboot里的对应ip 连接网线:在uboot中ping主机,注意主机ping不了uboot,因为单向的。ping通后下载程序(tftp 下载地址 下载文件) 擦除boot loader分区并下载进程序(nand write 文件地址 下载地址boot loader) 补充 3.重烧系统:uboot,内核,文件系统 3.1 u-boot烧写和烧写裸板一样(同上) 3.2 烧写内核:使用dnw或者tftp(裸板烧写中有用到) 使用dnw:使用dnw.exe发送文件 使用tftp:先将tftp服务开启设置目录为要下载的image目录,使用命令下载,然后擦除再烧写 tftp 30000000 uimage nand erase kernel nand write.jffs2 30000000 kernel 注意:jffs2作用是加入校验码 3.3烧写文件系统:使用dnw或者tftp(裸板烧写中有用到) 使用dnw:菜单中输入y使用dnw.exe发送yaffs2文件,或者菜单中输入j使用dnw.exe发送jffs2文件再设置bootargs 使用tftp:先将tftp服务开启设置目录为要下载的image目录,使用命令下载,然后擦除再烧写 tftp 30000000 fs_qtopia.yaffs2 nand erase root nand write.yaffs2 30000000 0x00260000 $(filesize) 或者 tftp 30000000 fs_qtopia.jffs2 nand erase root nand write.jffs2 30000000 0x00260000 $(filesize) 烧写完成后输入reset。 注意:0x00260000 $(filesize)原本可写为root,写这个可以防止篡改文件系统
4.解压使用制作好的 ubuntu 4.1先下载安装VMware 4.2设置VMware网络环境 1)虚拟机的网络设置:使用桥接 2)三者(windows、VMware里的Linux和开发板)可互联 情况1:PC有无线网卡(相当于没有)和无线网卡(一般不在同一网段) 设置windows的有线网卡、VMware中Linux的IP和开发板IP在同一网段;且开发板网口通过网线接到PC的有线网口; 此时三者通过有线网卡实现互联 情况2:PC的有无线网卡通过无线路由器上网 设置PC无线网卡、VMware中Linux的IP和开发板IP在同一网段;且开发板网口通过网线接到无线路由器 此时通过无线路由器实现互联 4.3使用VMware打开自己制作的ubuntu(可安装FTP工具实现传文件) 5.uboot打补丁、建 source insight工程、编译、烧写 例如先将需要打补丁的文件uboot-1.1.6.tar.bz2和补丁文件uboot-1.1.6_jz2440.patch利用工具拖到Ubuntu下;先解压uboot-1.1.6.tar.bz2并进入解压目录下:执行命令:
patch -p1 < ../uboot-1.1.6_jz2440.patch
注意&#xff1a;p后面数字1说明忽略掉补丁文件第一个/之前的内容&#xff0c;因为现在就在这个路径下&#xff1b; 补丁文件如下: 打完补丁后将打完补丁的文件压缩拖到windows下利用source insight工具打开可以查看修改后的代码&#xff0c;新建工程将所有的添加到工程&#xff1a; 打完补丁在Ubuntu下编译&#xff1a; 编译完成后将编译生成的uboot.bin拖到Windows下按照之前的烧录uboot即可。 6.内核打补丁、建 source insight工程、编译、烧写 类似第5步做法打补丁 打完补丁后编译 将编译生成的image文件拖到Windows下进行烧写。 7.制作、烧写根文件系统&#xff0c;使用NFS&#xff0c;编译使用驱动程序 先将需要制作的文件系统解压然后使用工具“mkyaffs2image”制作跟文件系统 将生成的文件系统fs.yaffs2拷贝到Windows下进行烧写。 或者使用NFS将其直接拷贝到开发板&#xff1b;先在Ubuntu下开启NFS服务然后在开发板下使用命令拷贝 7.1使用flash上的根文件系统启动后&#xff0c;手动挂载mount 7.2使用NFS作为根文件系统来启动
set bootargs noinitrd root&#61;/dev/nfs nfsroot&#61;192.168.1.20:/home/huislee/workspace ip&#61;192.168.1.12:192.168.1.20:192.168.1.1:255.255.255.0::eth0:off init&#61;/linuxrc console&#61;ttySAC0//在内核文件下搜索nfs*;打开nfsroot.txt//参数设置参考来着内核下的搜索//nfsroot&#61;[<server-ip>&#xff1a;]<root-dir>[ <nfs-options>]//ip&#61;<client-ip>&#xff1a;<server-ip>&#xff1a;<gw-i p>&#xff1a;<netmask>&#xff1a;<hostname>&#xff1a;<device>&#xff1a;<autoconf>
至此完成文件系统装载&#xff0c;现在就可以进行安装驱动程序 将需要编译的文件传到开发板修改makefile后执行make
烧写方法总结&#xff1a; 1.用网络下载 1.1 tftp下载后烧录
kernel(内核)&#xff1a; tftp 30000000 uImage nand erase kernel nand write.jffs2 30000000 kernel
1&#xff09;首先在Windows下开启tftpd.exe目录选择需要下载的文件所属的文件夹即可&#xff0c;IP为主机IP&#xff08;PC的IP&#xff09; 2&#xff09;在开发板上电后倒计时前按空格键进入uboot&#xff1b;使用print查看IP然后修改IP再使用命令tftp进行下载烧录文件然后
fs&#xff08;文件系统&#xff09;&#xff1a; tftp 30000000 fs qtopia.yaffs2 nand erase root nand write.yaffs 30000000 2f76b40
等待烧写完成。 1.2 nfs下载后烧录
kernel(内核)&#xff1a; nfs 30000000 192.168.1.123:/work/nfs_root/uImage nand erase kernel nand write.jffs2 30000000 kernel
先在Ubuntu下查看可挂载目录&#xff0c;然后将烧录文件拷贝到可挂载目录下&#xff1b;然后在开发板uboot下使用nfs下载、擦除、烧录即可。
fs&#xff08;文件系统&#xff09;&#xff1a; nfs 30000000 fs 192.168.1.123:/work/nfs_root/qtopia.yaffs2 nand erase root nand write.yaffs 30000000 2f76b40
2.用Linux下的dnw 先把Linux下的dnw应用程序放到/bin目录并修改权限
sudo chmod &#43;x /bin/dnwsudo chmod &#43;s /bin/dnw
注意&#xff1a;查看是否将usb接到虚拟机中可以在端口->通用串行总线->VMware USB device有则说明接到虚拟机了&#xff1b; ubuntu下用lsusb命令查看是否已经识别USB设备。
在开发板uboot下执行k&#xff0c;然后在Linux下执行 dnw uImage即可烧写内核 在开发板uboot下执行k&#xff0c;然后在Linux下执行 dnw fs_qtopia.yaffs2即可烧写文件系统