フォト
無料ブログはココログ

MyList

« 子育て支援に必要なのは「男性」のサポート | トップページ | 中野四季の森公園 桜(2015) »

2015年3月30日 (月)

IchigoJam

 IchigoJamはLPC1114FN28を搭載したワンボードコンピュータで、コンポジット入力のディスプレイとPS/2キーボードと電源(miniUSB)を接続すると BASICが走る。

 電源ONでBASICが走るコンピュータ(マイコン)は、おじさんにはちょっと懐かしいが今時はワンチップだ。

 方々で話題になっているが、持ち上げたり、けなしたり。
スラドにも「1500円でBASICが動くミニボードPC」スレがあって、その中に

スラド民も丸くなったな (スコア:0)
by Anonymous Coward on 2015年03月17日 17時40分 (#2779264)

オープンソースでもない製品に寛容ですね

なんて投稿があったりする。

 簡単に作れそうだ。LPC1114FN28はトラ技2012年10月のオマケがあるので、ちょっと試してみることにした。

 回路図を見ると、トラ技2012年11月のオマケ基板が使えそうである。


http://fukuno.jig.jp/img/ichigojam-circuit-ver07.png

 シリアルもあるので、ディスプレイや、キーボードを用意しなくてもよさそうなので、ちょっと試すにはちょうど良い。

 ファームはIchigoJamのページの、下のほうにあるリンク(IchigoJam ver 0.9.7)からダウンロードできる。

 zipの中には X'talを使う/使わない、キーボードがUS/日本語の 4種類のファームが含まれている。

 ネットでは、ファームのアップデートはFlashMagicを使った例が紹介されているがOpenOCDとVarsaloon化したSTM8Sを使ってファームを書いてみた。

Ichigojam

C:\OpenOCD\OpenOCD-0.9.0>openocd.exe -s ./tcl -s ./Image -f interface/vsllink_swd.cfg
-f target/lpc11u14_swd_flash.cfg
Open On-Chip Debugger 0.9.0-dev-00357-g09ca5af-dirty (2015-03-26-11:17)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.sourceforge.net/doc/doxygen/bugs.html
Info : VSLLink SWD mode enabled swd
WARNING: This cfg will be deprecate next release!!!!!
adapter speed: 10 kHz
adapter_nsrst_delay: 200
cortex_m reset_config sysresetreq
adapter speed: 1000 kHz
Info : Versaloon(0x32)by Simon(compiled on Jan 29 2014)
Info : USB_TO_XXX abilities: 0x00000008:0x00000040:0xC0000006
Info : clock speed 1000 kHz
Info : SWD IDCODE 0x0bb11477
Info : lpc11xx.cpu: hardware has 4 breakpoints, 2 watchpoints target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0xc1000000 pc: 0x1fff0040 msp: 0x10000ffc
Info : accepting 'telnet' connection on tcp/4444
auto erase enabled
Warn : Verification will fail since checksum in image (0x00000000) to be written
to flash is different from calculated vector checksum (0xefffed3f).
Warn : To remove this warning modify build tools on developer PC to inject correct
LPC vector checksum.
wrote 20480 bytes from file ichigojam.hex in 5.162295s (3.874 KiB/s)
Error: checksum mismatch - attempting binary compare
diff 0 address 0x0000001c. Was 0x3f instead of 0x00
diff 1 address 0x0000001d. Was 0xed instead of 0x00
diff 2 address 0x0000001e. Was 0xff instead of 0x00
diff 3 address 0x0000001f. Was 0xef instead of 0x00
No more differences found.

チェックサム・エラーが出るけど気にしない。^^)

ターミナルの設定を

  • 通信速度        :115200 bps
  • 改行コード       :送信:CR+LF 受信:LF
  • ローカルエコー :あり
  • 行送信遅延     :1000ms(プログラムをコピペするなら)

に設定する。

 シリアルにターミナルを繋いで電源を入れるとオープニングメッセージが表示されるので、お約束の九九の表を表示してみる。

IchigoJam 0.9.7 by @taisukef

list
10 x=1
20 y=1
30 if x*y<10 then print " ";
40 print x*y;" ";
50 if y<9 then y=y+1: goto 30
60 if x<9 then print: x=x+1: goto 20
90 end
OK
run
1  2  3  4  5  6  7  8  9
2  4  6  8 10 12 14 16 18
3  6  9 12 15 18 21 24 27
4  8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81 OK

 小文字で書くと大文字に変換されると思ったら変換されない。中間コード使ってないのかな? それにしても、小文字でBASICを書くと違和感があるなあ。

 このBASICはFOR/NEXTがない。(これは後ほど)


最近の投稿】【最近のCPUボード】【最近のIchigoJam】【2017の投稿】【2016の投稿】【2015の投稿

« 子育て支援に必要なのは「男性」のサポート | トップページ | 中野四季の森公園 桜(2015) »

CPUボード」カテゴリの記事

IchigoJam」カテゴリの記事

プログラミング」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: IchigoJam:

« 子育て支援に必要なのは「男性」のサポート | トップページ | 中野四季の森公園 桜(2015) »