PIFW
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
* PIFWの開発設計メモ [#yc9ad9ac]
このページは筆者の開発メモであり、一般公開している情報で...
各種問い合わせ等には対応できませんのでご了承ください。
** 仕様 [#bbdd07b5]
- 入出力端子
-- LINE-OUT(TSフォンx2)
-- LINE-IN(TSフォンx2 または TRSフォンx1)
-- HEADPHONE-OUT(TRSフォンx1)
-- MIDI-IN
-- MIDI-OUT
-- DC 5Vまたは12V(ACアダプタ入力) ◆T.B.D
- 操作系
-- LINE-IN LEVEL
-- LINE-OUT LEVEL
-- HEADPHONE-OUT LEVEL(LINE-OUT連動でも可)
-- プッシュスイッチ(L/R/U/Dの最大4個)
-- ロータリーエンコーダ(VALUE)
-- タッチパネル
- 表示系
-- 5インチLCD(800x480 HDMI接続)または3.5インチLCD(480x320...
** raspbian イメージ [#j9a623a2]
https://www.raspberrypi.org/downloads/raspbian/
ここから、「RASPBIAN JESSIE WITH PIXEL」のZIPを取得する。~
ZIP解凍後SDカードにddする。~
LITEから最小限必要なモジュールを組み込んだイメージができ...
** WaveShare互換 3.5インチ TOUCH LCD [#i5177b97]
WaveShareの製品が何もせずそのまま使える。(標準でドライバ...
公式からLCD-Showをダウンロードしてtar展開。
http://www.waveshare.com/wiki/3.5inch_RPi_LCD_(A)
$ tar xvf LCD-show-*.tar.gz
$ cd LCD-show/
$ chmod +x LCD35-show
$ ./LCD35-show
これをやると/boot/config.txtを上書きするので、その他の設...
したがって、LCDの設定関係は最初にやるべき。
*** LCDの上下反転方法 [#ve12ba42]
/boot/config.txt
dtoverlay=waveshare35a
これを
dtoverlay=waveshare35a:rotate=270
に、変更すると上下反転する。
続いてタッチパネルのキャリブレーションを行う。
次のコマンドを実行しても同じ(ただし、config.txtが上書き...
$ cd LCD-show/
$ ./LCD35-show 180
** OSOYOの3.5インチ [#wad6dbe6]
OSOYOは専用カーネルが必要でドライバは非公開。(OS Update...
** 5インチ MDMI タッチLCD [#bec53b11]
HDMI 5インチHDMIに出力するための設定
$ cd LCD-show
$ ./LCD5-show
/boot/config.txtに次の1行を追記して上下反転させる
display_rotate=2
今まで設定してあったAudio等の設定はすべて消えるので、conf...
** タッチパネルのキャリブレーション [#k681b465]
$ sudo apt-get install -y xinput-calibrator
$ DISPLAY=:0.0 xinput_calibrator
コンソールに表示されたメッセージをメモっておく
$ sudo vi /usr/share/X11/xorg.conf.d/99-calibration.conf
設定ファイルを開いて、Calibrationの所の4つの数字を書き換...
Section "InputClass"
Identifier "calibration"
MatchProduct "ADS7846 Touchscreen"
Option "Calibration" "3952 219 184 3911"
Option "SwapAxes" "1"
EndSection
** WiFiかLANでInternetにつなぐ [#f23b16ac]
** OSアップデート [#zd20370d]
$ sudo apt-get update
$ sudo apt-get upgrade
** モジュールインストール [#x54375bd]
$ sudo apt-get install freeglut3-dev g++ libasound2-dev ...
JUCE5対応
$ sudo apt-get install webkit2gtk-4.0-dev
** pifwインストール [#m007cf70]
$ chmod 755 pifw
$ chmod 755 sw_pifw.py
$ sudo cp pifw /usr/local/bin/
$ sudo cp sw_pifw.py /usr/local/bin/
.xsessionに「/usr/local/bin/pifw」を記述
** 画面スリープの抑止 [#be2b6eca]
.xinitrcを用意して以下の内容を書き込む~
xset s off
xset -dpms
xset s noblank
/etc/lightdm/lightdm.confを以下のように編集する~
< xserver-command=X
---
> xserver-command=X -s 0 -dpms
編集したらlightdmを再起動する~
sudo /etc/init.d/lightdm restart
.config/autostart/screensaver.desktopを作成し、以下の内容...
[Desktop Entry]
Type=Application
Exec=/home/pi/.xinitrc
** クロック固定(1200MHz化) [#h1aa2ad2]
cpu freq utlをインストール
$ sudo apt install cpufrequtils
設定する
$ sudo cpufreq-set -g performance
/boot/config.txtを編集(行追加)
arm_freq=1200
/etc/init.d/cpufrequtilsを修正(オンデマンドではなく固定...
ENABLE="true"
#GOVERNOR="ondemand"
GOVERNOR="performance"
MAX_SPEED="0"
MIN_SPEED="0"
再起動して確認する
$ sudo reboot
$ cpufreq-info
600MHzが0%、1200MHzが100%になっていれば固定化できている
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_f...
CPU温度の確認
$ vcgencmd measure_temp
** I2S Audio Interfece [#f5c55f31]
WM8731を使用する。~
オーディオはI2S、制御はI2Cで行っている。
- I/Oリスト
-- LINE-IN
-- MIC-IN(使わない)
-- LINE-OUT
-- HP-OUT
- ドライバの話~
https://www.raspberrypi.org/forums/viewtopic.php?f=44&t=1...
- ボード~
http://www.dm9records.com/index.php/release/sound/piaif/~
MCK=12.288MHzでFs=44.1KHzは使用できない(信号処理の精度は...
http://audioinjector.net/~
MCK=12.000MHzですべてのFsが使用できる(信号処理の精度は劣...
- ドライバの有効化
config.txtを編集
dtparam=i2c_arm=on
dtparam=i2s=on
dtoverlay=i2s-mmap
dtoverlay=rpi-proto ←使用するAIFに合わせる必要がある(...
設定した最初の1回目は起動直後にエラーがでて進まなくなる。~
強制OFFして起動しなおせばOK。
内蔵AUDIOのほうは止めておいたほうが良いかもしれない。
- セットアップ
-- Settings - OUTPUT → snd_rpi_proto : Direct hardware de...
-- Settings - INPUT → snd_rpi_proto : Direct hardware dev...
-- コンソールでalsamixerを操作する必要がある(やらないと...
--- F6で対象デバイスリストを開いてsnd_rpi_protoを選択する
--- F5でALLを選択する
--- Masterを「↑」「↓」キーで増減させて0dBに設定する
--- Lineまで移動して、「;」キーでLのOn/Off、「’」キーでR...
L Rの表示が出るようにしておく。これでLINE-INが有効
--- Captureまで移動して、「↑」「↓」キーで増減させて0dBに...
--- Input Muxまで移動して、「↑」「↓」キーでLine Inに設定...
--- Output Mixer HiFiまで移動して、「M」を押してミュート...
#ref(alsamixer.PNG,left);
Master : 79/79 0.00dB/0.00dB~
Master Plauback: MM~
Sidetone: 0~
Line: L R/Capture~
Mic: --~
Mic Boost: 0~
Mic Boost: 0~
Playback Deem: MM~
Capture: 75/75 6.00dB/6.00dB(GAIN調整品)~
ADC Hich Pass: 00~
Input Mux: Line In~
Output Mixer HiFi: 00~
Output Mixer Line Bypass: MM~
Output Mixer MIC Sidetone: MM~
Store DC Offset: MM~
-メモ
-- PiAIF基板は全ジャックの配線がL/Rテレンコになってる(→...
-- BUFFERは32 samples (0.7ms)が良い。16ではわずかにチリ...
-- OUTに周期的なパルス性ノイズが漏洩している(→本番ではフ...
-- 3.3V LDOが納期遅延して入手できていないため、β1は3.3V_A...
*** ドライバ [#j91a9173]
- rpi-proto~
/boot/config.txtに「dtoverlay=rpi-proto」を追記する。~
AIFのクロックは12.288MHz。Fs=44.1KHzは使えない。~
BUGがあってFs=48K以外は動かない。~
Fs=48kのみで使用するならクロックの関係で音は良いはず。
- audioinjector-wm8731-audio~
/boot/config.txtに「dtoverlay=audioinjector-wm8731-audio...
AIFのクロックは12.000MHz。すべてのFsが使用できる。~
すべてのFsが使えるがクロックの関係で音質は多少劣るはず。
** スイッチボード [#qba5afb4]
#ref(sw_board.png,left);
** AIFボード MIDI用拡張ポート(β1のみ) [#o41ad1c0]
#ref(EXP_CN_MIDI.png);
** MIDI [#jbb78f4d]
UARTにMIDIを通すには、UARTクロックを変更する必要がある。~
https://openenergymonitor.org/forum-archive/node/12412.html
*** GPIO UARTクロックを変更し、Bluetoothを無効にする [#o6...
Bluetoothを無効にする
$ sudo systemctl disable hciuart
$ sudo nano /lib/systemd/system/hciuart.service
change the first ttyAMA0 in ttyS0
/boot/cmdline.txt から、次の文字列を削除する(デフォルト...
console=serial0,115200
/boot/config.txt に、次の文字列を追加する
dtoverlay=pi3-miniuart-bt
init_uart_clock=39062500
init_uart_baud=38400
dtparam=uart0_clkrate=48000000
再起動
$ sudo reboot
*** ALSAにMIDIデバイスとして見えるようにする [#gbb64b54]
https://github.com/cjbarnes18/ttymidi
*** UART-MIDI I/F [#cb464dd9]
#ref(MIDI-UART.png);
フォトカプラは高速品が好ましいが汎用品でも問題ない。~
トランジスタも汎用品(2SC1815等)でも問題ない。~
回路図の型番は表面実装用のチップ。
** GPIO [#p16a80fc]
|RIGHT: |CENTER: |CENTER: |...
|SIGNAL |PIN(内) |PIN(外) |SIGNAL |
|3.3V |1 |2 |5V |
|GPIO-2(I2C SDA) |3 |4 |5V |
|GPIO-3(I2C SCL) |5 |6 |GND |
|GPIO-4(空き) |7 |8 |GPIO-14(UART TXD) |
|GND |9 |10 |GPIO-15(UART RXD) |
|GPIO-17(TP IRQ) |11 |12 |GPIO-18(I2S BCK) |
|GPIO-27(空き) |13 |14 |GND |
|GPIO-22(空き) |15 |16 |GPIO-23(空き) |
|3.3V |17 |18 |GPIO-24(LCD RS) |
|GPIO-10(SPI MOSI) |19 |20 |GND |
|GPIO-9(SPI MISO) |21 |22 |GPIO-25(空き) |
|GPIO-11(SPI SCK) |23 |24 |GPIO-8(LCD CS) |
|GND |25 |26 |GPIO-7(TP CS) |
|ID-SD |27 |28 |ID-SC |
|GPIO-5(ENC-B) |29 |30 |GND |
|GPIO-6(ENC-A) |31 |32 |GPIO-12(LEFT) |
|GPIO-13(DOWN) |33 |34 |GND |
|GPIO-19(I2S LRCK) |35 |36 |GPIO-16(RIGHT) |
|GPIO-26(UP) |37 |38 |GPIO-20(I2S DIN) |
|GND |39 |40 |GPIO-21(I2S DOUT) |
LCDとTPは共用でSPIを使っていて、CSで切り替えている。~
TPは割り込み(IRQ)で取り込む。~
AUDIOはI2Sで接続。~
AD/DAチップの制御はI2Cで行っている(レジスタ設定時のみ)。
UARTはMIDIに使用予定。
その他の空きGPIOはスイッチ類に使用予定。~
現在はプッシュスイッチ2個とロータリーエンコーダーのみ。
** ストレージのサイズ変更(縮小) [#m6b50878]
以下は別PC(Linux専用機)のFedoraでの作業
概要:
第2パーティションの使用量は2GB弱。~
目標パーティションサイズを2.3GBとする。(少し余裕を残さな...
resize2fsで縮小するサイズは2.2GBとする。
e2sck -f /dev/sdd2
チェックする(必須)
resize2fs -p /dev/sdd2 2200M
目標パーティションサイズより少し少なくする
指定サイズが小さすぎて縮小が無理だとエラーがでる
fdisk /dev/sdd
dコマンドで第2パーティションを削除する
pコマンドで状態を確認する
nコマンドで新しいパーティションを作る(開始シリンダに注...
pコマンドで状態を確認する
wコマンドで書き込む
** ストレージのサイズ変更(最大に拡張) [#da6b2f05]
e2fsck -f /dev/sdd2
チェックする(必須)
fdisk /dev/sdd
dコマンドで第2パーティションを削除する
pコマンドで状態を確認する
nコマンドで新しいパーティションを作る(開始シリンダに注...
pコマンドで状態を確認する
wコマンドで書き込む
resize2fs -p /dev/sdd2
サイズ指定をしなければ、パーティションサイズまで自動で拡...
** SDカードからイメージを作成 [#m230823c]
SDカードに作成した状態から、最小限のサイズだけイメージ化...
例えば、8GBのカードに最小構成を作成して上記パーティション...
これをそのままddやWin32DiskImageでイメージ化すると、8GBカ...
- ストレージのサイズ変更(縮小)の作業を行って、パーティ...
- 別のLinux機にカードを接続する(ここでは/dev/sddに乗った...
- 自動マウントされた場合はアンマウントする
- fdisk /dev/sdd でパーティションの最終セクタを確認する
# fdisk /dev/sdd
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to ...
Be careful before using the write command.
Command (m for help): p
Disk /dev/sdd: 7948 MB, 7948206080 bytes, 15523840 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xf8e23f7b
Device Boot Start End Blocks Id ...
/dev/sdd1 8192 92159 41984 c ...
/dev/sdd2 92160 4140072 2023956+ 83 ...
Command (m for help): q
- 最終セクタは4140072と分かった。これに1足して4140073とす...
- 次に、dd コマンドでファイル化する
dd if=/dev/sdd of=raspbian_pifw.img bs=512 count=4140073
こうしてやれば、出来上がったイメージを4GBのカードに展開す...
** IPアドレスを調べるスクリプト [#u565f8bd]
#!/bin/sh
/sbin/ifconfig -a |
grep "inet addr" |
grep -v "127." |
sed -E 's/[\t ]+inet //g' |
sed -e 's/ Bcast/\nBcast/g' |
sed -e 's/ Mask/\nMask/g'
sleep 10
終了行:
* PIFWの開発設計メモ [#yc9ad9ac]
このページは筆者の開発メモであり、一般公開している情報で...
各種問い合わせ等には対応できませんのでご了承ください。
** 仕様 [#bbdd07b5]
- 入出力端子
-- LINE-OUT(TSフォンx2)
-- LINE-IN(TSフォンx2 または TRSフォンx1)
-- HEADPHONE-OUT(TRSフォンx1)
-- MIDI-IN
-- MIDI-OUT
-- DC 5Vまたは12V(ACアダプタ入力) ◆T.B.D
- 操作系
-- LINE-IN LEVEL
-- LINE-OUT LEVEL
-- HEADPHONE-OUT LEVEL(LINE-OUT連動でも可)
-- プッシュスイッチ(L/R/U/Dの最大4個)
-- ロータリーエンコーダ(VALUE)
-- タッチパネル
- 表示系
-- 5インチLCD(800x480 HDMI接続)または3.5インチLCD(480x320...
** raspbian イメージ [#j9a623a2]
https://www.raspberrypi.org/downloads/raspbian/
ここから、「RASPBIAN JESSIE WITH PIXEL」のZIPを取得する。~
ZIP解凍後SDカードにddする。~
LITEから最小限必要なモジュールを組み込んだイメージができ...
** WaveShare互換 3.5インチ TOUCH LCD [#i5177b97]
WaveShareの製品が何もせずそのまま使える。(標準でドライバ...
公式からLCD-Showをダウンロードしてtar展開。
http://www.waveshare.com/wiki/3.5inch_RPi_LCD_(A)
$ tar xvf LCD-show-*.tar.gz
$ cd LCD-show/
$ chmod +x LCD35-show
$ ./LCD35-show
これをやると/boot/config.txtを上書きするので、その他の設...
したがって、LCDの設定関係は最初にやるべき。
*** LCDの上下反転方法 [#ve12ba42]
/boot/config.txt
dtoverlay=waveshare35a
これを
dtoverlay=waveshare35a:rotate=270
に、変更すると上下反転する。
続いてタッチパネルのキャリブレーションを行う。
次のコマンドを実行しても同じ(ただし、config.txtが上書き...
$ cd LCD-show/
$ ./LCD35-show 180
** OSOYOの3.5インチ [#wad6dbe6]
OSOYOは専用カーネルが必要でドライバは非公開。(OS Update...
** 5インチ MDMI タッチLCD [#bec53b11]
HDMI 5インチHDMIに出力するための設定
$ cd LCD-show
$ ./LCD5-show
/boot/config.txtに次の1行を追記して上下反転させる
display_rotate=2
今まで設定してあったAudio等の設定はすべて消えるので、conf...
** タッチパネルのキャリブレーション [#k681b465]
$ sudo apt-get install -y xinput-calibrator
$ DISPLAY=:0.0 xinput_calibrator
コンソールに表示されたメッセージをメモっておく
$ sudo vi /usr/share/X11/xorg.conf.d/99-calibration.conf
設定ファイルを開いて、Calibrationの所の4つの数字を書き換...
Section "InputClass"
Identifier "calibration"
MatchProduct "ADS7846 Touchscreen"
Option "Calibration" "3952 219 184 3911"
Option "SwapAxes" "1"
EndSection
** WiFiかLANでInternetにつなぐ [#f23b16ac]
** OSアップデート [#zd20370d]
$ sudo apt-get update
$ sudo apt-get upgrade
** モジュールインストール [#x54375bd]
$ sudo apt-get install freeglut3-dev g++ libasound2-dev ...
JUCE5対応
$ sudo apt-get install webkit2gtk-4.0-dev
** pifwインストール [#m007cf70]
$ chmod 755 pifw
$ chmod 755 sw_pifw.py
$ sudo cp pifw /usr/local/bin/
$ sudo cp sw_pifw.py /usr/local/bin/
.xsessionに「/usr/local/bin/pifw」を記述
** 画面スリープの抑止 [#be2b6eca]
.xinitrcを用意して以下の内容を書き込む~
xset s off
xset -dpms
xset s noblank
/etc/lightdm/lightdm.confを以下のように編集する~
< xserver-command=X
---
> xserver-command=X -s 0 -dpms
編集したらlightdmを再起動する~
sudo /etc/init.d/lightdm restart
.config/autostart/screensaver.desktopを作成し、以下の内容...
[Desktop Entry]
Type=Application
Exec=/home/pi/.xinitrc
** クロック固定(1200MHz化) [#h1aa2ad2]
cpu freq utlをインストール
$ sudo apt install cpufrequtils
設定する
$ sudo cpufreq-set -g performance
/boot/config.txtを編集(行追加)
arm_freq=1200
/etc/init.d/cpufrequtilsを修正(オンデマンドではなく固定...
ENABLE="true"
#GOVERNOR="ondemand"
GOVERNOR="performance"
MAX_SPEED="0"
MIN_SPEED="0"
再起動して確認する
$ sudo reboot
$ cpufreq-info
600MHzが0%、1200MHzが100%になっていれば固定化できている
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_f...
CPU温度の確認
$ vcgencmd measure_temp
** I2S Audio Interfece [#f5c55f31]
WM8731を使用する。~
オーディオはI2S、制御はI2Cで行っている。
- I/Oリスト
-- LINE-IN
-- MIC-IN(使わない)
-- LINE-OUT
-- HP-OUT
- ドライバの話~
https://www.raspberrypi.org/forums/viewtopic.php?f=44&t=1...
- ボード~
http://www.dm9records.com/index.php/release/sound/piaif/~
MCK=12.288MHzでFs=44.1KHzは使用できない(信号処理の精度は...
http://audioinjector.net/~
MCK=12.000MHzですべてのFsが使用できる(信号処理の精度は劣...
- ドライバの有効化
config.txtを編集
dtparam=i2c_arm=on
dtparam=i2s=on
dtoverlay=i2s-mmap
dtoverlay=rpi-proto ←使用するAIFに合わせる必要がある(...
設定した最初の1回目は起動直後にエラーがでて進まなくなる。~
強制OFFして起動しなおせばOK。
内蔵AUDIOのほうは止めておいたほうが良いかもしれない。
- セットアップ
-- Settings - OUTPUT → snd_rpi_proto : Direct hardware de...
-- Settings - INPUT → snd_rpi_proto : Direct hardware dev...
-- コンソールでalsamixerを操作する必要がある(やらないと...
--- F6で対象デバイスリストを開いてsnd_rpi_protoを選択する
--- F5でALLを選択する
--- Masterを「↑」「↓」キーで増減させて0dBに設定する
--- Lineまで移動して、「;」キーでLのOn/Off、「’」キーでR...
L Rの表示が出るようにしておく。これでLINE-INが有効
--- Captureまで移動して、「↑」「↓」キーで増減させて0dBに...
--- Input Muxまで移動して、「↑」「↓」キーでLine Inに設定...
--- Output Mixer HiFiまで移動して、「M」を押してミュート...
#ref(alsamixer.PNG,left);
Master : 79/79 0.00dB/0.00dB~
Master Plauback: MM~
Sidetone: 0~
Line: L R/Capture~
Mic: --~
Mic Boost: 0~
Mic Boost: 0~
Playback Deem: MM~
Capture: 75/75 6.00dB/6.00dB(GAIN調整品)~
ADC Hich Pass: 00~
Input Mux: Line In~
Output Mixer HiFi: 00~
Output Mixer Line Bypass: MM~
Output Mixer MIC Sidetone: MM~
Store DC Offset: MM~
-メモ
-- PiAIF基板は全ジャックの配線がL/Rテレンコになってる(→...
-- BUFFERは32 samples (0.7ms)が良い。16ではわずかにチリ...
-- OUTに周期的なパルス性ノイズが漏洩している(→本番ではフ...
-- 3.3V LDOが納期遅延して入手できていないため、β1は3.3V_A...
*** ドライバ [#j91a9173]
- rpi-proto~
/boot/config.txtに「dtoverlay=rpi-proto」を追記する。~
AIFのクロックは12.288MHz。Fs=44.1KHzは使えない。~
BUGがあってFs=48K以外は動かない。~
Fs=48kのみで使用するならクロックの関係で音は良いはず。
- audioinjector-wm8731-audio~
/boot/config.txtに「dtoverlay=audioinjector-wm8731-audio...
AIFのクロックは12.000MHz。すべてのFsが使用できる。~
すべてのFsが使えるがクロックの関係で音質は多少劣るはず。
** スイッチボード [#qba5afb4]
#ref(sw_board.png,left);
** AIFボード MIDI用拡張ポート(β1のみ) [#o41ad1c0]
#ref(EXP_CN_MIDI.png);
** MIDI [#jbb78f4d]
UARTにMIDIを通すには、UARTクロックを変更する必要がある。~
https://openenergymonitor.org/forum-archive/node/12412.html
*** GPIO UARTクロックを変更し、Bluetoothを無効にする [#o6...
Bluetoothを無効にする
$ sudo systemctl disable hciuart
$ sudo nano /lib/systemd/system/hciuart.service
change the first ttyAMA0 in ttyS0
/boot/cmdline.txt から、次の文字列を削除する(デフォルト...
console=serial0,115200
/boot/config.txt に、次の文字列を追加する
dtoverlay=pi3-miniuart-bt
init_uart_clock=39062500
init_uart_baud=38400
dtparam=uart0_clkrate=48000000
再起動
$ sudo reboot
*** ALSAにMIDIデバイスとして見えるようにする [#gbb64b54]
https://github.com/cjbarnes18/ttymidi
*** UART-MIDI I/F [#cb464dd9]
#ref(MIDI-UART.png);
フォトカプラは高速品が好ましいが汎用品でも問題ない。~
トランジスタも汎用品(2SC1815等)でも問題ない。~
回路図の型番は表面実装用のチップ。
** GPIO [#p16a80fc]
|RIGHT: |CENTER: |CENTER: |...
|SIGNAL |PIN(内) |PIN(外) |SIGNAL |
|3.3V |1 |2 |5V |
|GPIO-2(I2C SDA) |3 |4 |5V |
|GPIO-3(I2C SCL) |5 |6 |GND |
|GPIO-4(空き) |7 |8 |GPIO-14(UART TXD) |
|GND |9 |10 |GPIO-15(UART RXD) |
|GPIO-17(TP IRQ) |11 |12 |GPIO-18(I2S BCK) |
|GPIO-27(空き) |13 |14 |GND |
|GPIO-22(空き) |15 |16 |GPIO-23(空き) |
|3.3V |17 |18 |GPIO-24(LCD RS) |
|GPIO-10(SPI MOSI) |19 |20 |GND |
|GPIO-9(SPI MISO) |21 |22 |GPIO-25(空き) |
|GPIO-11(SPI SCK) |23 |24 |GPIO-8(LCD CS) |
|GND |25 |26 |GPIO-7(TP CS) |
|ID-SD |27 |28 |ID-SC |
|GPIO-5(ENC-B) |29 |30 |GND |
|GPIO-6(ENC-A) |31 |32 |GPIO-12(LEFT) |
|GPIO-13(DOWN) |33 |34 |GND |
|GPIO-19(I2S LRCK) |35 |36 |GPIO-16(RIGHT) |
|GPIO-26(UP) |37 |38 |GPIO-20(I2S DIN) |
|GND |39 |40 |GPIO-21(I2S DOUT) |
LCDとTPは共用でSPIを使っていて、CSで切り替えている。~
TPは割り込み(IRQ)で取り込む。~
AUDIOはI2Sで接続。~
AD/DAチップの制御はI2Cで行っている(レジスタ設定時のみ)。
UARTはMIDIに使用予定。
その他の空きGPIOはスイッチ類に使用予定。~
現在はプッシュスイッチ2個とロータリーエンコーダーのみ。
** ストレージのサイズ変更(縮小) [#m6b50878]
以下は別PC(Linux専用機)のFedoraでの作業
概要:
第2パーティションの使用量は2GB弱。~
目標パーティションサイズを2.3GBとする。(少し余裕を残さな...
resize2fsで縮小するサイズは2.2GBとする。
e2sck -f /dev/sdd2
チェックする(必須)
resize2fs -p /dev/sdd2 2200M
目標パーティションサイズより少し少なくする
指定サイズが小さすぎて縮小が無理だとエラーがでる
fdisk /dev/sdd
dコマンドで第2パーティションを削除する
pコマンドで状態を確認する
nコマンドで新しいパーティションを作る(開始シリンダに注...
pコマンドで状態を確認する
wコマンドで書き込む
** ストレージのサイズ変更(最大に拡張) [#da6b2f05]
e2fsck -f /dev/sdd2
チェックする(必須)
fdisk /dev/sdd
dコマンドで第2パーティションを削除する
pコマンドで状態を確認する
nコマンドで新しいパーティションを作る(開始シリンダに注...
pコマンドで状態を確認する
wコマンドで書き込む
resize2fs -p /dev/sdd2
サイズ指定をしなければ、パーティションサイズまで自動で拡...
** SDカードからイメージを作成 [#m230823c]
SDカードに作成した状態から、最小限のサイズだけイメージ化...
例えば、8GBのカードに最小構成を作成して上記パーティション...
これをそのままddやWin32DiskImageでイメージ化すると、8GBカ...
- ストレージのサイズ変更(縮小)の作業を行って、パーティ...
- 別のLinux機にカードを接続する(ここでは/dev/sddに乗った...
- 自動マウントされた場合はアンマウントする
- fdisk /dev/sdd でパーティションの最終セクタを確認する
# fdisk /dev/sdd
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to ...
Be careful before using the write command.
Command (m for help): p
Disk /dev/sdd: 7948 MB, 7948206080 bytes, 15523840 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xf8e23f7b
Device Boot Start End Blocks Id ...
/dev/sdd1 8192 92159 41984 c ...
/dev/sdd2 92160 4140072 2023956+ 83 ...
Command (m for help): q
- 最終セクタは4140072と分かった。これに1足して4140073とす...
- 次に、dd コマンドでファイル化する
dd if=/dev/sdd of=raspbian_pifw.img bs=512 count=4140073
こうしてやれば、出来上がったイメージを4GBのカードに展開す...
** IPアドレスを調べるスクリプト [#u565f8bd]
#!/bin/sh
/sbin/ifconfig -a |
grep "inet addr" |
grep -v "127." |
sed -E 's/[\t ]+inet //g' |
sed -e 's/ Bcast/\nBcast/g' |
sed -e 's/ Mask/\nMask/g'
sleep 10
ページ名: