(一)嵌入式linux之开发板之接口接线工具及内核文件系统烧录详解

(一)嵌入式linux之开发板之接口接线工具

新电脑:装系统(厂家预装、自己装),使用键盘和显示器;
开发板:烧软件(如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上。

  1. 并口Wiggler JTAG调试板 配合HJTAG软件,可以烧写nandflash和norflash,并口速度较慢 (需要用到并口,现在笔记本电脑基本没有并口了,这个方法局限性很大)
  2. HJTAG USB仿真器 配合HJTAG软件,可以烧写nandflash和norflash,速度极快,适用于没有并口的电脑
  3. 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盘烧写程序

方式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

注意:p后面数字1说明忽略掉补丁文件第一个/之前的内容,因为现在就在这个路径下;
在这里插入图片描述 补丁文件如下:
在这里插入图片描述打完补丁后将打完补丁的文件压缩拖到windows下利用source insight工具打开可以查看修改后的代码,新建工程将所有的添加到工程:
在这里插入图片描述在这里插入图片描述打完补丁在Ubuntu下编译:
在这里插入图片描述编译完成后将编译生成的uboot.bin拖到Windows下按照之前的烧录uboot即可。
6.内核打补丁、建 source insight工程、编译、烧写
类似第5步做法打补丁
在这里插入图片描述打完补丁后编译
在这里插入图片描述将编译生成的image文件拖到Windows下进行烧写。
7.制作、烧写根文件系统,使用NFS,编译使用驱动程序
先将需要制作的文件系统解压然后使用工具“mkyaffs2image”制作跟文件系统
在这里插入图片描述将生成的文件系统fs.yaffs2拷贝到Windows下进行烧写。
或者使用NFS将其直接拷贝到开发板;先在Ubuntu下开启NFS服务然后在开发板下使用命令拷贝
在这里插入图片描述在这里插入图片描述7.1使用flash上的根文件系统启动后,手动挂载mount
在这里插入图片描述7.2使用NFS作为根文件系统来启动

set bootargs noinitrd root=/dev/nfs  nfsroot=192.168.1.20:/home/huislee/workspace ip=192.168.1.12:192.168.1.20:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0
//在内核文件下搜索nfs*;打开nfsroot.txt
//参数设置参考来着内核下的搜索
//nfsroot=[<server-ip>]<root-dir>[ <nfs-options>]
//ip=<client-ip><server-ip><gw-i p><netmask><hostname><device><autoconf>

在这里插入图片描述在这里插入图片描述至此完成文件系统装载,现在就可以进行安装驱动程序
将需要编译的文件传到开发板修改makefile后执行make

烧写方法总结:
1.用网络下载
1.1 tftp下载后烧录

kernel(内核):
tftp 30000000 uImage
nand erase kernel
nand write.jffs2 30000000 kernel

1)首先在Windows下开启tftpd.exe目录选择需要下载的文件所属的文件夹即可,IP为主机IP(PC的IP)
在这里插入图片描述2)在开发板上电后倒计时前按空格键进入uboot;使用print查看IP然后修改IP再使用命令tftp进行下载烧录文件然后
在这里插入图片描述在这里插入图片描述

fs(文件系统):
tftp 30000000 fs qtopia.yaffs2
nand erase root
nand write.yaffs 30000000 2f76b40

在这里插入图片描述在这里插入图片描述在这里插入图片描述等待烧写完成。
1.2 nfs下载后烧录

kernel(内核):
nfs 30000000 192.168.1.123:/work/nfs_root/uImage
nand erase kernel
nand write.jffs2 30000000 kernel

先在Ubuntu下查看可挂载目录,然后将烧录文件拷贝到可挂载目录下;然后在开发板uboot下使用nfs下载、擦除、烧录即可。
在这里插入图片描述在这里插入图片描述

fs(文件系统):
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 +x /bin/dnw
sudo chmod +s /bin/dnw

注意:查看是否将usb接到虚拟机中可以在端口->通用串行总线->VMware USB device有则说明接到虚拟机了;
ubuntu下用lsusb命令查看是否已经识别USB设备。
在这里插入图片描述

在开发板uboot下执行k,然后在Linux下执行 dnw uImage即可烧写内核 在开发板uboot下执行k,然后在Linux下执行
dnw fs_qtopia.yaffs2即可烧写文件系统

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值