zoukankan      html  css  js  c++  java
  • linux嵌入式系统交叉开发环境

    交叉开发的特点是使用交叉开发环境编译出目标机上可以运行的二进制程序。

    tool chain就是一整套的交叉开发工具,包括cross assembler、cross compiler、
    cross library以及cross link组成。

    不同的目标板就需要对tool chain进行不同的配置,这样才能编译出能在指定
    目标板上运行的程序。

    这样也终于明白了为什么之前在server上用gcc编译一个小程序可以在server上打开的终端上运行,
    而不能在目标机上运行了。
    所以,要将程序放在目标机上运行,就必须要指定使用为目标机所配置的tool chain来编译程序,
    这样编译出来的程序就可以在目标机上运行了。
    sh-# ps -A | grep test
     1960 ?        00:00:00 test_main
    sh-#

    而要判断系统信息,可以使用uname命令打印系统信息,
    sh-# uname -a
    Linux host 3.0.13 #1 PREEMPT Tue Oct 1 13:08:01 CST 2013 arm7 GNU/Linux
    再使用file命令查看当前文件的信息,

    这样也就解释了为什么原先在目标板上使用ldd查看test_main程序,会把它当前一个非动态可执行程序呢。
    sh-# ldd ./test_main
            not a dynamic executable
    sh-#

    原来这些都跟tool chain有关哦。
    仿佛离成功又进一步了,真心开心哈。

  • 相关阅读:
    07.swoole学习笔记--tcp客户端
    06.swoole学习笔记--异步tcp服务器
    04.swoole学习笔记--webSocket服务器
    bzoj 4516: [Sdoi2016]生成魔咒
    bzoj 3238: [Ahoi2013]差异
    bzoj 4566: [Haoi2016]找相同字符
    bzoj 4199: [Noi2015]品酒大会
    后缀数组之hihocoder 重复旋律1-4
    二分查找
    内置函数--sorted,filter,map
  • 原文地址:https://www.cnblogs.com/james1207/p/3395256.html
Copyright © 2011-2022 走看看