【小技巧】通过SD卡传文件到开发板就是这么简单!

开发环境:ubuntu 9.10

内核:Linux 2.6.22.6

文件系统:fs_qtopia.yaffs2

开发板:JZ2440

目标:通过SD卡将文件传输到开发板

这个过程实际上非常简单,只需一条挂载命令。为了帮助初学者,我们将详细介绍每个步骤。

步骤:

  1. 连接JZ2440电源,按下红色开关启动系统。

  2. 使用数据线将电脑连接到JZ2440的USB转串口“USB-COM1”。

  3. 在设备管理器中,找到开发板串口对应的端口号(例如,笔者的端口是com3)。

  4. 打开SecureCRT(位于资料光盘中的Windows工具目录),按照如下设置连接串口:

点击确定后,您将在串口中看到板子的启动信息,然后按回车键进入SHELL。

  1. 插入带有SD卡的读卡器。

预装的开发板已包含UBOOT内核文件系统,支持常用读卡器和SD卡。系统启动后,出现QT界面时,插入装有SD卡(笔者使用的是8G SandDISK SDHC卡)的读卡器,串口会显示如下提示:

6. 列出分区表:

$ fdisk –l

DeviceBoot只有一项,很明显/dev/sda1就是刚刚插入的SD卡。

  1. 挂载SD卡:

$ mount –t vfat /dev/sda1 /mnt

进入mnt目录,检查是否挂载成功。挂载成功后,您就可以操作SD卡中的文件了。

使用完毕后,卸载SD卡:

$ cd /

$ umount /mnt

卸载成功后,mnt目录将为空。

注意:上述步骤假设开发板已有系统。如果开发板没有任何系统,您需要通过jlink或eop将uboot下载到板子(NAND或NOR闪存),然后在Ubuntu上上传并编译Linux 2.6.22.6内核:

tar xjf linux-2.6.22.6.tar.bz2 cd linux-2.6.22.6 patch -p1

进入uboot,使用tftp下载uImage到JZ2440并烧写:

首先设置网络:

set gatewayip 192.168.1.1 //设置网关 set netmask 255.255.255.0 //设置子网掩码 set ipaddr 192.168.1.111 //设置uboot阶段的开发板IP set serverip 192.168.1.170 //设置服务器IP

下载内核:

tftp 30000000 uImage //前提是可以PING通Windows,并运行tftp服务器软件 nand erase kernel nand write.jffs2 30000000 kernel

下载文件系统:

tftp 30000000 fs_qtopia.yaffs2 nand erase root nand write.yaffs 30000000 0x00260000 $(filesize)

设置boot命令所需的bootcmd:

set bootcmd nand read.jffs2 0x30007FC0 kernel; bootm 0x30007FC0 save

设置bootargs:

setenv bootargs 'root=/dev/mtdblock3 noinitrd init=/linuxrc console=ttySAC0,115200 ' save

启动板子:

boot

一旦内核和系统都已就位,您可以重复第5-8步。

总结:挂载SD卡的关键是内核支持该读卡器和SD卡,然后找到正确的设备节点进行挂载。