10 years, 7 months ago.

mbed LPC1114FN28でのシリアル出力について

Hello Dev team.

Macで以下の問題が見えています。ご確認をお願いします。

・Lチカレベルのプログラムは書き込み・実行とも問題ない

・シリアル-USBブリッジ(printf)を使用したプログラムを書き込んで、USBの挿抜を行うと、MBEDドライブを認識しなくなる

・Mac上のWindows VMでも同様でシリアルポートを認識出来なくなる

・生のWindowsマシンでは、printfを使ったプログラムも問題なく動作する

・生のWindowsマシンで、プログラムをprintfを使わないLチカレベルに戻すと、Macでも正しく認識されるように戻る

todotani

Question relating to:

The LPC1114FN28 is an ARM Cortex-M0 based, low-cost 32-bit MCU, designed for 8/16-bit microcontroller applications, offering performance, low power, simple instruction set and memory addressing together with reduced code size …

2 Answers

10 years, 7 months ago.

これについてはWindowsマシンでも同様の状態に陥ったことがあります.
デバッグインターフェース・チップのpin31がLOWに落ちている,またはトグルしているとこのような現象が発生するようです.

LPC1114FN28のpin16を浮かせると再マウントさせることができます.
再マウント後にDIP28のプログラムを書き換えてやれば,また使うことができます.

Accepted Answer

追試しました。
デバッグインターフェースチップ(LPC11U35)のpin31は、LPC1114のTXD(pin 16)と繋がっています。

次のいずれかの方法を採ると、再びOS Xに認識させることができました。
- LPC1114FN28を取り外す
- VMwareのWindowsだと認識しますので、MDKでErase flash

試しに、UARTを喋る前にwait(10);を入れたプログラムを作り、これを書き込んでみたところ、OS XでもMBEDドライブをマウントできることが確認できました。
ただし、LPC1114がUARTで喋っていると、どうもOS Xからはこのドライブへの書き込みをすることができませんでした。

posted by Yoshihiro TSUBOI 28 Apr 2014

Tsuboi-san, Okano-san,

コメントありがとうございます。当方VMはParallels 9上で32bit版Windosws 7を使っているのですが、Parallelsの場合、printfを含むプログラムを書き込んだ最初の一回目は正しくデバイスを認識し、プログラムも動作します。ただ、USBを挿抜すると以後はデバイスを認識せずWindows 7 (VM)が不安定な状態に陥りブルースクリーンになることも・・(Parallels 8から9にアップグレードしてかえって悪化・・)。

現状の確実な復旧方法はVMを使わないWindowsからプログラムを書き換えることです(この際に使っているWindowsは7の64bitです)。non-VMのWindowsでも同様の状態に陥ったことは今のところありませんが、その場合はLPC1114の取り外しなんですね。Windowsの32bit, 64bitでもドライバの関係で挙動に違いが出るのかも。

posted by Ken Todotani 29 Apr 2014
10 years, 7 months ago.

https://mbed.org/users/ytsuboi/code/LPC1114FN28_UART_Hello_World/
こちらの簡単なプログラムをコンパイルし、VMware Fusion 6.0.3上のWindows 7と、私の手元のOS X 10.9.2で試してみたところ、どちらでも正常に動作しました。

と、書いてポストしようとしつつ、VMware Fusionを終了して、USBの挿抜をするとたしかにMBEDドライブがマウントされません。たしかに変ですね。

HDKのコードレポジトリのUSB回りに、今ごっそりと手が入っているので、それで何か改善されるかもしれません。情報ありがとうございます。

RTOSとUSBスタックの競合が解決されたバージョンがリリースされました。私の手元でテストしたところ、問題が解決された様です。 https://mbed.org/teams/Switch-Science/wiki/Firmware-LPC1114FN28

posted by Yoshihiro TSUBOI 21 Jun 2014