올해 초 M5Stack은 Kickstarter에서 출시한 작은 CM0 PC를 공개했습니다. 목표 중 하나는 스플래시 화면을 최대한 빨리 표시하는 것이었지만 이를 위해서는 전체 부팅 단계에서 U-Boot를 실행해야 했습니다. Thomas Griffiths가 여름에 우리와 합류했기 때문에 우리는 그가 부팅 순서 초기에 SPI/I2C 디스플레이를 구성하고 몇 초 만에 스플래시 화면을 표시할 수 있는 소프트웨어 확장 작업을 수행하는 것이 좋은 아이디어라고 생각했습니다.

수많은 다채로운 Raspberry Pi 창작물에 영감을 주는 Cyberdeck의 추세와 Cardputer Zero 및 Hackberry Pi와 같은 새로운 휴대용 장치의 출시로 인해 메인 Raspberry Pi 디스플레이로 사용되는 소형 SPI 및 I2C 디스플레이가 증가했습니다. 부팅을 돕기 위해 우리는 부트로더의 약간의 언어와 인터프리터를 사용하여 이러한 장치에 사용자 정의 스플래시 화면을 추가하는 방법을 개발했습니다.
작은 언어
나는 Noralf Tronnes에게서 영감을 받았습니다. mipi-dbi 언어 사용되는 디스플레이의 대부분은 궁극적으로 Linux 드라이버에 의해 구현되기 때문에 언어의 대부분의 디자인과 구문에 대해 설명합니다. 나는 또한 약간의 자유로움을 갖고 더 많은 기능을 추가하고 일부 아키텍처를 변경했습니다.

스플래시 언어는 I2C도 지원하고 이미지를 바이너리로 정적으로 컴파일하지만 구성 코드의 대부분은 궁극적으로 mipi-dbi와 호환됩니다. 그냥 덤프이기 때문에 시작 시 화면에 표시되는 이미지로 빠져나갈 수 있습니다.

다음 코드는 7세그먼트 디스플레이에 ‘HELLO’를 표시하는 약간 독창적인 예를 제공합니다.
# Set the output that we are using
define mled spi [copi 10] [cipo 9] [sclk 11] [cs 8] [freq 1000000]
# Setup the screen and set the brightness
mled 0x0c 0x00
mled 0x09 0x00
mled 0x0b 0x07
mled 0x0a 0x08
mled 0x0f 0x00
# Set each charecter register - shows HELLO
mled 0x01 0x00
mled 0x02 0x00
mled 0x03 0x7e
mled 0x04 0x0e
mled 0x05 0x0e
mled 0x06 0x4f
mled 0x07 0x37
mled 0x08 0x00
# Turn on
mled 0x0c 0x01
SPI를 자유롭게 사용할 수 있다면 다른 프로토콜을 사용할 수도 있습니다…
충전기에 연결하세요
이 기능은 현재 베타 펌웨어 버전입니다. 미들웨어를 사용하려면 sudo raspi-config 고급 설정으로 이동한 다음 베타 액세스로 이동하세요. 다음으로 실행 sudo apt update 그리고 sudo apt full-upgrade. 최신 버전을 유지하려면 OS를 최신 버전으로 플래시하는 것이 좋습니다.
부팅 시 스플래시 화면(또는 기타)을 넣으려면 다음 지침을 따르세요. 소량 폴더 라즈베리 파이/유틸리티최종 바이너리를 부트로더 폴더에 넣고 링크하세요. 구성.txt. 베타 버전이므로 사용하기 위해 문서를 짧게 유지했습니다. 여기.