历史上的今天
返回首页

历史上的今天

今天是:2024年10月14日(星期一)

正在发生

2018年10月14日 | Tiny4412和PC传文件(含挂载NFS文件系统)方法

2018-10-14 来源:eefocus

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目录


推荐阅读

史海拾趣

Cotco公司的发展小趣事

在电子行业竞争日趋激烈的背景下,Cotco公司深知供应链管理和成本控制的重要性。公司与主要供应商建立了长期稳定的合作关系,确保原材料的稳定供应和成本控制。同时,Cotco不断优化生产流程和物流管理,降低生产成本和运营成本。这些举措使得Cotco的产品在价格上具有更强的竞争力,进一步巩固了其在市场上的地位。

Gold Peak Group公司的发展小趣事
对操作人员进行必要的培训,使其了解控制电路的工作原理、操作方法和安全注意事项。
Dell公司的发展小趣事
对操作人员进行必要的培训,使其了解控制电路的工作原理、操作方法和安全注意事项。
HCC Industries公司的发展小趣事

在2005年,HCC Industries还是一家名不见经传的小型微电子部件制造商。面对市场上激烈的竞争,公司决定加大研发投入,专注于高精度传感器技术的研发。经过数年的不懈努力,HCC成功开发出了一款具有行业领先水平的温度传感器,其精度和稳定性远超同类产品。这一创新不仅赢得了市场的广泛认可,也吸引了多家知名电子企业的合作邀请。随着订单的不断增加,HCC迅速成长为微电子部件领域的佼佼者。

BOPLA公司的发展小趣事

在国内市场取得一定成绩后,BOPLA开始将目光投向海外市场。通过参加国际电子展会、与海外客户建立合作关系等方式,公司成功将产品打入国际市场。同时,BOPLA还积极调整产品策略,根据不同国家和地区的市场需求,推出定制化的电子元件产品,进一步扩大了市场份额。

富满电子(FM)公司的发展小趣事

BOPLA公司成立于XXXX年,初期主要致力于电子开关、熔断器等基础电子元件的研发与生产。创始人凭借对电子行业的深厚理解和敏锐的市场洞察力,带领公司逐步在竞争激烈的市场中站稳脚跟。通过不断的技术创新和品质提升,BOPLA的产品逐渐获得了客户的认可,为公司后续的发展奠定了坚实的基础。

问答坊 | AI 解惑

预测

本帖最后由 paulhyde 于 2014-9-15 09:10 编辑 共同学习  …

查看全部问答>

奥特曼Zigbee读书日记(二)--OSAL系统框架专题

9. TI协议栈所用系统框架探讨。 51的系统往往不是太大,但是几十K的程序,也足以让一个初学者望而却步。我们首先忽略C语言本身的难度,光是系统框架也让生手读起来很吃力,再加上这种到处是API跟\"define\"的程序,还没有正式学习协议部分就已经让 ...…

查看全部问答>

关于FPGA总线的问题

问题是这样的:从CPU过来的数据总线,接到FPGA了,FPGA后面又接了一个CPLD,等于说,FPGA既要将数据总线自己用,又要输出给CPLD用,该怎么实现了? 难题是数据总向是双向的不好办! 因为两片FPGA之间的连线资源较多,把它们之间的数据总结分为送 ...…

查看全部问答>

求89c52烧录软件

那位用这个,发给兄弟伙了...谢了...1005450581…

查看全部问答>

如何读写51程序

我想知道8051是如果从电脑下载到51芯片中的,我的板子是52,看了下芯片资料是用P30 P31串口写入的,就算烧写的时候,PSEN脚要拉低电平,这是怎么被拉低的,找了每天每找到 而且烧写的软件是用的驱动程序,这么复杂,应该不要用驱动就能送数据到51 ...…

查看全部问答>

有做ARM的大侠没有?keiluv3有下的没有?

有做ARM的大侠没有?keiluv3有下的没有?…

查看全部问答>

CEdit控件不能输入

从CWnd继承一个类CInputInfoWnd,在CInputInfoWnd用Create动态创建Edit控件m_editTest,此Edit控件上可以看到输入光标,但不能输入任何东西?…

查看全部问答>

2007年E题 开关稳压电源方案、原理图、程序

本帖最后由 paulhyde 于 2014-9-15 03:46 编辑 2007年E题 开关稳压电源方案、原理图、程序    …

查看全部问答>

msp430bsl为什么在64位window7旗舰版上的驱动安装了不好使

为什么64位window7旗舰版安装了msp430bsl不好使,别人在别的系统上和我的步骤一样都没出现这样的情况,菜鸟在这里向大虾求救,装了两天了,…

查看全部问答>