DE10-Nano的socket编程(在windows与linux之间传输数据)

DE10-Nano的socket编程(在windows与linux之间传输数据)

最近在摸索DE10-nano kit这块板子,跑了官网上socket通信的例程(http://www.terasic.com.cn/cgi-bin/page/archive.pl?Language=China&CategoryNo=182&No=1048&PartNo=4)后,想通过socket实现windows和arm之间的数据传输,于是在原来的基础上对main.c的代码做了修改。具体操作与原manual手册上的一样。新手一只,有不严谨之处请多多指教。

代码(https://download.csdn.net/download/clara_d/10279899)解压缩,my_socket文件是将文件从windows传输到linux,my_socket_verify是将linux下的文件传到windows(因为我只需要进行单向传输,verify只是做了一个反向验证而已),如果需要双向,只要将两个文件下的代码结合一下就可以了。


下面稍微提下运行过程。(觉得有些复杂,之后看能不能写成一个脚本文件。)

  1. 首先打开PUTTY上,给DE10-nano Kit重新上电登录root(password是回车)
    这里写图片描述
  2. 然后在Embedded_Command_Shell中访问my_socket/server和my_socket/client目录,用make命令运行makefile文件。
    server下的main有个警告但不要紧,如果实在觉得难受可以在初始化n的时候给它赋个初始值就好了。
    这里写图片描述
  3. 然后将server下的socket_server用scp命令拷贝到板子上去。
    如下图所示“scp socket_server root@169.254.93.173:/home/root”,当问到是否要与板子建立连接时选yes就好了,如果中途需要输password,应该是terasic。
    其中板子的ip地址是在PuTTY上用ifconfig命令显示出来的。
    这里写图片描述

以下,附上scp的操作方法。(来源见图片水印)
这里写图片描述
4. 在linux执行拷贝过去的文件之前,要通过”chmod 777 socket_server”改变下权限。
然后再用./socket_server 3000运行文件,其中3000是设置的端口数,只要是2000~6000之间的某一个数都可以哒~(因为确定通信除了arm的ip之外,还需要端口匹配。)
这里写图片描述
5. 然后就可以进行数据传输啦!在Embedded_Command_Shell中输入./socket_client.exe socfpga 3000,其中socfpga也可以直接用ipv4的地址代替。3000是你设置的端口,一定要匹配。
看到I got your message就可以确定文件拷贝完毕了。
这里写图片描述
6. 如果仍然觉得不放心需要验证一下的话,可以按照相同的步骤运行my_socket_verify下的文件,最后可以看到传回来的数据recdata.txt是这样的,和my_socket下的传输原数据data.txt的内容一样。所以验证完毕。
(其实这只是一个小白因为不知道怎么在windows下看到linux里面的文件情况而选择的一种颇为麻烦的验证方法,如果有更好的方法还请大神不吝赐教哟!)
这里写图片描述
这里写图片描述


  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值