IchigoJam 互換機
2023.02.15
YouTube でも紹介しています。画像をクリックすると再生できます。
今回は、Telnet接続のテスト用にIchigoJam互換機を作りました。Telnet に関しては次回の掲載を予定しています。
●開発環境

ノートパソコンから、TeraTermによりラズベリーパイにSSH接続して操作します。
Raspberry Pi 3 model B を使用しています。
$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 10 (buster)
Release: 10
Codename: buster
●lpc21isp のインストール
IchigoJamのファームウェアを書き込むツールとして、lpc21ispをインストールします。
$ wget https://sourceforge.net/projects/lpc21isp /files/lpc21isp/1.97/lpc21isp_197.tar.gz
$ tar -xzvf lpc21isp_197.tar.gz
$ cd lpc21isp_197
$ make
$ sudo cp lpc21isp /usr/local/bin
$ sudo chown root:root /usr/local/bin/lpc21isp
●IchigoJam 1.4.3 のインストール
まずは、旧IchigoJamに使用されていたLPC1114FN28/102への書き込みをお行ってみます。
※現行のIchigoJam Rでは、RISC-V(GD32VF103CBT6)が搭載されています。

LPC1114FN28/102とUSBシリアル変換モジュールとの接続は下記の通りです。
| FT232RL | | LPC1114FN28/102 |
| TXD | - | 15:RXD |
| RXD | - | 16:TXD |
| 3V3 | - | 21:VCC |
| GND | - | 22:GND |
| DTR | - | 23:RESET |
| RTS | - | 24:ISP |
ラズベリーパイに接続しているUSBシリアル変換モジュールのポートを確認します。
$ pio device list
/dev/ttyUSB0
------------
Hardware ID: USB VID:PID=1234 SER=5678 LOCATION=1-1.4
Description: FT232R USB UART - FT232R USB UART
/dev/ttyAMA0
------------
Hardware ID: 9012.serial
Description: ttyAMA0
IchigoJamのファームウェアをダウンロードして解凍します。
$ wget https://ichigojam.net/bin/ichigojam-1.4.3.zip
$ unzip ichigojam-1.4.3.zip
LPC1114へファームウェアを書き込みます。
$ lpc21isp -control -bin ichigojam-jp-ntsc-jpkbd.bin /dev/ttyUSB0 115200 12000
115200:書込みボーレート、12000:MCU動作周波数(kHz)
USB-シリアル変換FT232RLは、DTR→(PIO0_0:RESET)、RTS→(PIO0_1)に接続されているので、
自動リセットしてISPモードへ移行して書き込みが行われます。
lpc21isp version 1.97
File ichigojam-jp-ntsc-jpkbd.bin:
loaded...
image size : 24576
Image size : 24576
Synchronizing (ESC to abort). OK
Read bootcode version: 1
7
Read part ID: LPC1114.../102, 32 kiB FLASH / 4 kiB SRAM (0x1A40902B)
Will start programming at Sector 1 if possible, and conclude with Sector 0 to ensure that checksum is written last.
Erasing sector 0 first, to invalidate checksum. OK
Sector 1: ................|...............|...............|...............
Sector 2: ................|...............|...............|...............
Sector 3: ................|...............|...............|...............
Sector 4: ................|...............|...............|...............
Sector 5: ................|...............|...............|...............
Sector 0: ................|...............|...............|...............
Download Finished16 seconds
Now launching the brand new code
●MARY-MB へのインストール

トランジスタ技術増刊「組み合わせ自在!超小型ARMマイコン基板」通称MARY(MCU ARRAY)です。
IchigoJamには、MCUにNXPセミコンダクターズのLPC1114FN28/102を使用していますが、MARY-MBにはLPC1114FHN33/301が搭載されています。
MARY-MBの内蔵メモリは4Kバイト多い8Kバイト、GPIOも22本から28本に増えていますが、メモリ・マップをざっとみたところ、
SRAMやペリフェラルのアドレスに違いはなく、基板上にUSB-シリアル変換IC CP2104 が実装され省スペース化が図れることから、
IchigoJam互換機はこのMARY-MBを使って作成することにしました。

各種コネクタにヘッダーピンをはんだ付けします。
コネクタCN1は、電源系の端子が集まっているので、これをブレッドボードに挿せるように、L型ヘッダーピンをはんだ付けしています。
オンボードのUSBシリアル変換モジュール CP2104 は lpc21isp と相性が良くないので、書き込みには、FT232RL を用いてコネクタピンに接続しています。


| FT232RL | | LPC1114FN28/102 | MARY-MB |
| TXD | - | 15:RXD | (PIO1_6) | CN2-7 |
| RXD | - | 16:TXD | (PIO1_7) | CN6-4 |
| 3V3 | - | 21:VCC | (Vdd ) | CN6-3 |
| GND | - | 22:GND | (Vss ) | CN6-1 |
| DTR | - | 23:RESET | (PIO0_0) | CN5-3 |
| RTS | - | 24:ISP | (PIO0_1) | CN2-8 |
この表では、LPC1114FN28/102で使用しているGPIOピン番号から、該当するMARY-MBのコネクタを割り出しています。
先程と同様に書き込みを行います。
$ lpc21isp -control -bin ichigojam-jp-ntsc-jpkbd.bin /dev/ttyUSB0 115200 12000
lpc21isp version 1.97
File ichigojam-jp-ntsc-jpkbd.bin:
loaded...
image size : 24576
Image size : 24576
Synchronizing (ESC to abort). OK
Read bootcode version: 0
7
Read part ID: LPC1114.../301, 32 kiB FLASH / 8 kiB SRAM (0x0444102B)
Will start programming at Sector 1 if possible, and conclude with Sector 0 to ensure that checksum is written last.
Erasing sector 0 first, to invalidate checksum. OK
Sector 1: ...............................................
Sector 2: ...............................................
Sector 3: ...............................................
Sector 4: ...............................................
Sector 5: ...............................................
Sector 0: ...............................................
Download Finished... taking 13 seconds
Now launching the brand new code
補足
lpc21isp では、LPC1114FN28/102のコードを、LPC1114FHN33/301に書き込むことができましたが、
書込みツール Flash Magic は、コードのビルド時に指定したチップと書き込み先のチップのシグネチャをチェックしていて、異なるチップへの書き込みはできないようです。
IchigoJam の回路図をもとに、MARY-MBを使ってIchigoJam互換機を組み立てます。
(出典:ボクにもわかる IchigoJam用 マイコンボード互換機)

| IchigoJam LPC1114 | MARY-MB拡張コネクタ |
| VIDEO1 PIO0_8[ 1] | CN4[5] - 470Ω - HOT(VIDEO) |
| VIDEO2 PIO0_9[ 2] | CN4[7] - 100Ω - HOT(VIDEO) |
| LED PIO1_5[14] | CN2[4] - 1KΩ - 赤色LED - GND |
| | CN1[1,2]:GND |
| | CN1[3,4]:Vcc5 |
| | CN1[5,6]:Vcc33 |
| KBD1 PIO0_7[28] | CN3[8] - PS/2 KEYBOARD CLK[5] |
| KBD2 PIO0_3[26] | CN3[2] - PS/2 KEYBOARD DATA[1] |
| SND PIO0_2[25] | CN3[3] - 1KΩ - 圧電ブザー GND |

サンハヤトのブレッドボード1枚に収まっています。

裏面はこんな感じです。
●IchigoJam互換機の動作確認
IchigoJam互換機をラズベリーパイにUSB接続します。

MARY-MBの真ん中にあるブルーのLEDが点灯して綺麗です。
まず、接続ポートを確認します。
$ pio device list
/dev/ttyUSB0
------------
Hardware ID: USB VID:PID=1234 SER=5678 LOCATION=1-1.4
Description: CP2104 USB to UART Bridge Controller - CP2104 USB to UART Bridge Controller
/dev/ttyAMA0
------------
Hardware ID: 9012.serial
Description: ttyAMA0
lpc21isp はターミナルとしても使えます。
$ lpc21isp -termonly -localecho -control /dev/ttyUSB0 115200 12000


sin(90)
と打ち込むと、256の値が返されるところも、こどもパソコンでプログラミングするうえで配慮されているようです。
led 1
LED制御では、なぜかMARY-MB中心のLEDが消え、ブレッドボードに配置した赤色LEDが点灯しました。
補足:UART接続
USBシリアル変換を介さずに直接ラズベリーパイとUART接続しても同様に操作できます。
| Raspberry Pi | | MARY-MB拡張コネクタ |
| 8:TXD | - | RXD (PIO1_6) CN2-7 |
| 10:RXD | - | TXD (PIO1_7) CN6-4 |

$ lpc21isp -termonly -localecho -control /dev/ttyAMA0 115200 12000
■参考文献
・ファームウェアの更新
・LPC1114 LPC1114FN28 / mbed 開発を platformio を使ってやる
・Raspberry Pi mbed環境(LPC1114FN28)を試してみる
|
Raspberry Pi(ラズベリー パイ)は、ARMプロセッサを搭載したシングルボードコンピュータ。イギリスのラズベリーパイ財団によって開発されている。
たいていのことは100日あれば、うまくいく。長田英知著
「時間がなくて、なかなか自分のやりたいことができない」
「一念発起して何かを始めても、いつも三日坊主で終わってしまう」
「色んなことを先延ばしにしたまま、時間だけが過ぎていく」
そこで本書では、そんな著者が独自に開発した、
まったく新しい目標達成メソッド「100日デザイン」について、
その知識と技術を、余すところなくご紹介します。
まんがで納得ナポレオン・ヒル 思考は現実化する
OLとして雑務をこなす日々に飽き足らず、科学者だった父が残した薬品を商品化すべく、起業を決意した内山麻由(27)。彼女はセミナーで知り合った謎の女性からサポートを得ながら、彼女と二人三脚でナポレオン・ヒルの成功哲学を実践し、さまざまな問題を乗り越えていく。
ヒル博士の<ゴールデンルール>に従い、仕事に、恋に全力疾走する彼女の、成功への物語。
今日は人生最悪で最高の日 1秒で世界を変えるたったひとつの方法 ひすいこたろう著
偉人の伝記を読むと、最悪な日は、不幸な日ではなく、新しい自分が始まる日であることがわかります。最悪な出来事は、自分の人生が、想像を超えて面白くなる兆しなのです。偉人伝を読むことで、このときの不幸があったおかげで、未来にこういう幸せがくるのかと、人生を俯瞰する視線が立ち上がるのです。
ご飯は私を裏切らない heisoku著
辛い現実から目を背けて食べるご飯は、いつも美味しく幸せを届けてくれる。
29歳、中卒、恋人いない歴イコール年齢。バイト以外の職歴もなく、短期バイトを転々とする日々。ぐるぐると思索に耽るけど、ご飯を食べると幸せになれる。奇才の新鋭・heisokuが贈るリアル労働グルメ物語!
【最新版Gemini 3に対応!】できるGemini (できるシリーズ)
Geminiを「最強の知的生産パートナー」として使いこなすための、実践的なノウハウを凝縮した一冊です。
基本的な操作方法から、具体的なビジネスシーンでの活用、日々の業務を自動化するGoogle Workspaceとの連携、さらには自分だけのオリジナルAIを作成する方法まで余すところなく解説します。
Rustプログラミング完全ガイド 他言語との比較で違いが分かる!
Rustの各手法や考え方を幅広く解説!
500以上のサンプルを掲載。実行結果も確認。
全24章の包括的なチュートリアル。
ポチらせる文章術
販売サイト・ネット広告・メルマガ・ブログ・ホームページ・SNS…
全WEB媒体で効果バツグン!
カリスマコピーライターが教える「見てもらう」「買ってもらう」「共感してもらう」すべてに効くネット文章術
小型で便利な Type-C アダプター USB C オス - USB3.1 オスアダプター
Type-C端子のマイコンボードをこのアダプタを介して直接Raspberry Piに挿すことができます。ケーブルなしで便利なツールです。
Divoom Ditoo Pro ワイヤレススピーカー
15W高音質重低音/青軸キーボード/Bluetooth5.3/ピクセルアート 専用アプリ/USB接続/microSDカード
電源供給USBケーブル スリム 【5本セット】
USB電源ケーブル 5V DC電源供給ケーブル スリム 【5本セット】 電源供給 バッテリー 修理 自作 DIY 電子工作 (100cm)
|