Ubuntu 16.04 (x64)下从源代码为Raspberry Pi Zero W编译实时内核

首先参考 Ubuntu 16.04 (x64)树莓派B+ (Raspberry Pi B+)源代码编译 保证能够成功编译标准内核的源代码,然后切换到实时内核分支,并执行如下编译命令:

安装编译好的内核

Ubuntu下面,SD卡会自动挂载,默认挂载到了/media/目录下面,如果是使用NOOBS安装的话,系统目录是固定的,执行如下命令拷贝到目标SD卡上面

借助编译环境,单独编译内核模块

有时,我们需要单独编译新下载的内核驱动,这个时候,就可以使用如下的方式进行单独内核模块的编译。

下面,我们以ASIX AX88772系列的USB有线网卡驱动的编译为例:

解决已知问题

使用上面的命令安装完成内核后,目前(2018.09.26)遇到的问题为,当插入ASIX AX88772系列的USB有线网卡之后,会导致内核崩溃,启动失败。

设备信息如下:

初步怀疑是USB设备的驱动依赖关系不正确导致内核崩溃。

目前的临时解决方法为要求设备启动时候优先加载USB设备相关的驱动,而不是等到网卡插入的时候再去加载。

也就是在/boot/config.txt文件尾部新增加一行dtoverlay=dwc2。这段代码本来是为树莓派通过USB访问网络的虚拟网卡准备的(是的,你没看错,树莓派本身可以不借助网卡直接通过USB接口跟电脑共享方式上网,不过需要设置一堆东西,最简单的还是外接真正的USB网卡)。我们加载这个模块,但是并不使用这个功能,造成的结果就是重新调整了模块加载顺序,规避了后续的问题。

上述修改后,依旧存在动态插拔网卡,设备会重启的问题,不过已经不影响正常使用。

参考链接


树莓派GPIO用法示例(Python)

非阻塞用法示例如下:

参考链接


树莓派Zero W/WH(Raspberry Pi Zero W/WH) GPIO针脚定义

树莓派Zero W,有两款小型号,一款是Raspberry Pi Zero W,另一款是Raspberry Pi Zero WH,两者的区别是一个出厂的时候没有焊接排针,另一款焊接了排针。WWireless的缩写,WHWireless With Head的缩写。

树莓派Zero W/WH(Raspberry Pi Zero W/WH) GPIO针脚定义如下图:
继续阅读树莓派Zero W/WH(Raspberry Pi Zero W/WH) GPIO针脚定义

Raspberry Pi Zero W配置Wi-Fi AP

最近在配置Raspberry Pi Zero W,使用的系统为2018-06-27-raspbian-stretch-lite,我们的需求是把这台Raspberry Pi Zero W配置为开放Wi-Fi模式的AP

Raspberry Pi Zero W只有一块无线网卡,如果被配置成AP模式不是太好操作,可以通过预留的Macro USB接口外接一个USB有线网卡来实现远程访问,当然也可以直接接入显示器,USB Hub外接鼠标键盘操作。

执行如下脚本配置:

参考链接


树莓派2B启用I2C

树莓派自带I2C控制器,但是默认没有启用,我们需要手工启用,具体操作如下:

I2C is a very commonly used standard designed to allow one chip to talk to another. So, since the Raspberry Pi can talk I2C we can connect it to a variety of I2C capable chips and modules.Here are some of the Adafruit projects that make use of I2C devices and modules:

The I2C bus allows multiple devices to be connected to your Raspberry Pi, each with a unique address, that can often be set by changing jumper settings on the module. It is very useful to be able to see which devices are connected to your Pi as a way of making sure everything is working.

To do this, it is worth running the following commands in the Terminal to install the i2c-tools utility.

Installing Kernel Support (with Raspi-Config)

继续阅读树莓派2B启用I2C

树莓派上微雪屏幕虚拟键盘安装

买了个微雪7存屏幕,支持触摸,但是树梅派默认没有虚拟键盘,我们使用如下方式安装:

继续阅读树莓派上微雪屏幕虚拟键盘安装