系统必须官方github上的ubuntu或debian别的压根没有spi设备树插件没法用,懂?
好,现在跟着我烧录这个ubuntu系统就好了
20220701-0214版本的就行
20220701-0214
为什么不用官方推荐的最新20220801-0213版本?
你可以试试,必定莫名奇妙死机,非睡眠省电问题,无法解决。。。
。。。。。。
烧录完成后连上去可以用uart或者adb都行
输入命令
git clone https://github.com/mrkprdo/radxa-zero-lcd-driver-installer.git
把这个源代码下回来
修改这个文件:meson-g12a-spi-st7789v.dts 为如下这样
/dts-v1/;
/plugin/;
/ {
compatible = “radxa,zero”, “amlogic,g12a”;
fragment@0 {
target = <&spicc1>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
pinctrl-0 = <&spicc1_pins &spicc1_ss0_pins>;
pinctrl-names = "default";
st7789v@0 {
compatible = "sitronix,st7789v";
status = "okay";
reg = <0>;
spi-max-frequency = <10000000>;
width = <240>;
height = <320>;
buswidth = <8>;
fps = <60>;
rotate = <180>;
debug = <1>;
// configure pin assigment below
reset-gpios = <0x30 75 0>; // pin 16
dc-gpios = <0x30 74 0>; // pin 12 | AO pin
};
};
};
};
然后按照README上的说明走就完成了
接线:
VCC - PIN 4 5v or PIN 1 3.3v
GND - PIN 6
DC/AO - PIN 12
MOSI/SDA - PIN 19
SCLK - PIN 23
SS0/CS - PIN 24
RESET - PIN 16
LED - PIN 17
,如果屏幕还是无法点亮可以尝试如下:
1.看看接线是否正确
2.reset-gpios = <0x30 75 0>; // pin 16 把这行的最后一个0变成1重新编译dts看看
3.把dts里的那个0x30都改成0x2b重新编译dts看看
如果想修改屏幕显示分辨率就改dts里的这俩:
width = <240>;
height = <320>;
额,还有很多细节可以看下面的链接文章:
mrkprdo/radxa-zero-lcd-driver-installer: Just a simple script that compiles and loads lcd kernel drivers (github.com)
mrkprdo/radxa-zero-spi-display (github.com)
ss/doc/radxa/radxa-zero-spi-led.md at master · HejinYo/ss (github.com)
https://wiki.radxa.com/Zero/hardware/gpio
注意:
整好之后别apt upgrade 更新内核不然都完了!!!!