zoukankan      html  css  js  c++  java
  • sama5d3 xplained 开发板运行主机编写的HelloWorld

    [成功方案]
    第一步:使用交叉工具链 Sourcery G++ Lite 2009q3-67
    这里有需要的同学可能从这里下载

    第二步:编写hello.c
    #include <stdio.h>
    
    int main() {
        printf("hello, world!");
    
        return 0;
    }

    第三步:交叉编译
    $ arm-none-linux-gnueabi-gcc hello.c -o hello -static
    第四步:开发板将编译好的程序下载并执行
    root@sama5d3_xplained:~/test# tftp -g -l hello 192.168.1.25
    root@sama5d3_xplained:~/test# chmod 777 hello
    root@sama5d3_xplained:~/test# ./hello                               
    hello, world!

    [再回首]
    一、第一步使用的是 Sourcery G++ Lite 2011.03-42
    编译
    $ /opt/arm-cross/arm-2011.03/bin/arm-none-eabi-gcc hello.c -o hello
    一直提示如下信息 (更换交叉工具链后问题不再出现)
    /opt/arm-cross/arm-2011.03/bin/../lib/gcc/arm-none-eabi/4.5.2/../../../../arm-none-eabi/bin/ld: warning: cannot find entry symbol _start; defaulting to 00008018
    /opt/arm-cross/arm-2011.03/bin/../lib/gcc/arm-none-eabi/4.5.2/../../../../arm-none-eabi/lib/libc.a(lib_a-sbrkr.o): In function `_sbrk_r':
    sbrkr.c:(.text+0x18): undefined reference to `_sbrk'
    /opt/arm-cross/arm-2011.03/bin/../lib/gcc/arm-none-eabi/4.5.2/../../../../arm-none-eabi/lib/libc.a(lib_a-writer.o): In function `_write_r':
    writer.c:(.text+0x20): undefined reference to `_write'
    /opt/arm-cross/arm-2011.03/bin/../lib/gcc/arm-none-eabi/4.5.2/../../../../arm-none-eabi/lib/libc.a(lib_a-closer.o): In function `_close_r':
    closer.c:(.text+0x18): undefined reference to `_close'
    /opt/arm-cross/arm-2011.03/bin/../lib/gcc/arm-none-eabi/4.5.2/../../../../arm-none-eabi/lib/libc.a(lib_a-fstatr.o): In function `_fstat_r':
    fstatr.c:(.text+0x1c): undefined reference to `_fstat'
    /opt/arm-cross/arm-2011.03/bin/../lib/gcc/arm-none-eabi/4.5.2/../../../../arm-none-eabi/lib/libc.a(lib_a-isattyr.o): In function `_isatty_r':
    isattyr.c:(.text+0x18): undefined reference to `_isatty'
    /opt/arm-cross/arm-2011.03/bin/../lib/gcc/arm-none-eabi/4.5.2/../../../../arm-none-eabi/lib/libc.a(lib_a-lseekr.o): In function `_lseek_r':
    lseekr.c:(.text+0x20): undefined reference to `_lseek'
    /opt/arm-cross/arm-2011.03/bin/../lib/gcc/arm-none-eabi/4.5.2/../../../../arm-none-eabi/lib/libc.a(lib_a-readr.o): In function `_read_r':
    readr.c:(.text+0x20): undefined reference to `_read'
    collect2: ld returned 1 exit status
    二、第三步中没有加 -static
    开发板上执行之后提示如下信息(加-static后问题解决)
    root@sama5d3_xplained:~/test# ./hello                                        
    sh: ./hello: No such file or directory
  • 相关阅读:
    2020阿里最新出品的泰山版Java开发手册,告别垃圾代码
    freecplus框架-目录操作
    freecplus框架简介
    freecplus框架-加载参数文件
    freecplus框架-xml解析
    freecplus框架-tcp网络通信
    freecplus框架-PostgreSQL数据库操作
    freecplus框架-Oracle数据库操作
    freecplus框架-MySQL数据库操作
    freecplus框架-ftp客户端
  • 原文地址:https://www.cnblogs.com/aqing1987/p/4292923.html
Copyright © 2011-2022 走看看