当前位置: 首页 > article >正文

树莓派3B驱动ST7735(内核)(TODO)

(TODO)

https://www.youtube.com/watch?v=dj0WrkpPRho

要在树莓派 3B 上配置支持 ST7735S 显示屏,并在启动过程中将信息输出到这个显示屏,同时允许通过显示屏进行 shell 交互,需要进行以下步骤:

### 1. **安装必要的工具和库**
在配置和编译内核之前,需要确保系统安装了必要的工具和库:

```bash
sudo apt update
sudo apt install git bc bison flex libssl-dev make
```

### 2. **下载并配置内核源代码**
下载树莓派的 Linux 内核源代码:

```bash
git clone --depth=1 https://github.com/raspberrypi/linux
cd linux
```

在内核源代码目录中,使用 `menuconfig` 配置内核:

```bash
make bcmrpi_defconfig
make menuconfig
```

### 3. **配置内核支持 ST7735S 显示屏**
在 `menuconfig` 中,确保以下选项被启用:

1. **Framebuffer 驱动支持**:
   - `Device Drivers` → `Graphics support` → `Framebuffer Devices` → `Support for frame buffer devices`
   - `Device Drivers` → `Graphics support` → `Framebuffer Devices` → `Support for small TFT LCD display modules`

2. **SPI 支持**:
   - `Device Drivers` → `SPI support` → `User mode SPI device driver support`
   - `Device Drivers` → `SPI support` → `SPI bus master support`

3. **ST7735S 驱动**:
   - `Device Drivers` → `Graphics support` → `Framebuffer Devices` → `Support for small TFT LCD display modules`
   - 在这里选择 ST7735S 驱动。如果找不到,可以通过以下方式启用:
     ```bash
     Device Drivers → Graphics support → Support for small TFT LCD display modules → 
     Enable support for ST7735 panel
     ```

### 4. **配置设备树覆盖 (Device Tree Overlay)**
树莓派使用设备树配置硬件。你需要创建或修改设备树覆盖文件,以便配置 SPI 接口和 ST7735S 显示屏。

创建一个自定义的设备树覆盖文件 `st7735s-overlay.dts`,配置 SPI 和显示屏:

```dts
/dts-v1/;
/plugin/;

/ {
    compatible = "brcm,bcm2708";

    fragment@0 {
        target = <&spi0>;
        __overlay__ {
            status = "okay";

            spidev@0 {
                compatible = "st7735r";
                reg = <0>;
                spi-max-frequency = <32000000>;
                rotate = <270>;
                bgr = <1>;
                fps = <60>;
                dc-gpios = <&gpio 24 0>;
                reset-gpios = <&gpio 25 0>;
            };
        };
    };
};
```

编译设备树覆盖文件:

```bash
dtc -@ -I dts -O dtb -o st7735s-overlay.dtbo st7735s-overlay.dts
sudo cp st7735s-overlay.dtbo /boot/overlays/
```

### 5. **配置启动参数**
编辑 `/boot/config.txt` 文件,加载设备树覆盖文件并配置控制台输出:

```bash
dtoverlay=st7735s-overlay
```

将控制台输出重定向到显示屏:

```bash
framebuffer_width=160
framebuffer_height=128
enable_uart=1
```

### 6. **编译并安装内核**
编译内核并安装:

```bash
make -j4 zImage modules dtbs
sudo make modules_install
sudo cp arch/arm/boot/dts/*.dtb /boot/
sudo cp arch/arm/boot/dts/overlays/*.dtb* /boot/overlays/
sudo cp arch/arm/boot/dts/overlays/README /boot/overlays/
sudo cp arch/arm/boot/zImage /boot/kernel7.img
```

### 7. **测试配置**
重启树莓派并查看 ST7735S 显示屏是否正确显示启动信息:

```bash
sudo reboot
```

如果配置正确,启动信息将显示在 ST7735S 显示屏上,并且可以通过显示屏进行 shell 交互。


http://www.kler.cn/a/292384.html

相关文章:

  • C语言——插入排序
  • 文本匹配任务(下)
  • 红队攻防 | 利用GitLab nday实现帐户接管
  • 【2024数模国赛题目解析丨免费分享】
  • CompleteableFuture异步编程框架
  • [linux基础知识]创建新用户并使用该用户
  • 【2024数学建模国赛赛题解析已出】原创免费分享
  • 神经网络中激活函数介绍、优缺点分析
  • 何为图像处理,有哪些处理方法
  • AGV行业遇冷,叉车AGV逆风崛起:180家企业掀起血战
  • linux中vim常用命令大全详细讲解
  • 几乎每一位面试官都会关注的能力,你做到了吗?
  • Linux 磁盘管理-终于把fdisk命令创建分区挂讲明白了
  • 优化芋道后台菜单管理卡顿问题element-plus版本
  • WPS Office for Linux 12 个人版上线deepin 23商店:UI 视觉重构,新增多项 AI 功能
  • Kafka如何保证消息不丢失?
  • win11环境android studio中AVD目录修改问题解决
  • 青岛实训 8月21号 day33
  • Type-C接口上的DisplayPort
  • 【直播原理大揭秘】世预赛18强国足直播瞬时流量过大,爱奇艺为此道歉