2440开发板环境搭建---很重要

韦神自己写的记录贴

1- 使用JTAG+oflash烧写程序

借助oflash工具,使用JTAG将bin文件烧写到Nand/Nor flash中。
缺点:比较慢,后期不用该方法

1.1- 连线

a- 连接电源线
b- 连接串口线(需要安装驱动)
c- 链接EOP烧写器线(需要安装驱动)
注意:安装EOP,在windows设备管理其中可能设备不可用。需要禁用系统的签名,参考:禁用签名

禁用签名后,点击设备管理器中的JTAG设备,右击-更新驱动–选择本地驱动路径 “\eop裸板烧写器\驱动\OpenJTAG”
就可正常安装JTAG驱动程序

1.2- 安装烧写工具

安装OpenOCD with GUI setup.exe
安装成功后在cmd窗口数如oflash,可以显示提示信息。

该工具用于烧写bin文件到开发板,包括u-boot.bin,以及裸板程序的bin文件。
可以将裸板程序的bin文件烧写到Nand flash中。
可以将u-boot.bin文件烧写到Nor/Nand flash中。

注意:烧写完注意将设置对应的启动方式;将JTAG线拔掉(有复位引脚)。

1.3- 实际烧写

1.3.1- 烧写裸板程序到Nandflash

a- 连接好开发板线缆,并上电
b- 切换到bin文件路径。

示例:
d:
cd D:\hardware

c- cmd窗口执行oflash,并选择对应的选项。
在这里插入图片描述

在这里插入图片描述

1.3.2- 烧写u-boot.bin到Nor flash

同3.1步骤。烧写u-boot.bin文件比较慢。

2- 使用uboot+dnw_100ask工具下载程序

前提:开发板上已经烧写了u-boot程序,如果没有烧写参考1.3.2方法在Nor上烧写u-boot程序

原理:使用dnw_100ask工具将bin文件通过USB口传输到uboot,使用uboot启动菜单的下载功能将程序下载到Nand/Nor flash中。

2.1- 准备工作

a- 开发板已经烧写了u-boot程序。
b- 连接开发板电源线
c- 连接开发板串口线
d- 连接开发板usb线。需要通过zadig-2.3软件设置一些参数,否则u-boot检测不到usb设备。

2.2- 烧写

a- 设置为Nor启动(u-boot烧写在了Nor flash中)
b- 打开moba,系统启动过程中输入空格,进入到u-boot模式。如果已经进入到了系统,重新启动开发板即可。
根据提示输入n,准备将程序通过u-boot下载到Nand flash中。之后会提示已经有USB设备连接,等待文件传输。
在这里插入图片描述
c- 上传文件。打开dnw_100ask软件,点击USP Port–Tranmit–选择对应的bin文件。
下载成功后,串口会有打印。

d- 开发板启动方式设置为Nand启动(程序下载到了Nand flash中),重启开发板即可。

注意:如果在u-boot菜单中输入了q,可以使用menu方式重新进入u-boot。

2.3- 使用uboot+dnw_100ask工具恢复出厂系统

简单来讲就是重新烧写内核+文件系统。
在2.2基础上,我们已经在Nand/Nor flash上烧写了u-boot。
接下来我们利用u-boot和dnw_100ask工具将内核已经文件系统烧写到开发板上。
a- 上电进入到uboot
b- 烧写内核。在uboot菜单选项中选择k。 即:[k] Download Linux kernel uImage
在dnw_100ask中选择内核文件:uImage。内核文件上传到flash中。
c- 烧写文件系统内。在uboot菜单中选择y。即:[y] Download root_yaffs image。烧写yaffs文件系统。
在dnw_100ask中选择文件系统文件:fs_qtopia.yaffs2。文件系统文件上传到flash中。
d- 删除参数分区。退出uboot菜单选项,输入

OpenJTAG>nand erase params

e- 重启开发板,此时开发板上已经有uboot、内核、文件系统。

3- uboot使用tftp网络下载版本

设置windows主机、虚拟机(ubuntu)、开发板uboot处于同一网段, 然后在windows打开tftp客户端,在uboot上使用tftp命令从windows路径获取版本。
开始前, ∗ ∗ 关 闭 w i n d o w s 防 火 墙 ∗ ∗ \textcolor{Red}{**关闭windows防火墙**} windows
∗ ∗ 一 定 要 烧 结 上 电 开 启 网 络 的 u b o o t 版 本 ! ! u − b o o t e n a b l e E t h e r n e t . b i n ∗ ∗ \textcolor{Red}{**一定要烧结上电开启网络的uboot版本!!u-boot_enable_Ethernet.bin**} ubootubootenableEthernet.bin
上电使能网络功能的uboot上电有打印如下信息:

U-Boot 1.1.6 enable Ethernet alltime(May 15 2018 - 19:44:59)

3.1- 虚拟机网络设置

对于虚拟机设置为桥接网卡模式。并选择对应的网卡。
对于我的电脑,只有无线网卡,所以桥接网卡选择无线网卡。
如果你的电脑既有无线网卡、又有有线网卡, ∗ ∗ 选 择 你 用 于 连 接 开 发 板 的 网 卡 为 桥 接 网 卡 ∗ ∗ \textcolor{Red}{**选择你用于连接开发板的网卡为桥接网卡**} 。同时禁用另一个网卡。
这里设置ubuntu的ip为: 192.168.0.7 \textcolor{Red}{192.168.0.7} 192.168.0.7
在这里插入图片描述
在这里插入图片描述

附:
对于电脑安装了ubuntu虚拟机在windows控制面板–网络连接中可以看到两个vmnet1和vmnet8。
vmnet1用于windows和虚拟机通过host-only连接
vmnet8用于windows和虚拟机通过NAT方式连接
具体怎么工作我也不清楚,可以自行百度。

3.2- windows网络设置

由于我的电脑只有无线网卡,我要设置无线网卡的IP和虚拟机的IP处于同一网段。
设置windwos IP为: 192.168.0.3 \textcolor{Red}{192.168.0.3} 192.168.0.3
不会设置自行百度。

windows和ubuntu就可以互相ping 通了。

3.3- 开发板uboot网络设置

再次申明我的电脑只有无线网卡。
将开发板的网口和无线路由器相连。
开发板上电,在uboot中输入q进入OpenJTAG命令行模式。
输入print,可以看到相关参数。

设置开发板uboot IP ; 192.168.0.15 \textcolor{Red}{192.168.0.15} 192.168.0.15

设置开发板IP:set ipaddr 192.168.0.15
设置服务端IP(即windows IP): set serverip 192.168.0.3
保存设置: save
查看信息:print

∗ ∗ 注 : ∗ ∗ \textcolor{Red}{**注:**} : 如果要删除相关参数,例如删除ipaddr:

set ipaddr

这样就可以在开发板中ping通windows和ubuntu的IP,同样另外两者也可以ping通开发板。下面是开发板上ping windows的打印。出现alive表示可以ping 通。不用关心没有建立连接的打印。

OpenJTAG> ping 192.168.0.3
dm9000 i/o: 0x20000000, id: 0x90000a46
DM9000: running in 16 bit mode
MAC: 08:00:3e:26:0a:5b
could not establish link
host 192.168.0.3 is alive

我们打开tftpd32.exe,就可以将文件传输到开发板上。具体步骤:
a- 已经设置好上述IP,并可以在windwos和开发板间ping通
b- 打开tftpd32.exe软件,设置服务IP(windows IP)和需要传输的文件路径。

在这里插入图片描述
c- 传输文件。 开发板上输入:

tftp 30000000 文件名

等待烧写完成。

4- 遇到问题

4.1- 不知道电脑只有无线网卡

现在的超薄本为了最求简单、美观,将很多功能干掉了。比如外接网口,甚至连有线网卡也干掉了。
我还傻傻的以为只是设置成USB口了,买了个USB转网口的线。。。。
当我认识到我只有无线网卡时,才将ubuntu的桥接网卡设置成无线网卡;将开发板直连到无线路由器上。。。。
之前竟然傻傻地将开发板直连到电脑上,还纳闷为哈有限网络一直显示断开。

直到现在都不理解电脑上地“Sangfor SSL VPN CS Support System VNIC ”时虚拟网卡还是实体网卡。。。。

4.2- uboot中一直有两个ipaddr

一直有两个ipaddr,都不知道那个在起作用。使用set ipaddr只能删除其中一个,另外一个一直残留。。。
直到现在都没找到解决方案。
已找到解决方案:
初始化参数:
uboot下输入 m t d \textcolor{Red}{mtd} mtd 查看分区
然后输入初始化参数命令: n a n d e r a s e p a r a m s \textcolor{Red}{nand erase params} nanderaseparams

OpenJTAG> mtd

device nand0 <nandflash0>, # parts = 4
 #: name                        size            offset          mask_flags
 0: bootloader          0x00040000      0x00000000      0
 1: params              0x00020000      0x00040000      0
 2: kernel              0x00200000      0x00060000      0
 3: root                0x0fda0000      0x00260000      0

active partition: nand0,0 - (bootloader) 0x00040000 @ 0x00000000

defaults:
mtdids  : nand0=nandflash0
mtdparts: mtdparts=nandflash0:256k@0(bootloader),128k(params),2m(kernel),-(root)
OpenJTAG> nand erase params

NAND erase: device 0 offset 0x40000, size 0x20000
Erasing at 0x40000 -- 100% complete.
OK

4.3- windows无法ping通开发板

开发板可以ping通windows和ubuntu,但是windows无法ping通开发板。。。
一直不知道怎么回事。
但好歹有个传输文件的方式,先不管了,先学着。

4.4- 开发板可以ping通windows和ubuntu,但是windows/ubuntu ping不通开发板

正常情况。 对 于 w i n d o w s / u b u n t u 发 来 的 p i n g 包 , u b o o t 不 会 回 应 \textcolor{Red}{对于windows/ubuntu发来的ping包,uboot不会回应} windows/ubuntupinguboot

4.5- UBOOT怎样给windows要文件的

具体原理不直到,但是大致猜测下。
在uboot中设置了server IP=windows IP,且将uboot IP设置为和windows IP为同一网段。
然后windwos中打开tftp服务,且将tftp文件路径设置为文件路径。
这样在uboot中输入 t f t p 30000000 待 传 输 的 文 件 \textcolor{Red}{tftp 30000000 待传输的文件} tftp30000000
uboot开启了请求文件服务,windows开启了监听服务。当uboot请求文件时候,windows侧的tftp程序将对应路径下的文件传输到uboot侧。应该和socket通讯差不多。
纯属瞎猜,误轻信谣言。。。

4.6- 使用小米路由器作为无线中继如何设置IP

还是那句话 手 头 电 脑 只 有 无 线 网 卡 \textcolor{Red}{手头电脑只有无线网卡} 线,需要借助无线路由器将电脑和开发板连接在同一网段。
小米路由器的IP通常为: 192.168.31.1 \textcolor{Red}{192.168.31.1} 192.168.31.1,所以如果使用小米路由器,需要将ubuntu、windows、开发板uboot的IP设置在192.168.31.xx范围内,否则ping报 故 障 \textcolor{Red}{故障}

另外注意,物理连线大致形式为:
开发板网口–小米路由器 ∗ ∗ l a n ∗ ∗ \textcolor{Red}{**lan**} lan口,这里一定要注意,开发板的网口 ∗ ∗ 一 定 不 要 连 接 到 无 线 路 由 器 的 i n t e r n e t 口 ∗ ∗ \textcolor{Red}{**一定不要连接到无线路由器的internet口**} 线internet(接移动宽带的网口)

4.7- 其他问题

如果连ubuntu和windows都ping不同,大概率 ∗ ∗ 没 有 关 闭 防 火 墙 ∗ ∗ \textcolor{Red}{**没有关闭防火墙**}

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值