mbed

mbed-os5でUSBSerial

ee9king に投稿

os2からos5へ変えていきなさいということを言われているらしいので、数週間ずっとチャレンジしていました。

直近でやりたかったことは、Keil Studio Cloudのos2では実現できていたので、これをos5に移行する試みだった。os5はmbed-os-example-blinky5を作って、LEDの点滅動作ができていることを確認してのち、USBSerialを追加するもの。

変数参照が最適化される

ee9king に投稿

os2からos5へ変更する際に、どうもTickerがうまく動かなかった。

Ticker tbase;
DigitalOut led(LED1);

volatile int tb_reach=0;
void tbase_t(void){
    tb_reach=0;
}
int main(){
    tbase.attach( callback(tbase_t) , 0.5 ) ;
    while (true) {
        led = !led;
//        thread_sleep_for(500);
        while( tb_reach );
        tb_reach = 1;
    }
}

mbed-os5-example-blinkyのthread_sleep_for()をTickerに変えるだけだから、動いて当然、と思ってたのに while( tb_reach ); のところからぬけてくれないみたいな動きになった。

mbed困っております2

ee9king に投稿

前記事では、mbedビルドが違うことでUSBDeviceをインポートしたのちBuildエラーになることを書いたが、mbed.bldにビルドURLを書いてやれば、ビルドコンパイルができるようになる。

mbedビルド

https://os.mbed.com/users/mbed_official/code/mbed/builds

各ビルドをクリックすると、そのURLに飛ぶのだが、buildsの前にスラッシュが余計に入り、error表示が出る

https://os.mbed.com/users/mbed_official/code/mbed//builds/65be27845400/

ダブっているスラッシュを削除してアクセスすれば表示され、そのURLをmbed.bldに貼り付ければ、そのURLでビルドされるようだ。

mbed困っております

ee9king に投稿

mbedオンラインコンパイラがなくなるため、段階的にKeilStudioで作業するように変えていってますが、「ほとんど動かない」。というか、うごくんだけど、いろんなエラーが出て気持ち悪い。何をやってもすっきりしない状態が続いている。

やりたいことは、Nucleo-F411にUSBの配線を施し仮想シリアルを動かしたいのである。テストは下記

シリアル通信

ee9king に投稿

長らく疑問に思っていたことがあるが、今のところ理解できているわけじゃない。

CDCクラスの仮想COMシリアルは、実際の通信自体はUSBだ。しかし、仮想COMということで、ボーレート設定があり、実際ボーレート設定が間違っていると、通信ができず文字化けになったりして、通常のシリアル通信と同じ挙動を示す。

シリアル通信をどんな速度設定にしようと、実際の通信はFull-Speed以上であり、どうやってもそれ以上だ。また仮想COMで使用する通信にはハンドシェークがない。通常のシリアルならハードハンドシェーク(RTS/CTSあるいは、DTR/DSR、あるいはその両方)の設定があって結線が必要になるという事実がある。

実際、ボーレート設定などあるがUSBの最高速度で通信していて、ならパケットロストなど通常起こりえないなら、うまく出来ている(つまり速度は関係ない)のではないかという疑問だ。

mbedオンラインコンパイラなくなるって!

ee9king に投稿

mbedからメールが来てる。いつかはこうなると思っていたが、どうなるんだろう、ぼくは・・・

と思ったが、Keil Cloudにmbedアカウントでログインできた。ハードウェアも同じものが出ているし、OS2,5,6の選択もしやすくなってる、エディタも見やすい。改善されているということなのか?プロジェクトは自分でコピーしないといけないようですが、どうやってコピーすればいいのだろう。同じように動くのかな、、という疑問はある。まだ書き込んではいないのですけど・・・

ググる翻訳を掲載

Keil StudioCloudの紹介とMbedオンラインコンパイラの廃止
ジョー・アルダーソン-2021年12月14日

今年の初め、Armは新しいブラウザベースのIDEであるKeil StudioCloudのオープンベータ版を発表しました。 無料で使用でき、強力で最新のエディターが付属しており、その名前が示すように、より幅広いArmCMSISマイクロコントローラーエコシステムとMbedOSをサポートしています。