【S3C6410学习心得之二】OK6410开发板开发环境搭建-NFS文件启动和使用dnw2烧写镜像文件

时间:2022-06-11 12:24:15
最近利用一切业余时间学习,确实是考验意志的过程,呵呵。 
系统:Ubuntu10.04 
开发板:飞凌OK6410 
软件下载地址:www.witech.com.cn 
1. 准备 NFS 文件系统目录 
启动 nfs 服务之前,必须在 Linux 虚拟机上准备好 NFS 共享目录。 
例如我们采用 ubuntu 的“/forlinx/root”作为 NFS 共享目录,将用户基础资料光盘中 
“linux2.6.28/filesystem/OK6410_yaffs2_v1.0.tgz”压缩文件拷贝到这个目录下, 
然解压缩,得到根文件系统所需要目录。 
在虚拟机上打开一个终端,输入以下命令: 
mkdir /forlinx/root 
将 OK6410_yaffs2_v1.0.tgz 文件拷贝到该目录下,解压: 
tar –zxf OK6410_yaffs2_v1.0.tgz 
2. 设置主机 IP 
这里我们将 Linux 虚拟机的 IP 设置为 192.168.0.231 
3. 配置 NFS 服务 
在虚拟机上新建一个终端,依次输入以下命令: 
sudo apt-get install portmap 
sudo apt-get install nfs-kernel-server 
sudo gedit /etc/exports 
在弹出的文本编辑器中编辑 exports 文件,在最后一行添加: 
/forlinx *(rw,sync,no_root_squash) 
4. 启动 NFS 服务 
sudo /etc/init.d/portmap restart 
sudo /etc/init.d/nfs-kernel-server restart 
5. 在开发板上设置并保存启动参数 
在 u-boot 命令行下输入以下命令设置 u-boot 启动参数: 
setenv bootargs "root=/dev/nfs rw nfsroot=192.168.0.231:$rootpath 
ip=192.168.0.232:192.168.0.231:192.168.0.201:255.255.255.0:witech.com.cn:eth0:off console=ttySAC0,115200" 
saveenv 
(这个Uboot变量参数最为关键,依次为NFS文件系统所在目标机的IP,开发板IP, 
NFS文件系统所在目标机的IP,路由网关,掩码) 
重新启动开发板,Linux 内核启动后会自动挂载 NFS 文件系统。 
-------------------------------------------------------分割线--------------------------------------------------- 
    最近发现网上有了Linux版本的DNW,而且已经是DNW2了,研究了下,的确是蛮用的。 
虽然是针对2410及2440开发板的,但是修改后,6410的开发板也是能使用的,并且已经在ok6410上试验过了。 
1.准备工作 
首先要安装libusb,这在ubuntu底下非常方便,只要使用命令: 
sudo apt-get install libusb-dev 
就可以 
其次是获取源码,去http://fayaa.com/code/view/13007/下载源码,另存为dnw2.c,存放到自定义目录即可 
2.编译dnw2 
编译dnw2也是十分简单,进入存放dnw2.c的目录,然后使用命令 
gcc dnw2.c -o dnw2 -lusb 
只要前面libusb顺利安装了,就可以编译成功 
编译后,会有dnw2可执行文件产生 
3.使用dnw2烧写镜像文件 
3.1使用kermit连接到开发板后,打开开发板电源,然后按回车进入uboot的命令行模式 
3.2顺利进入命令模式后,输入 dnw c0008000,回车 
3.3在存放dnw2可执行文件的目录下,执行 ./dnw2 path/file,pat/file指的是镜像位置的所在目录和命令,顺利的话,文件就开始向开发板上传 
3.4上传完毕后,就擦除 Nandflash:在命令行中输入 nand erase 100000 300000 ,回车,这里的erase后两个参数指的是物理地址,根据文档里是要烧写的镜像文件决定,切勿照搬 
3.5将内存的内核映像文件烧写到 Nandflash: 
在命令行中输入 nand write.e c0008000 100000 300000 ,回车,这里 write.e后面两个参数也跟遵循上面所述。 

按照这样的步骤完成后,就可以顺利完成烧写,我在ok6410上试验一次即顺利通过,有了这个dnw2这个小程序,以后就不用切换到windows环境下去了,对于开发的效率有着极大的帮助。 

PS:其实查看了dnw2的源码,整个实现不是很复杂,关键是熟悉这些东西的人才能写出来,第一个奉献者总是伟大的,后面还有使用Qt加了GUI界面的dnw2,不过十分简陋。打算研究透彻后使用Qt重写一边,以便同时支持2440和6410。 

本文出处:http://blog.cnnbboy.com/?cat=26,欢迎大家一起交流。 

2 个解决方案

#1


我也在用这块板子,不过这里是wince版块哦

#2


LZ发错版块了吧·

#1


我也在用这块板子,不过这里是wince版块哦

#2


LZ发错版块了吧·