Tiny4412和PC互传文件方法:
将编译好的可执行文件下载到目标板目前主要4种方式:
第一种:通过ftp传送文件到开发板(推荐使用)
第二种:复制到介质(如优盘)
第三种:通过串口传送文件到开发板
第四种:用nfs文件系统作为根文件系统启动
下面分别进行介绍:
1、使用ftp传送文件(推荐使用):
说明:使用ftp登录目标板,把编译好的程序上传;然后修改上传后目标板上的程序的可执行属性,并执行。
首先,在PC端执行,如下所示:
ftp 192.168.48.151
用户名:plg
密 码:plg
设置文件传送格式:bin
传送hello文件 :put hello
退出登录 :by
然后,在目标板一端执行,如下所示:
到接收目录下 :cd /home/plg/
ls
增加可执行权限:chmod +x hello
运行测试 :./hello
2、先把编译好的可执行程序复制到优盘,再把优盘插到目标板上并挂载它,然后把程序拷贝到目标板的可执行目录/bin:
①. 复制程序到优盘
把优盘插到PC的USB接口,执行以下命令把程序复制到优盘
#mount /dev/sda1 /mnt ;挂接优盘
#cp hello /mnt ;复制刚才编译好的程序到优盘
#umount /mnt ;卸载优盘
②. 把程序从优盘拷贝到目标板并执行
把优盘插入到开发板的USB Host接口,优盘会自动挂载到/udisk目录,执行以下命令就可以运行hello程序了。
#cd /udisk
#./hello ;执行hello程序
注意:如果此时强制拔出优盘,需要退回到根目录,再执行umount /udisk方可为下一次做好自动挂载的准备。
3、通过串口传送文件到开发板:
通过5.3.5章节我们学会了如何通过串口传送文件到开发板,你也可以通过相同的方法传送hello可执行程序,具体步骤在此不再详细描述,记得传送完毕把文件的属性改为可执行才能正常运行。
#chmod +x hello
说明:有些用户使用USB转串口线,因为有些转接器性能是不太好的,所以有时会出现“传输超时”或者根本无法传输到开发板的现象,因此我们建议使用ftp传送到开发板。
4、用nfs文件系统作为根文件系统启动:
①.参考博文“Tiny4412友善之臂ARM开发板静态IP设置(重启有效)”把开发板的ip设置为静态的;
参考博文“Ubuntu下如何安装NFS服务及其配置”启动ubuntu的nfs服务
②.Ubuntu安装nfs服务:
sudo apt-get install nfs-kernel-server
Ubuntu nfs重启服务
sudo /etc/init.d/portmap restart
sudo /etc/init.d/nfs-kernel-server restart
在Ubuntu上查看nfs服务器:
sudo /etc/init.d/nfs-kernel-server start //查看nfs是否启动
③.增加权限:
sudo vi /etc/exports
添加:
/home/book/workspace/tiny4412_project/rootfs_qtopia_qt4 *(insecure,rw,async,no_root_squash)
/home/book/workspace/tiny4412_project/new_fs_tiny4412 *(insecure,rw,sync,no_subtree_check,no_root_squash)
sudo chown book:book /home/book/workspace/tiny4412_project/rootfs_qtopia_qt4/ -R
sudo chown book:book /home/book/workspace/tiny4412_project/new_fs_tiny4412/ -R
chmod 777 /home/book/workspace/tiny4412_project/rootfs_qtopia_qt4
chmod 777 /home/book/workspace/tiny4412_project/new_fs_tiny4412
④.Ubuntu上尝试自己挂在自己:
//挂载厂家提供文件系统
sudo mount -t nfs -o nolock,vers=2 192.168.48.104:/home/book/workspace/tiny4412_project/rootfs_qtopia_qt4 /mnt
//挂载自己做的文件系统
sudo mount -t nfs -o nolock,vers=2 192.168.48.104:/home/book/workspace/tiny4412_project/new_fs_tiny4412 /mnt
sudo umount /mnt
⑤.tiny4412开发板手动挂载nfs:
//挂载厂家提供文件系统
mount -t nfs -o nolock,vers=2 192.168.48.104:/home/book/workspace/tiny4412_project/rootfs_qtopia_qt4 /mnt
//挂载自己做的文件系统
mount -t nfs -o nolock,vers=2 192.168.48.104:/home/book/workspace/tiny4412_project/new_fs_tiny4412 /mnt
⑥.tiny4412开发板nfs作为根文件系统启动(自己做的文件系统):
参考:"SD卡启动u-boot烧写裸板、系统"和"fastboot工具下载tiny4412的uboot、linux、文件系统"编译烧写uboot、linux、filesystem后采用eMMC启动开发板,并设置开发板linux启动时的ip地址,再设置uboot的参数bootargs采用nfs启动根文件系统:
修改命令行:
默认:
set bootargs root=/dev/mmcblk0p2 init=/linuxrc console=ttySAC0,115200 lcd=S70 ctp=2
改为:
seten bootargs noinitrd root=/dev/nfs nfsroot=192.168.48.104:/home/book/workspace/tiny4412_project/new_fs_tiny4412 ip=192.168.48.100:192.168.48.104:192.168.48.255:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0,115200 lcd=S70 ctp=2
注意:tiny4412使用的是usb接口的网卡,目前的uboot根本就不支持这个网卡,所以uboot以nfs作为根文件系统启动无法实现,可以参考下文“驱动测试搭建开发环境”中在linux启动后设置自动挂载nfs文件系统。
DTB Device Tree 视频教程:以瑞萨Cortex-A15为例:
http://www.hexiongjun.com/?s=Device+Tree
Tiny4412裸机程序汇总地址:
http://www.100ask.org/bbs/forum.php?mod=viewthread&tid=11778&highlight=tiny4412
iTOP-4412实现NFS网络文件系统启动(包括安装Ubuntu NFS服务、编译配置内核)
http://www.oschina.net/question/2371345_2158782
==================================================================
驱动测试搭建开发环境:
由于采用nfs作为文件系统启动失败,所以在内核启动后在把服务器的/home/book/workspace/tiny4412_project/driver/mountfile目录挂载到开发板的mnt目录下:
在开发板上修改文件:vi /etc/init.d/rcS
在修改开发板启动ip地址的下面增加:
mount -t nfs -o nolock,vers=2 192.168.48.104:/home/book/workspace/tiny4412_project/driver/mountfile /mnt
注意:在Ubuntu中给mountfile目录增加权限后要重启虚拟机,重启开发板就会在开发板/mnt目录下自动挂载Ubuntu的mountfile目录
上一篇:Exynos4412裸机程序之DDR3初始化流程
下一篇:Exynos4412裸机程序之DDR工作原理与时序(三)
推荐阅读最新更新时间:2024-03-16 16:16