热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

(一)嵌入式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

注意&#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/dnw
sudo 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即可烧写文件系统

在这里插入图片描述


推荐阅读
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • 本文详细介绍了cisco路由器IOS损坏时的恢复方法,包括进入ROMMON模式、设置IP地址、子网掩码、默认网关以及使用TFTP服务器传输IOS文件的步骤。 ... [详细]
  • 本文介绍了在Web应用系统中,数据库性能是导致系统性能瓶颈最主要的原因之一,尤其是在大规模系统中,数据库集群已经成为必备的配置之一。文章详细介绍了主从数据库架构的好处和实验环境的搭建方法,包括主数据库的配置文件修改和设置需要同步的数据库等内容。MySQL的主从复制功能在国内外大型网站架构体系中被广泛采用,本文总结了作者在实际的Web项目中的实践经验。 ... [详细]
author-avatar
FF小小女人
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有