主机开发环境: Ubuntu9.10
内核: Linux2.6.22.6
文件系统: fs_qtopia.yaffs2
开发板:JZ2440
目的:通过SD卡传文件到开发板
其实很简单,就一条挂载命令,为了适应0基础刚入手开发板的同学,写的特别详细。
步骤:
1. JZ2440接上电源,按红色开关启动系统
2. 电脑用数据线连接JZ2440 USB转串口“USB-COM1”
3. 设备管理器找到开发板串口对应的是com 几(笔者的是com3)
4. 打开SecureCRT(在资料光盘->windows工具目录),如下设置连接串口
点确定在串口看到板子的启动信息,然后回车进入SHELL
5. 插入带SD卡的读卡器
预装板子已经有UBOOT内核文件系统,已支持常用读卡器、SD卡。系统启动后出现qt界面后插入装有SD卡(笔者用的是8G SandDISK SDHC卡)的读卡器,串口提示如下:
6.列出分区表
$ fdisk –l
DeviceBoot只有一项,一看便知/dev/sda1就是刚刚插的SD卡
7. 挂载SD
$ mount –t vfat /dev/sda1 /mnt
进入mnt目录,看看是否挂载成功,挂载成功后就可以操作SD的文件了。
不用时卸载SD卡
$ cd /
$ umount /mnt
卸载成功,mnt没东西了
注意:上文只考虑了开发板有系统的情况,假设开发板啥都没有。
需要你通过jlink或者eop下载uboot到板子(nand或者NOR)
然后上传linux 2.6.22.6到ubuntu,解压打补丁编译:
$ tar xjflinux-2.6.22.6.tar.bz2
$ cd linux-2.6.22.6
$ patch -p1 < ../linux-2.6.22.6_jz2440.patch
$ mv ../4.3寸LCD_mach-smdk2440.carch/arm/mach-s3c2440/mach-smdk2440.c // 替换4.3寸源码
$ cp config_ok .config
$ make uImage
进入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
下载kernel
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 0x30007FC0kernel; bootm 0x30007FC0
save
设置bootargs
setenv bootargs 'root=/dev/mtdblock3noinitrd init=/linuxrc console=ttySAC0,115200 '
save
启动板子
boot
内核系统都有了,重复第5-8步即可。
总结:挂载SD卡最重要的是内核支持该读卡器SD卡,然后找到正确的设备节点挂载。