本文更新于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设备文件是否已经加载就绪
② 如何在windows下或者linux下对树莓派编程(C语言或C++)
硬件的没玩过
树莓派 是不是那个 教学型 ARM编程主板?
建议你去 他们官方论坛看下
我同学他们毕业搞ARM的 都是 自己焊接板子的
然后用 winCE或者 unix linux 的嵌入式系统
他这种定制的包装过的,一般都把很多底层的 原理封装了,只需要 学号他官方提供的 支持文档和事例程序,就能实现 很多功能。而且
如果 你直接去学C/C++ windows编程 以及通信编程 SSH协议 等 反倒离目的远了。
我估计你应该是个 爱好者,或者学生。
论坛里有很多 爱好者 发的 相关项目及 细节
比如:我刚才在 论坛里看到一个帖子说
做了一个工具,在windows下面和pi 进行ssh 交互
http://bbs.ickey.cn/index.php?app=group&ac=topic&id=2573
③ 如何在ubuntu 上 编译树莓派 wiringpi
1.简介wiringPi wiringPi , 安装好这个库后可以直接 调用函数配置和控制GPIO功能 下图中左边是wiringPi封装好后的引脚,右边是树莓派本身的引脚(bcm2835库也使用它) 还有一张图可以参考: 2.树莓派中安装wiringPi方法: mkdir temp cd temp wget...
④ 树莓派入门
1.什么是树莓派?
2.树莓派可以做什么?
没有做不到,只有你想不到。因为有GPIO的存在,用GPIO控制一些电路实现更加灵活的DIY。
3.树莓派的购买选择?
4.树莓派系统的选择?
5.购买无线网卡?
6.储存卡的选择?
7.电源的选择?
8.烧录系统?
Windows下:
MacOS下:
等烧录结束后,插卡通电,就可以在路由器后台路由表里看到树莓派的ip了(图中为演示备份截图香橙派):
9.连接树莓派?
10.更新系统并配置源?
11.CPIO驱动安装
树莓派内核中已经编译自带了GPIO的驱动,我们长通过第三方库写好的函数库完成具体的操作。库有:python GPIO,WiringPi(C语言编写),BCM2835 C Library (C编写)
12.编译最新树莓派内核
待续~~
其他一些教程请参考 我的:不着调的小男生 。
推荐些关于树莓派的博客吧:
⑤ 树莓派编译8188eu驱动时提示 /lib/moles/3.12.32+/build: No such file or directory.
编译这个驱动时用不到这个命令吧。。。
http://www.raspberrypi.org/phpBB3/viewtopic.php?f=26&t=29752
这个上面有详细的教程
注意系统版本号与对应驱动文件的选择。
⑥ 怎么用树莓派编译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 !
大功告成
⑦ 树莓派编译错误没有winsock.h文件
编译器路径没有设好。
如果编译器路径没有设好,也会找不到文件。编译器安装时,应装好了设好了路径。
树莓派是一款功能强大、紧凑型的控制器,并且它的价格更具优势。它基于树莓派计算模块3+,具有更加多样的连接选项和功能。
⑧ 如何在树莓派上安装 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