|  | 
 
| 本帖最后由 sunsili 于 2022-1-13 00:13 编辑 
 看看这段代码运行效果吧
 用vim写代码 shuixianshu.c文件
 
 
 按i键编辑代码:
 这是水仙花数代码, 水仙花数:等于各位数立方之和。详解请参考http://bbs.sunsili.com/thread-225327-1-1.html复制代码#include <stdio.h>
  void main(void)
  {
       int hun, ten, ind, n;
  
       printf("Shuixianhuashu result is:");
       for(n=100; n<1000; n++)
    {
         hun = n/100;
         ten = (n%100)/10;        
         ind = n%10;
         if(n == hun*hun*hun + ten*ten*ten + ind*ind*ind)
         {
            printf("%d ", n);
         }
     }
     printf("\n\r");
}
 写保存退出 按键ESC  写命令:wq
 
 复制代码gcc -o shuixianshu.o shuixianshu.c
./shuixianshu.o
Shuixianhuashu result is:153 370 371 407
arm-linux-gnueabi-gcc -o shuixianshu.arm shuixianshu.c
./shuixianshu.arm
-bash: ./shuixianshu.arm: cannot execute binary file: Exec format error
 (无法运行, 因为我们的电脑是X86框架的,用arm-linux-gnueabi-gcc 编译出来的程序是不在X86平台运行的, 只能要ARM平台下运行, 要下载到开发板上运行, 用用arm-linux-gnueabi-gcc 在ARM开发板运行也为报错,我们后面会说)
 
 怎么把编译好的程序放到开发板呢
 1、启动开发板,我这里使用的RK3399开发板
 2、连接网络,要与我们的开发电脑linux(一般是虚拟机) 我用的是win10 -wsl(不知道wsl的,请查看超简单!这样在Windows下安装Linux系统,操作更方便-电子技术单片机开发编程WEB开发IT运维-谷动谷力(sunsili.com))在同一局域网
 3、查看网络配置:
 ifconfig
 获得开发板ip
 4、开发电脑 输入命令:
 sftp 应用名@开发板IP
 例我的开发板用户名root IP 192.168.10.76
 
 复制代码sftp root@192.168.10.76 (如果用户权限不够,就用sudo sftp root@192.168.10.76)
按提示输入密码
 提示选项时输入yes
 连接成功是这样的:
 
 5、这样可以输入sftp命令了(查看sftp命令详解http://bbs.sunsili.com/thread-225314-1-1.html):
 向开发板传文件:
 
 6、按提示传入得到开发板路径,一般在当前用户下主目录,我们这里用的root登录的,那么传入开发板的路径就是/home/root
 7、在开发板里运行:
 到/home/root目录:
 
 查看是否有 shuixianshu.arm
 
 查看到是有shuixianshu.arm
 运行:
 
 
 提示:
 
 复制代码shuixianshu.arm no such file
 提示没找这个文件,这里与开发电脑不一样,问题还是不能执行,为什么呢?ARM架构不一样,我们用的RK3399是要arm-linux-gnueabinf-gcc:
 
 复制代码arm-linux-gnueabinf-gcc -o shuixianshu.o shuixianshu.c
再重复上过操作, 在开发板运行:
 
 终于看到与我PC运行一样效果了
 
 复制代码Shuixianhuashu result is:153 370 371 407
还有一种方法:
 传源码到开发板, 用开发板里gcc, 开发里安装的gcc, 就是arm-linux-gnueabinf-gcc,在开发板编译就是交叉编译了,我们很少这样用,编译有误,在开板里,只能用vi/vim不方便修改代码。
 重复上述传shuixianshu.c到开发板,然后编译运行:
 
 复制代码gcc -o shuixianshu.o shuixianshu.c
./shuixianshu.o
Shuixianhuashu result is:153 370 371 407
使用与PC一样了,其实开发板就是一台linux电脑。
 
 | 
 
+10 |