【树莓派】交叉编译环境程序测试

本文介绍了一个用于测试树莓派交叉编译环境的程序。该程序能够计算指定范围内偶数的所有素数对,并通过Makefile进行编译。文章还介绍了如何将编译后的程序传送到树莓派并执行。

在上一篇【树莓派】交叉编译环境搭建成功后,编写一个程序来测试编译环境是否正确运行。

1)编写测试程序test.c和Makefile文件

test.c

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
//To calculate prime number pairs for the evens between NUMl and NUM2
#define NUM1 20
#define NUM2 60
//This function is to check if a number is a prime or not.
int prime(int n)
{
	int i,m;
	m=n*2;
	for(i =2; i <=m; i++) {
		if(n%i == 0) return 0;
		return 1;
	}
}
int main()
{
	int i,k;
	int j,j2;
	int N1,N2;
	N1=NUM1/ 2;
	N2=NUM2/ 2;
	printf("Lists all prime number pairs for given evens. \n");
	printf ("Start=%d\n", NUM1);
	for (j=N1; j<=N2; j++) {
		j2=j*2;
		printf ("%d = ", j2) ;
		k=0;
		for(i=2; i <=j; i++) {
			if (prime (i) && prime (j2- i)) {

				if (k == 1) printf (", ") ;
				printf("%d+%d", i,j2- i);
				k=1;
			}
		}
		printf ("\n") ;
	}

	printf("End=%d\n",NUM2);
	return 0;
}

Makefile

CC=arm-linux-gnueabihf-gcc  
test:test.o  
clean:  
	rm -rf test.o test

 

在Makefile文件中使用了至少两条隐含规则,

  1. CC为默认工具链;
  2. .o文件由同名的.c文件生成

2)编译生成可执行文件

3)将可执行文件test从虚拟机传送到树莓派,这里使用的是FileZilla

在Ubuntu应用商店中安装FileZilla

通过树莓派的ip地址登录到树莓派,树莓派的默认账号为pi,密码为raspberry。

选择可执行文件test,右击添加文件到队列

在传输列表中选择test,右击处理队列

4)使用SSH执行程序

cd test

./test

5)进入远程桌面执行程序

打开终端

cd test

./test

关于第4步,第5步,如何通过SSH登录树莓派和如何远程登录树莓派桌面可以参考:分类-->树莓派--> 【树莓派】树莓派安装和远程登录(通过SSH和远程桌面连接)

如果对你有帮助,请点赞,同时欢迎指正!

### 搭建树莓派交叉编译环境教程 搭建树莓派交叉编译环境是为了解决在主机(如Linux或Windows)上开发程序并生成可以在树莓派运行的目标文件的问题。以下是详细的设置方法和相关步骤说明。 #### 1. 环境准备 为了搭建树莓派交叉编译环境,首先需要一个合适的Linux虚拟机环境。可以使用虚拟机软件(如VMware或VirtualBox)安装Ubuntu或其他Linux发行版[^1]。确保虚拟机中的Linux系统已经正确配置网络连接,并能够通过SSH访问树莓派设备。 #### 2. 树莓派系统的烧录与配置 将树莓派的操作系统镜像(如Raspberry Pi OS)烧录到SD卡中,并将其插入树莓派设备。启动后,可以通过SSH工具(如PuTTY)连接到树莓派,获取其硬件架构信息和系统版本信息[^2]。 ```bash uname -a ``` 上述命令可以显示树莓派的操作系统内核版本等信息,用于后续选择正确的交叉编译工具链。 #### 3. 安装交叉编译工具链 在Linux虚拟机中下载并安装树莓派官方提供的交叉编译工具链。例如,可以从树莓派官网下载工具链文件,并解压到指定目录: ```bash wget https://github.com/raspberrypi/tools/raw/master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64.tar.xz tar xf gcc-linaro-arm-linux-gnueabihf-raspbian-x64.tar.xz -C ~/raspberrypi/tools/ ``` 然后将工具链路径添加到系统的环境变量中: ```bash export PATH=$PATH:$HOME/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin ``` 为了使环境变量永久生效,可以将其写入`~/.bashrc`文件中[^4]。 #### 4. 测试交叉编译环境 编写一个简单的C程序(如`hello.c`),内容如下: ```c #include <stdio.h> int main() { printf("Hello, Raspberry Pi!\n"); return 0; } ``` 使用交叉编译器进行编译: ```bash arm-linux-gnueabihf-gcc hello.c -o hello ``` 将生成的可执行文件传输到树莓派上,并运行以验证其是否正常工作: ```bash scp hello pi@<raspberry-pi-ip>:/home/pi/ ssh pi@<raspberry-pi-ip> ./hello ``` 如果输出“Hello, Raspberry Pi!”,则说明交叉编译环境搭建成功[^3]。 #### 5. 高级开发环境配置(可选) 对于更复杂的项目,可以考虑使用集成开发环境(IDE)如Eclipse或VS Code。通过插件支持交叉编译工具链,进一步提升开发效率。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值