honeylab's blog

各種ハードウェアの改造、主にファミコンミニなどをやってます(ました)

ニンテンドークラシックミニにSDかーどをつなぐ

honeylab.hatenablog.jp

追加パッドが判明したので、SDカードをつなげられそうということがわかり頑張っていましたが、成果を焦るばかりにパッドをぶっ壊してしまうということが起きた後、
導電性接着剤を購入し、わずかに残っていたビアに盛ってやることで復活させることができました。

www.amazon.co.jp

ざっくりと写真です。

ぶっ壊した写真

f:id:honeylab:20161205133511p:plain

マスキング

f:id:honeylab:20161205133556p:plain

配線をくっつけた後

f:id:honeylab:20161205133645p:plain

レビューにあるように、粘性が低いのできっちりマスキングしないと結構漏れてしまうようです。
まぁ今回はこれで間に合ったのでこれ以上触らないことにします。


さて、今回の教訓を生かして、必要なパッドはいったん中継してから引き出すことにします。

f:id:honeylab:20161205133815p:plain

 

ここで、実はRXDとTXD(UART0)とPF2/PF4は同一のピンであることが判明しました。
つまり、普通のブートローダを使いながら、SDカードを使おうとすると競合して使えなくなってしまうということのようです。

なんと、AllwinnerのSoCはいつもこういう仕様のようで、

MicroSD Breakout - linux-sunxi.org

こんなへんちくりんな変換基盤を使うとMicroSD端子からUARTが出ますよ、ということらしい。
普通のユーザはせいぜいSDからのファームアップデートぐらいだし、べつにUARTなんかいらないでしょ、っていうことか。うんこ!。

 

で、途方に暮れていたものの、まだあきらめられるか、といろいろさがしていた結果
PB0/PB1であり、UART2のTX/RXになるパッドを発見しました!!!!!!

これで、u-bootやカーネルの標準出力をUART2にすることさえできればコンソールを使いつつ、SDカードを使うことができるはずです!

 

と、そこで、こいつに使われているR16のデータシートが見つからないので、近いはずのA33を見ると、FLASHブートローダの前に、必ずSDカードを読みますよ、ということが書いてありました。
これは物の試しに、とSDカードをつないでロジアナで覗いてみます。

 

f:id:honeylab:20161205134522p:plain

なんと!MMCモードに入る前のSPIモードでのイニシャライズが始まってるではないか!ktkr!!!

というわけで、UART2 + SDカードでこいつを単体起動させることを目標に、いろいろやっていきます。

最新情報は twitter で。

twitter.com

っていうか!こんだけ書いてたら!Linuxとか詳しい人は!
もうとっくにいろいろできちゃうんじゃないですかね!

 

Linuxむずかしい。

っていうか、まぁただの組み込みCPUにつながってる何か、だとやっと体になじんできたのでどうにかなるかな。
写真に写ってるSDカードの基板は、8年ぐらい前にトラ技のLPC2388基板とVS1011をつないで、アナログカメラにバーコードを読ませると音声をしゃべる機械を作る、という謎の機械を作った時の残りの部品です。