树莓派gcc编译
① 在树莓派上怎么写C++程序
需要为树莓派安装linux操作系统,很多系统里面都自带vim、gcc/g++和gdb,vim是个编辑器,gcc/g++是编译器,gdb是调试器。有了这三样,就能开始写c++程序了
② 树莓派用gcc编译出来的代码(只用ANSI C)能直接给stm8/stm32用吗
既然都已经编译出来了,那就不是代码而是可执行程序了。树莓派的处理器BCM2835(核心为ARM11)与STM8/STM32明显不同,底层硬件、外设均不兼容,所以树莓派的可执行程序是不能直接给STM8/STM32使用的。但树莓派的应用层代码(不涉及到底层硬件资源的代码)可以移植到STM8/STM32的工程中编译后给STM8/STM32使用。
③ 树莓派Linux内核编译选项如何开启TPM 2.0
本文更新于2018-08-11
首发于, 文章链接 http://www.jianshu.com/p/174844b99716
同步至GitHub: https://github.com/liuqun/linux/wiki
定制树莓派内核源码, 通过树莓派SPI接口加载并访问TPM2.0设备
所需硬件: X86主机一台, 树莓派3-B型号开发板一块, 大容量Micro-SD卡+USB读卡器一个, 英飞凌TPM2.0评估板一套
所需软件: 任意版本树莓派固件(推荐使用 最新版本 ), Ubuntu Linux 虚拟机, gcc-arm-linux-gnueabihf 交叉编译器, libncurses5(编译Linux内核配置菜单界面)
取出树莓派的SD卡, 通过读卡器插入 Ubuntu 主机或将读卡器 USB 设备接入 VMware 虚拟机。Ubuntu 默认自动将 U 盘挂载到 /media/$USER/boot 和 /media/$USER/【根文件系统分区】
(以下为覆盖式安装, 如果不放心请自行备份SD卡上的原有内核及模块文件)
选中 5. Interfacing Options --- P4 SPI(启用/禁用SPI串口)
重启树莓派,开机后检查/dev/tpm0设备文件是否已经加载就绪
④ 树莓派3可以装arm-none-eabi-gcc编译器嘛
肯定可以啊
⑤ 如何在树莓派上安装 QT 编译器
首先我需要的开发工具Qt Creator 先从终端单独下载:
sudo apt-get install qt4-dev-tools
之后安装QT CREATOR 编译器:
sudo apt-get install qtcreator
之后继续安装编译环境:
sudo apt-get install gcc
sudo apt-get install xterm
sudo apt-get install git-core
sudo apt-get install subversion
该版本基于Qt Creator 2.5 with Qt 4.8.1 32 bit
存在问题:没有工具链。
我们只能编译远程嵌入式设备,这不是这里的情况,因为我们是PI,而不是远程访问它。
我添加了一个gcc工具链
工具/选项>构建和运行>标签工具链>按钮添加 选择GCC
然后设置编译器路径:/usr/bin/arm - linux - gnueabihf - gcc - 4.6
调试器:/usr/bin/gdb
Mkspec:默认
Qt Creator似乎发现我们将部署在一个遥远的目标。
为了解决这个问题:
去帮助>菜单插件
取消设备支持远程linux >
重启Qt的创造者
去工具>选项选项卡> >构建和运行> Qt版本添加“/ usr / bin / qmake-qt4”
然后,它将显示为一个桌面项目在项目向导,而不是嵌入。
⑥ 树莓派b+ gcc lwiringPi 编译错误 gpio控制led
新建一个名为led.py的程序,程序的具体内容如下:
123456789101112131415 #!/usr/bin/env python# -*- coding: utf-8 -*- import RPi.GPIO as GPIOimport time GPIO.setmode(GPIO.BOARD)# need to set up every channel which are using as an input or an outputGPIO.setup(11, GPIO.OUT) while True: GPIO.output(11, GPIO.HIGH) time.sleep(1) GPIO.output(11, GPIO.LOW) time.sleep(1)
使用cd命令进入文件所在目录,然后输入指令
1 sudo python led.py
使用这种方法实现LED闪烁的最容易的方法,网上的教程也非常多,是入门树莓派的好方法。
2.2 wiringPi
新建一个名为blink.c的程序,程序内容如下
1234567891011 #include <wiringPi.h>main (){ wiringPiSetup () ; pinMode (0, OUTPUT) ; for (;;) { digitalWrite (0, HIGH) ; delay (500) ; digitalWrite (0, LOW) ; delay (500) ; }}
使用cd命令进入所在文件目录,然后输入以下命令生成可执行文件blink
1 gcc -Wall -o blink blink.c -lwiringPi
⑦ 树莓派可以用c语言吗
树莓派自带gcc。
用任意工具ssh登陆后, vi编辑, gcc编译。
不适合新手, 因为都是命令行操作。
⑧ 一 . 树莓派A20 基本环境搭建 1
我的实验环境:
1.交叉编译工具链:gcc-linaro-arm-linux-gnueabihf-4.8-2014.04_linux(4.8.2).tar.xz
2.SDK文件:MarsBoard-A20-Linux-SDK-V1.1.tar.bz2
在安装gcc-arm-linux-gnueabi的时候,会自动安装上gcc-4.6-arm-linux-gnueabi,如下图所示:
第二个文件的安装很重要,尽管后面提示的编译错误,缺少的是arm-linux-...,但是安装这个文件还是挺好用的。
根据前面安装的一些安装包,其实本节的交叉编译工具链可以不用操作。因为已经包含了本节所做的了。
我得先将vim改一下,否则按住上下左右,会出现A,B,C,D。
再/etc/profile最后一行添加内容:
然后:
这里做一些简要的说明,在网址: 链接 上有一些说明,从说明中,我们可以看到我们用的sdk的架构。
pack文件夹
选择2,server版本。
之后:
能找到的livesuit_marsboard_a20_debian.img就是生成的镜像文件。如果要修改名字,可以:
这里面就包含了image.cfg,找到里面的一项:
修改为其他的名字即可。
选择2,server版本。
1.若出现如下报错:
可以:
如果出现:
但是其实这些文件都是有的,可以不妨:
再次编译,则问题如下:
仔细找编译的shell输出文件,发现是rootfs/下的gz文件找不到,这是因为我做前面的操作的时候,希望生成自己的rootfs_my.tar.gz文件。现在我重新将该文件放到rootfs/下,再次编译,我将最后的结果放在下面:
这样表示成功了。
下面列入生成的镜像:
livesuit_superpi3.img即是。
1.我在做上面的操作的时候,夹杂的使用了两个开发板,一个是marsboard出品的a20开发板,另外一个是风火轮出品的a20树莓派3卡片电脑,说实在的,看起来风火轮附带板子资料挺多,但是其真正写的资料可没用心做,实在不是一个榜样,在该开发板上做非核心开发,是可以的,但是做研发,还是需要做考量。
烧写成功后,打印的内容如下,作为日志信息,留作以后分析:
⑨ 为什么树莓派上的gcc(g++)不支持using语句
总体看没同都
文件、段表、段内容格式
往内容看两者区别g++文件C++gcc文件作C首先符号规则(name mangling)连接库
有两种方法
1。保存好你编译的c文件,假如你的文件名是main.c,这是源文件,我们要把它编译成目标文件即以.o结束的文件(gcc -c main.c) ,再使用ll main*就可以查看到生成的目标文件,再将目标文件生成可执行文件(gcc -o main main.o) ,这里用main替代生成的可执行文件,再使用ll main*就可以查看到生成的可执行文件main,最后就是执行可执行文件了(sh main),这样就可以得到结果了。
2。可以一步到位,直接生成可执行文件,gcc -o main main.o,执行方法如方法一,用方法一可以看到详细的执行过程,建议使用方法1
身故障导致系统无法运行。)。一般BIOS被病毒破坏
⑩ 怎么用树莓派编译C语言程序
用树莓派编译C语言程序方法:
首先安装Xshell软件。
点击New,新建一个ssh连接。
名字随便起,这里我写树莓派。
ip地址,写树莓派的ip,我的树莓派ip是192.168.1.222。
点击OK。
这样就建好ssh链接了,双击树莓派。
填写的用户名,我是用的默认的pi。
点击OK。
填写密码,默认的是raspberry
连接成功。
在命令行输入vim test.c。
回车。
这时,无法输入任何字符,按下i键,进入编辑模式,此时test.c会变成INSERT
,这时就可以输入代码了。
编辑好代码。按ESC,进入命令行模式
输入wq!回车
退出vim程序。
接下来在命令行中输入gcc test.c -o test
回车,生成可执行文件test
./test即可看到运行结果hello world !
大功告成