FRK-FM3 (7) NT-Shell と NT-Monitor の実装 (1)2012年12月25日 22時10分44秒

FRK-FM3 virtual com port
最後はやはり FRK-FM3 だろう。
CQ出版社のタイトルどおり「FM3マイコンで試す」事にする。
これも手っ取り早く使うためには USB 仮想 COM PORT が便利だ。 ベースとなるサンプルは mb9bfxxx_usb_device_virtual_com_port-v11.zip にする。
startup_mb9bf61x.s と linker script は以前使用したもの
main.c に UsbClassCdc_Receive と UsbClassCdc_Send を追加する。
int UsbClassCdc_Receive(char *buf,int len, void *extobj)
{
    while(len){
        *buf=UsbClassCdc_ReceiveByte();
        buf++;
        len--;
    }
}
int UsbClassCdc_Send(const char *data,int size, void *extobj)
{
    while(size){
        UsbClassCdc_SendByte(*data);
        data++;
        size--;
    }
}

    :
    :


int main(void)
{
    :
    :

  ntm_execute(&(w.ntmshell), UsbClassCdc_Receive, UsbClassCdc_Send, (void *)&w);

    :
    :


コンパイル/ダウンロード/リセット
デバイスドライバを要求してくる。
mb9bfxxx_usb_device_virtual_com_port-v11\Windows Drivers を指定。
デバイスマネージャで見ると新しいポートが追加されている。

ターミナルを接続するとメッセージとプロンプトが表示される。
いい感じだ。
sb 0 [Enter]

動かない。
ラインエディタのようなものから抜け出してこない。
文字の出力はできているので read に相当する関数がうまく動けばよいのだが、今の所どこで引っかかっているのかわからない。

どうやらこのまま年を越しそうな予感がする。

参照:CuBeatSystems
    CQ出版社インターフェース2013年1月号 pp174-181「FM3マイコンで試す! メモリ・ダンプ・モニタの作成」

環境:FRK-FM3 (MB9BF618T)
    + mb9bfxxx_usb_device_virtual_com_port-v11.zip
    + Natural Tiny Shell (NT-Shell Version 0.2.0)
    + Natural Tiny Monitor (NT-Monitor Version 0.2.0)
    + TeraTerm Version 4.69
    + FUJITSU USB DIRECT Programmer V01L07
    + Keil MDK-ARM V4.53
    + GCC Sourcery CodeBench Lite 2012.09-63
    + KPIT Cummins GNU-Archive Editor v1.1
    + KPIT Cummins GNU-Map Viewer v1.0