这里借一下别人的连线图
树莓派学习二(点亮LED灯)
讓你的 Raspberry Pi 透過 GPIO 閃爍 LED 燈
Shell C C++ Java Python NodeJS 等语言均有支持GPIO的库,详情谷歌
这里pip换镜像源,不说了我们先一起烧香谢谢方校长:
树莓派使用 Python 驱动 SSD1306(IIC/SPI 通信) 先测试IIC通讯,成功后再去玩 Linux C 编程 实现I2C总线的OLED驱动 - 暮光小猿wzt。
树莓派zero wh使用csi摄像头模块
查看硬件输出信息如查看 SoC 温度(也就是常说的 CPU)
vcgencmd measure_temp详见:https://www.raspberrypi.org/documentation/raspbian/applications/vcgencmd.md
正确关机sudo halt
配置 Web版的 VSCode Server由于 VSCode SSH Remote 不支持 armhf,所以我们直接用弱一点的 Web 版 VSCode
https://github.com/cdr/code-server/releases
见文档
如果没网,可能是你没在控制面板里把网络共享给树莓派
如果还是没网,可以在windows控制面板把树莓派网卡的 IPV6 关了,IPV4设置为自动获取dchp
然后关闭 MobaXterm 的 SSH 标签页再重新打开,使其重新获取ip
在树莓派测网: ping 114.114.114.114
https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2835/README.md
译文:BCM2835
这是树莓派 A, B, B+, the Compute Module 及 Zero 系列所用的博通 CPU 芯片
请参考:
Peripheral specification 参考手册
注:该文档有一些错误,已知错误和一些额外信息可以点这里获取
GPU 文档 及其 开源驱动
ARM1176 processor
ARM1176JZF-S
Also see the Raspberry Pi 2 Model B\'s chip, BCM2836.
Peripheral specification(ARM 外设说明书) 是博通的数据手册,在其文档介绍里可看到这么一行:
The purpose of this datasheet is to provide documentation for these peripherals in sufficient
detail to allow a developer to port an operating system to BCM2835.
There are a number of peripherals which are intended to be controlled by the GPU. These are
omitted from this datasheet. Accessing these peripherals from the ARM is not recommended.
总结:
资料名 文件名 网址CPU 数据手册 BCM2835-ARM-Peripherals.pdf https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2835/BCM2835-ARM-Peripherals.pdf
CPU 数据手册错误修正与注意 BCM2835 datasheet errata - eLinux.org.mhtml https://elinux.org/BCM2835_datasheet_errata
ZeroW 电路原理图(schematics) rpi_SCH_ZeroW_1p1_reduced.pdf https://www.raspberrypi.org/documentation/hardware/raspberrypi/schematics/rpi_SCH_ZeroW_1p1_reduced.pdf
GPU 文档 VideoCoreIV-AG100-R.pdf https://docs.broadcom.com/docs/12358545
CPU 开源驱动 Brcm_Android_ICS_Graphics_Stack.tar.gz https://docs.broadcom.com/docs/12358546
为方便大家使用,我已经把上面5个资料都打包了,下载地址:Pi_zeroW.zip 更新日期:2021-01-13
以上硬件资料均可在树莓派官网 HardWare 文档 找到
软硬件等更多资料详见:https://www.raspberrypi.org/documentation/
PS. 树莓派 ZeroW 的 CPU 是 BCM2835,该 CPU 内核是 ARM1176 processor 系列里的 ARM1176JZF-S
剩下的就是:看手册/看寄存器/看电路图->写代码了,和普通的 ARM Linux 驱动开发没有什么两样
给个案例:
树莓派底层驱动开发示例(一个简单io口驱动的开发)
树莓派驱动开发实战04:PWM呼吸灯
驱动开发教程: https://ixx.life/categories/树莓派驱动开发实战/
驱动编写教程(非树莓派,但大同小异): [野火]i.MX Linux开发实战指南-驱动章节
开发方式推荐:VSCode + Remote SSH + Linux X64 桌面操作系统(或虚拟机)交叉编译环境 和 NFS 服务 + 树莓派挂载 NFS (当然 树莓派3之类的SSH Remote支持,zeroW不支持只能用 code-server)
在 VSCode 直接调用 Makefile 的方法:https://www.cnblogs.com/yucloud/p/vs_code_config.html#makefile
树莓派挂载 NFS:
NOTE: 不要在 zeroW 上编译,因为它没有树莓派3 那么好的性能。