FRマイコン

2008-04?

FRマイコン、来たー

  • interface 2008.5付録基板。
  • 早速コネクタだけ繋いでみた。
  • 通電はOK。電源レギュレータが3.3Vと2.5Vを出力しているのも確認。リセットするとその間LEDが消える。とりあえず動いているのか?
  • ただ、USBコネクタを繋いでもLEDが点かないことがときどきある。暴走してるのか?
富士通FRマイコンの諸元
FLASH ROM512kB
RAM16kB
内部レジスタ32ビット×16本R13=ACC,R14=FP,R15=SP
cache1kB
CPUクロック40MHz水晶は10MHz4逓倍動作
VGAのOSD用のCGROM512kBおそらく漢字フォントを入れるものらしい
USBホスト+デバイスIF基板ではflash書き込み用にCP2102が付いているので都合3コネクタ
UART5chなんでそんなにいるの?
外部バス接続8,16,32bit幅、ROM,FLASH,SRAMなど。最大4Gまで。チップセレクト生成可能残念だがこの石には外部バスは出ていない。かわりに内部でOSDとの接続に外部バスが使われている。(じゃあ内部バスなの?)
  • アーキテクチャ的にはRISC。
  • メモリー空間4G。
  • ビッグエンディアン。
  • 40MHz動作。1命令は1クロック実行。
  • CGRAMは24x32dotが1792文字分あるらしい。

これの使い道ってどうよ?

  • デジタル家電、PC周辺、および車載って、書いてあるけど。
  • 実のところ、OSD専用チップなのかも。
  • USBの使い道がよう分からん。液晶モニタにUSBって、汎用ハブでいいんじゃぁ?
  • CPUはたしかに高性能だが、この石はOSDに割くリソースがでかいので、OSD用に使わないなら、無駄が多いチップだといえる。
  • OSD抜きで考えると、まあカーナビの心臓部とか家電制御で割りと演算が速い必要があるやつ(そんなのあったっけ?)USBは付いてるけどプリンタに使うには性能不足だし(ああ、スキャナーか。使うとしたら)デジカメっていうのも書いてあったけど・・・。

なんかH8の20MHzと比べると、性能は断然良さそう。

  • これが1980円で買えるとはね。使うの大変そうだけど。
  • PIC18F2550よりも断然良いよね。
  • H8/3694Fがゴミに見えてきた。

DWM2008.5付録基板はどうなんだ?

富士通RISCと比べてどうなんだろう?

  • フリーな開発環境(gcc)が存在しないFRのほうが不利。
  • USBホストが欲しい->FR
  • あとあと、いろいろな事例で活用したい->STM32 Primerとかが安価(3800円くらい?)で入手できるしOlimexとか苺でも買えるので、ARMにしといたほうがよい。
    • というかFRの利点はOSDとUSBホストの2点だけ?
    • FRは、外部にメモリー増設出来るのでこれも利点。
  • 対するSTM32のほうは、加速度センサが付いている。

順当に考えると、あとあとの入手性の高さでは圧倒的にARM(STM32)が有利。
開発環境とかもね。
FRで何か作ろうとしても、付録基板しかないんじゃあ、ね。(個人でFRマイコンを発注したり入手するのはまず不可能なので)

  • デバッガは3種類ある
    • シミュレータ、エミュレータ(2種類)、モニタデバッガ
    • 付録基板で出来るのはモニタデバッガのみ。
    • どうやらアプリケーションのリンク時にモニタデバッガのrelファイルを一緒にリンクすることでSOFTUNEデバッガを使用可能とするものらしい。
    • skeltonのmain.cにて、
      #define USE_MODFR60
    • という定義がされている。
    • これを有効にしておく(コメントアウトしないでおく)と、モニタデバッガに制御が移る。
    • テクニックとしては、main.cの初期化時に、
      #ifdef USE_MODFR60
         mod_uart_init() ;           /* ホスト通信用UART(USBに変換される)初期化      */
         mod_timer_init() ;          /* 計測タイマ初期化                             */
      #endif
    • とやって、
#ifdef USE_MODFR60
    __asm( " int #10" ) ;       /* モニタデバッガ起動                           */
#endif
   user_main() ;               /* ここに目的の処理を記述する。                 */
  • でuser_main()に行く直前にモニタに制御を移すわけだ。
  • デバッグ時とそうでない実行時では、
    #define USE_MODFR60
  • を書き換えてコンパイルし直さないといけないらしい。
  • デバッガの仕組みとしてはチープだが、付録基板(あるいは試作基板)だけで デバッガが使えるのでよし。
  • gdbスタブみたいなもん。
  • とりあえず何かを焼いてみる。

FM音源を焼いてみた。最初は焼き方が分からなかった。

  • Softuneではなく、FUJITSU flash MCU Programmerのほうを起動して、full operationを実行する。
  • このとき、JP3をCLOSEしておいて、さらに焼き開始後にJP4(RESET)を手動でCLOSE,OPENし、「OKボタン」を押さなければならない---面倒だが。

ついでにOSDサンプルも焼いてみた。

  • VGAに出力出来た。
  • スプライトみたいなやつが動いているがこれは1つしか出せない??いわゆるカーソルのことか。

OSDは、機能的に微妙だ。

  • いわゆるテキストVRAMは42桁×16行分しか用意されていない。
    • 例えば、MZ80Kエミュレータを書きたい、と思ったとしよう。
    • フォントは1700種も用意できるが、行数が25行用意できない。
    • 例えば、オシロスコープのようなアプリを書きたいとしても、
    • 任意の位置にドットを打つといったようなことは出来ない。
    • キャラジェネでパターンを工夫したとしても無理臭い・・・。
    • 例えば、VT100みたいなものを作ろうと思ったとしよう。
    • 42×16文字で我慢するとしよう。ANKまでなら作成可能だ。
    • 漢字Terminalにするには1700文字だと第一水準JISが全部入らない。帯に短し!
  • 残念だが、VDP機能はファミコンにも劣る。(その代わり、文字の解像度は細かい(24x32)が)
  • Flashの書き換え回数の保証値
    H8/3694FMIN 1000回 typ 10000回
    FR601万回保証 。要望に応じて10万回保証も可能らしい

FRマイコン・リンク集

  • 早速アプリを公開しているサイト。

Joy Of MIDI FM tone generator