本用户手册将为大家介绍W5300E01-ARM,它是W5300基于ARM920T的功能评估测试板。共分为9大板块,包括有概述、产品说明、硬件设计向导、板操作、配置开发环境、Linux 内核补丁与编译、根文件系统、启动程序及附录等。上三篇博文里我们为大家介绍了概述、产品说明及硬件设计向导、板操作及配置开发环境的的内容,现在我们为大家介绍第四部分包括Linux 内核补丁与编译及根文件系统的部分内容。
第一部分在这里:http://blog.csdn.net/wiznet2012/article/details/7816909
第二部分在这里:http://blog.csdn.net/wiznet2012/article/details/7821514
第三部分在这里:http://blog.csdn.net/wiznet2012/article/details/7826080
5.4文件传输
5.4.1使用串口进行文件传输(调制解调器)
使用终端程序的调制解调器可以传输一个文件。
串口传输简单方便,但是速度非常低,可以用于传输小的文件。
在‘test.c’源文件下测试‘Hello World’。
#include <stdio.h>
int main(void) { printf(“Hello World!\n”); return 0; } |
为ARM编译源代码到执行文件中。
# arm-linux-gcc –o test test.c |
5.4.1.1在调制解调器上进行串行文件传输
在Linux主机使用串行控制台可以将串行数据传送到调制解调器中,如下所示。
1.运行小型计算机,在启动W5300E01-ARM后使用‘root’登录。
2.按‘Ctrl + A’ 和‘Ctrl + S’,选择调制解调器为传输协议。
3.将光标移动到要传输的文件上,如果按下空格键,文件就会高亮显示。这时,如果按下回车键(<Enter>),‘test’文件就被传输。
4.当完成传输,以下信息将显示在屏幕中。
5.检查文件是否使用‘ls’命令正确传输。
6.使用‘chmod 755 test’配置文件,执行‘test’程序。
5.4.1.2在超级终端进行串口文件传输
如果电脑安装了Windows操作系统,超级终端的使用如下所示。
可以在超级终端执行串口文件传输。
1.执行超级终端,启动W5300E01-ARM后使用‘root’登录。
2.在菜单栏中选择‘Transfer’ -> ‘Send File…’
3.当出现‘Send File’窗口时,在协议中选择‘Zmodem with Crash Recovery’ 或‘Zmodem’。
4.单击’Browse…’按钮,选择需要传输的文件。
5.如果传输完成,检查文件是否通过‘ls’命令正确传输。
5.4.2使用NFS进行文件传输
为了使用NFS,需要在主机上安装NFS服务器。想了解NFS 服务器的安装详情,参见‘5.3.2 NFS 服务器配置’。
W5300E01-ARM支持NFS客户,为了使用主机的NFS目录,需要在目标板输入以下命令。
# mount –t nfs –o nolock 192.168.1.2:/nfs /mnt/nfs # ls /mnt/nfs |
在‘/root’目录下,包含了安装NFS的脚本。通过使用该脚本,可以很方便的安装NFS目录。
#./nfsmnt 192.168.1.2:/nfs # ls /mnt/nfs |
5.4.3其他
在W5300E01-ARM中建立了FTP服务器和客户端,使用FTP可以进行文件传输。
6.Linux 内核补丁与编译
官方的Linux内核不能在W5300E01-ARM中使用。
内核代码需要提前修改,与W5300E01-ARM平台的代码一致。
光盘中包含修改好的内核代码。
光盘中还包含官方内核的补丁文件。
6.1Linux 内核补丁
可以使用官方的Linux内核源(从http://kernel.org下载)并安装补丁。
下载2.6.24.4版本的Linux内核。
下载Linux内核源文件并extrat在‘/usr/src/’目录下。
# mv linux-2.6.24.4.tar.gz /usr/src/ # cd /usr/src # tar zxvf linux-2.6.24.4.tar.gz |
复制补丁文件(光盘提供)并粘贴到‘/usr/src/’目录下应用。
# cd /media/cdrom/Software/LinuxKernel # cp patch-w5300e01-v01 /usr/src # cd /usr/src # patch –p0 < patch-w5300e01-v01 |
现在,W5300E01-ARM已经安装了官方的Linux内核补丁。
如果使用编辑程序打开‘patch-w5300e01-v01’,可以检查改变的部分。
6.2Linux 内核编译
1.从光盘中复制Linux内核源到W5300E01-ARM中。
# cd /media/cdrom/Software/LinuxKernel # cp linux-2.6.24.4-w5300e01.tar.gz /usr/src/ |
2.解压文件并编译。
# cd /usr/src # tar zxvf linux-2.6.24.4-w5300e01.tar.gz # cd linux-2.6.24.4 # make wizImage |
3.复制创建的内核映像到tftp 服务器目录下。
# cp wizImage /tftpboot/ |
4.在目标板的启动程序输入‘tftp 31000000 wizImage’,并下载内核映像。
(想了解启动程序的信息,参见‘8. 启动程序)
5.输入‘nand erase 40000 3c0000’删除NAND闪存核区。
6.输入‘nand write 31000000 40000 2eb958’将RAM内核映像写入NAND闪存核区,这里‘2eb958’是从tftp下载的内核映像大小。
7.输入‘printenv’检查‘bootcmd’。
8.当内核映像大小改变(300000除外),重新配置环境变量‘bootcmd’。
WIZnet # setenv bootcmd ‘nand read 30400000 400000 c00000;nand read 32000000 40000 300000;bootm 32000000’ |
9.输入‘reset’或按下重置按钮检查Linux内核启动是否正常。
7.根文件系统
根文件系统安装在‘/’下的文件系统。
根文件系统需要包含动态链路库、设备文件和系统基本操作必不可少的设备。
W5300E01-ARM为根文件系统使用虚拟硬盘,在虚拟硬盘中需要安装JFFS2文件系统来使用NAND闪存区。
7.1虚拟硬盘
虚拟硬盘像磁盘驱动器一样,需要使用部分内存。由于文件系统存在于RAM中,虚拟硬盘是不稳定的,如果断电,保存的数据会丢失。
如果数据需要保存,需要将数据写入到NAND闪存区。
(想了解更多,参见‘7.2 JFFS2’。)
可以改变虚拟硬盘的结构,但是大小不能超过12M(最大虚拟硬盘)。
7.1.1修改虚拟硬盘
1.从光盘中复制虚拟硬盘映像。
# cp /media/cdrom/Software/Image/ramdisk_w5300e01/tftpboot |
2.在安装虚拟硬盘的目录下创建目录并安装。
# mkdir /mnt/ramdisk # mount –t ext3 –o loop /tftpboot/ramdisk_w5300e01 /mnt/ramdisk # cd /mnt/ramdisk # ls |
3.将文件系统安装目录改成‘/mnt/ramdisk’ 。
4.卸载它。
# cd / # umount /mnt/ramdisk |
5.在目标板的启动程序中输入‘tftp 31000000 ramdisk_w5300e01’,下载虚拟硬盘映像。
(想了解启动程序的细节,参见‘8. 启动程序)。
6.输入‘nand erase 400000 1000000’ 删除NAND 闪存的虚拟硬盘区域。
7.输入‘nand write 31000000 400000 c00000’ 将RAM虚拟硬盘映像写入NAND闪存的虚拟内存区域。
8.输入‘reset’ 或按下RESET按钮检查虚拟硬盘是否作了正确的修改。
7.1.2虚拟硬盘目录结构