树莓派源码
本文更新于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设备文件是否已经加载就绪
2. 树莓派Pico PicoSDK
通过执行命令sudo git clone GitHub - raspberrypi/pico-sdk和sudo git clone github.com/raspberrypi/...,用户获取了树莓派Pico的SDK源码。为了确保环境兼容性,接下来需要安装一系列依赖包,包括sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib。为了将PicoSDK设置为全局环境变量,用户编辑了~/.bashrc文件,在最后添加了export PICO_SDK_PATH=/path/to/pico-sdk,并执行source ~/.bashrc来应用更改。通过检测echo $PICO_SDK_PATH,用户确认环境配置成功。
创建一个新的项目文件夹,用户将获取的代码复制到pico_sdk_import.cmake文件中。接下来,用户编辑了CMakefile.txt文件和hello_world.c代码文件。在构建过程中,首先创建了一个名为build的目录,然后使用cmake ..命令生成构建文件,执行make hello_world以构建hello_world程序。为了使用PicoSDK点亮GPIO25,用户创建了一个名为blink_GPIO25的目录,并在该目录下编辑了CMakeLists.txt和blink_gpio25.c文件。构建流程包括在目录下创建一个名为build的子目录,使用sudo cmake ..来配置构建,执行sudo make -j12命令生成编译后的程序。最后,将生成的blink_gpio25.uf2文件拖放到RPI设备上,使用sudo cp ./blink_gpio25.uf2 /media/jw0/RPI-RP2命令完成文件传输。
以上步骤详细介绍了如何利用PicoSDK构建和部署树莓派Pico上的GPIO相关应用,整个过程涉及代码管理、环境配置、项目构建和设备部署等多个环节,旨在帮助用户实现树莓派Pico的GPIO功能。
3. 学习树莓派上编程的时候,需要哪些教程
树莓派教程(持续更新)网络网盘免费资源在线学习
链接: https://pan..com/s/1PuxuAIN8dV37G5E2n33pCA
树莓派教程(持续更新) 中谷教育-python视频教程(完整版)
游戏镜像 微雪5寸显示器config 树莓派详细资料 视频教程 镜像 Voice kit语音工具包镜像 Etcher-Setup-1.4.4-x86镜像烧录工具.
exeaiyprojects-2018-04-13.img.xz 开启SSH-raspbian-stretch.zip ubuntu-mate-16.04.2-desktop-armhf-raspberry-pi.img.xz StickyFingers-Kali-Pi-armhf-180923.img.xz recalboxOS-4.0.0-beta5.zip 2018-11-13-raspbian-stretch.zip
4. 理解树莓派软件源与 apt,一篇文章就够了
在进行树莓派项目开发时,安装软件包通常通过执行sudo apt-get install指令。然而,为了更深入地了解Linux知识并成为树莓派的高级玩家,有必要理解apt-get背后的原理以及Debian系统的包管理知识。
树莓派官方的Raspbian操作系统基于Debian,共享Debian的软件包管理机制。软件包的概念首次出现在GNU/Linux中,用于管理已安装的软件。早期,用户需要手动编译.tar.gz格式的源码包。随着Debian的诞生,dpkg(Debian Package)作为管理软件的工具被引入,软件包以.deb格式出现,便于安装和卸载。
虽然dpkg是底层的包管理工具,但更常用的是apt(Advanced Packaging Tool)。dpkg存在一些局限性,比如无法自动解决依赖问题,以及需要将软件下载到本地才能安装。相比之下,apt自动处理依赖关系,并能从软件仓库下载软件进行安装,从而简化了包管理过程。
在树莓派上,软件源配置通过/etc/apt/source.list文件进行管理。默认软件源通常包括DFSG(Debian Free Software Guidelines),即自由软件指导方针,强调软件必须开源。访问默认的软件源URL,如http://raspbian.raspberrypi.org/raspbian/,可以看到包含大量已编译软件包的静态资源目录。
常用的命令包括apt-get,用于安装、更新和移除软件包;apt-cache,用于查找和显示软件包信息。通过执行`apt list --installed`命令,可以查看系统上安装的所有软件包及其状态、版本和简要描述。使用`apt-cache show`命令可以获取软件包的详细信息,如版本号、依赖关系等。此外,可以通过`apt list | grep`命令过滤特定软件包,如只显示以"python"开头的包。
要了解某个软件包包含的文件,可以使用`dpkg -L`命令。直接查看.deb包的文件结构或解压到本地目录进行测试也是常用方法。另外,如果需要知道特定文件属于哪个软件包,可以使用`dpkg -S`命令。
虽然Raspbian通常带有大部分常用命令,但通过`apt-get install`可以安装缺失的命令。