FRK-FM3 (8) NT-Shell と NT-Monitor の実装 (2) ― 2013年01月04日 23時01分47秒
結局年を越してしまった。
mb9bfxxx_usb_device_virtual_com_port-v11.zip がうまく動かなかったのは、新たに追加した UsbClassCdc_Receive が原因だった。
UsbClassCdc_ReceiveByte の直前に UsbClassCdc_ReceivedLength() のチェックを入れると動きだした。
UsbClassCdc_ReceiveByte の中でも u32ReceivedData をチェックしているがそれではだめらしい。
腑に落ちないが深くは追求するまい。(※追記:u32ReceivedData を volatile 宣言すれば修正の必要はなくなった。)
さて動き出した所で動作確認だ。
db 0[Enter] でダンプしてみる。
表示が非常に遅い。
Virtual COM Port で接続しているにもかかわらず UART 2400bps 程度のスピードしか出ていない感じだ。
UsbClassCdc.c を見ると Buffer の使い方がまずい。
わざと遅くなるように書いてあるような気がしないでもない。
いずれ修正してみよう。
次に Scroll で試してみる。
sb 0[Enter]
表示は遅いが問題なくコマンドラインに抜けてくる。
ハングアップするのは今の所 TRZ1104A (LPC1114/301) だけのようだ。
しかし、USB Direct Programmer といい Virtual COM Port といい、遅いのがとり得というのはさみしい。
というか Virtual COM Port は使い物にならないレベルなので何とかしたい所だ。おそらく Buffer の使い方以外にもおかしい所がたくさんあるのだろう。
frk-fm3_usb_nt-monitor_201301.zip (動作確認しているのは ARM と G++ プロジェクト)
参照: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
mb9bfxxx_usb_device_virtual_com_port-v11.zip がうまく動かなかったのは、新たに追加した UsbClassCdc_Receive が原因だった。
UsbClassCdc_ReceiveByte の直前に UsbClassCdc_ReceivedLength() のチェックを入れると動きだした。
int UsbClassCdc_Receive(char *buf,int len, void *extobj) { while(len){ if(UsbClassCdc_ReceivedLength() > 0){ *buf=UsbClassCdc_ReceiveByte(); buf++; len--; } } return 0; }
UsbClassCdc_ReceiveByte の中でも u32ReceivedData をチェックしているがそれではだめらしい。
腑に落ちないが深くは追求するまい。(※追記:u32ReceivedData を volatile 宣言すれば修正の必要はなくなった。)
さて動き出した所で動作確認だ。
db 0[Enter] でダンプしてみる。
表示が非常に遅い。
Virtual COM Port で接続しているにもかかわらず UART 2400bps 程度のスピードしか出ていない感じだ。
UsbClassCdc.c を見ると Buffer の使い方がまずい。
わざと遅くなるように書いてあるような気がしないでもない。
いずれ修正してみよう。
次に Scroll で試してみる。
sb 0[Enter]
表示は遅いが問題なくコマンドラインに抜けてくる。
ハングアップするのは今の所 TRZ1104A (LPC1114/301) だけのようだ。
しかし、USB Direct Programmer といい Virtual COM Port といい、遅いのがとり得というのはさみしい。
というか Virtual COM Port は使い物にならないレベルなので何とかしたい所だ。おそらく Buffer の使い方以外にもおかしい所がたくさんあるのだろう。
frk-fm3_usb_nt-monitor_201301.zip (動作確認しているのは ARM と G++ プロジェクト)
参照: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
最近のコメント