• tftp传输可执行程序问题


      昨天搭建了板子从nfs系统启动,这样只要在开发机上编写程序编译,就可以在板子上测试运行了,编写了hello world 程序,用arm编译器编译,在主板上运行,提示出错:什么exception ((什么来的,这么简单的程序语法上应该没什么问题,可能出问题的应该是编译环境或者是运行环境。

      一开始google一下,发现有人提出过相同问题,不过他们基本上是编译的时候加上了 -c选项,导致编译的是目标文件,而不是可执行文件,当然出错,而我没有。

      想想是不是编译器的问题,将编好的可执行文件通过winscp上传到树莓派上运行,结果提示段出错,于是认为是编译器有问题,用以前好的虚拟机的ubuntu编译,通过tftp传输到树莓派上,运行还是提示段出错,很奇怪,搞了很久,太迟了,洗洗睡了。

      今天下班回家,继续弄这个问题在树莓派上编了个小程序,用file看可执行程序,和我tftp进去的文件进行比较信息,发现tftp进去的文件少了一些信息,比如linux版本号等,想到是不是文件没传输完全,用ls看大小,果然少了几个字节,很奇怪,怎么会少,难道tftp不可靠。求助man。发现tftp有两种传输模式:1,ascii;2,binary。默认是ascii,我传输的是可执行程序,应该是binary才对吧,于是进入bianry模式,get 文件,查看大小,这次果然大小一样了,chmod 赋予可执行权限,运行,成功了。不知道nfs是不是也是同样的问题,也有可能是板子环境的问题,不过这次又学到了一点。

      以后,遇到难题,如果太晚了,就休息吧,休息一晚,第二天思路更清晰,效率更高。

  • 相关阅读:
    Maven 安装 / 常用配置 / 阿里maven中央仓库
    记录:框架
    Mysql配置文件详解 my.cof
    Vmware虚拟机设置静态IP地址
    虚拟机安装centos发现inet为127.0.0.1,导致Xshell连接不上
    Servlet小案例总结
    Win10 提升系统响应速度
    从顶端插入,滚动展示(Demo):
    eclipse +cygwin+C++
    大型网站技术学习-3. 容器Docker与kubernetes
  • 原文地址:https://www.cnblogs.com/yemeng/p/3462246.html
Copyright © 2020-2023  润新知