关于树莓的交叉编译[备忘]

对应官方的Raspbian,下载

raspbian-toolchain-gcc-4.7.2-linux32.tar.gz
保存几个地址:
<pre name="code" class="html">https://s3.amazonaws.com/RTI/Community/ports/toolchains/raspbian-toolchain-gcc-4.7.2-linux32.tar.gz
<pre name="code" class="html"><pre name="code" class="html">https://<span style="font-family: Arial, Helvetica, sans-serif;">github.com/raspberrypi/tools.git</span>
 
 
 解压到/opt,然后修改环境变量 

sudo leafpad ~/.bashrc

尾部加一行

export PATH=/opt/raspbian-toolchain-gcc-4.7.2-linux32/bin:$PATH
source一下,可以不重启就使用

arm-linux-gnueabihf-gcc -v
查看是否应用上了交叉链


http://www.airspayce.com/mikem/bcm2835/ 该链接给出的C库只是在树莓上编译安装,并没有说如何在host机上安装,

假如是在宿主机上编译,估计在./configure后加一长串奇奇怪怪的东西,我是看不懂。。




聪明的办法不会,用土方法总可以试试吧微笑

那就按网站上给出的方法,在树莓上编译

tar zxvf bcm2835-1.xx.tar.gz
cd bcm2835-1.xx
./configure
make
sudo make check
sudo make install

ok,然后把

/usr/local/include/bcm2835.h
/usr/local/lib/libbcm2835.a
分别丢进host机

/opt/raspbian-toolchain-gcc-4.7.2-linux32/lib/gcc/arm-raspbian-linux-gnueabi/4.7.2/include
/opt/raspbian-toolchain-gcc-4.7.2-linux32/arm-raspbian-linux-gnueabi/lib

这时候在host机上,试试编译带有bcm2835函数的测试代码ts02.c

#include <bcm2835.h>  
#include <stdio.h>

int main()
{
	if (!bcm2835_init()) return 1;
	printf("bcm2835_init_success!\n");
	return 0;
}

<pre name="code" class="html">arm-linux-gnueabihf-gcc -o ts02 ts02.c -l bcm2835
 

把编译出来ts02丢树莓上

chmod 755 ts02
sudo ./ts02

是可以运行的 微笑


更白痴的方法就是把bcm2835.c.h放同一目录

在写测试代码时

#include "bcm2835.h"
arm-linux-gnueabihf-gcc -o ts02 ts02.c bcm2835.c
因为libbcm2835.a这个库无非就是

gcc -c bcm2835.c
ar rv libbcm2835.a bcm2835.o
出来的




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值