0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

CM4Stackをなるべくまっさらで作る

Last updated at Posted at 2023-09-12

焼き

まず、下記いづれかの手順に従い、ホストPCの環境を整える

手順通り、BOOTを押しながら起動し、USBケーブルを繋ぎ、rpibootを使ってSDカードとしてマウントする。

SDカードとしてフォーマットしたあと、通常のraspiosを焼き込む。

一度普通に起動する。(ファンが回らない、液晶が動かないなどが起きるが、HDMI接続のモニタで普通に起動するはずである)

ここで配布されているCM4Stack custom imageをダウンロードし、7-zipなどで開く。
イメージ内のイメージを開き0.fatを開いて、以下のファイルを取り出す。

  • /config.txt
  • /overlays/aw88xx.dtbo
  • /overlays/m5stack-cm4.dtbo

※ここからダウンロードできるものと多分同じ: https://github.com/m5stack/m5stack-linux-dtoverlays/tree/main

一度電源を落とし、BOOTを押しながら起動し、USBケーブルを繋ぎ、rpibootを使ってSDカードとしてマウントする。
認識した領域で、上記の取り出しておいたファイルを上書きする。

これで、液晶とタッチパネルが使えるようになる。

音がならない原因

なお、音を鳴らすには、aw882xx_drv.koを用意し、

sudo insmod aw882xx_drv.ko

する必要があるが、イメージに入っているものやgithubにあるものは、カーネルバージョンが一致していないのか読み込まれない。
再ビルドが必要と思われる。

sudo nano /boot/config.txt

し、

arm_64bit=0

を追記して保存。rebootします。

これ対策。

次に、ドライバのビルドをします。

cd ~
git clone https://github.com/m5stack/m5stack-linux-dtoverlays.git
cd ~/m5stack-linux-dtoverlays/modules/aw882xx/src

Makefileを修正

LINUX_DIR=/lib/modules/$(shell uname -r)/build

aw882xx.cを修正

  • /free gpio/ の下4行をコメントアウト
  • int aw882xx_i2c_removeを、void aw882xx_i2c_removeに修正
  • void aw882xx_i2c_remove内のreturn 0;をreturn;に修正
make

で生成される。そのまま

sudo insmod aw882xx_drv.ko

でドライバが読み込まれる。

でも通信ができてないのか、dmesgでエラー吐いてて動かない。
無理やりスキップさせても別に動かない。

ファン

ファンが回らない問題に関しては、GPIOの13を1にすれば回る。

sudo su
echo 13 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio13/direction
echo 1 > /sys/class/gpio/gpio13/value
bash: echo: write error: Device or resource busy

と出て回らないときは、/boot/config.txtの

dtoverlay=gpio-fan,gpiopin=13,temp=60000

を消すかコメントアウトすると回ります。

カーネルのビルド

下記に従う。
途中注意書きに書かれているが、CM4は64bitカーネル32bitユーザーランドになるので、Raspberry Pi上でビルドする場合でも、クロスコンパイル手順を実行する必要がある。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?