マイコン工作実験日記

Microcontroller を用いての工作、実験記録

ついに1GHz

2019-10-06 12:04:12 | Weblog
もうかなり長い間、工作ができておらず、記事も書いていないのですが、今回はこの発表を読んだので、紹介だけしておきます。

NXPがRTシリーズでSTM32H7の400MHzを超えて600MHzを達成したかと思ったら、今年はついに1GHzだそうです。いやはや、マイコンでもついに1GHzを迎えるとは感慨深いものがあります。

STM32H7の方は、シリコンリビジョンがVになって、400MHzから480MHzに高速化されています。ちなみに、STM32H7ではシリコンのリビジョンが Y --> X --> V という具合にアルファベット逆順になっているのがおかしなところ。Yは色々とシリコンバグがあって、注意が必要。
コメント

Express Logic

2019-04-26 21:39:47 | Weblog
今頃になってMicrosoftが Express Logic を買収したことを知りました。FreeRTOSの時は各種メディアで取り上げられたけど、ThreadXはそれほどの知名度が無いということ?

Express Logic は ThredX というRTOSやTCP/IPスタックを提供しているわけですが、これらのソフトウェアはTIや Cypressの Wi-Fiモジュールなんかでも採用されているのですが、将来的にこれらの製品に対する供給を止めることはないんでしょうか?ちょっと気になります。
コメント

STM32H750 Discovery Kit

2019-04-03 11:19:22 | Weblog
ここのところ、諸般の事情によりちっともブログ更新ができていません。実際のところ仕事でしかマイコンに触れていないのが悲しいところです。

そのため、STが大量にYouTubeにアップしている動画も、満足に見ている余裕がありません。STM32MP1でのLinuxサポートのように、プレスでの発表がある前に、動画でチラ見せしているみたいなので要注意なんですが。先週投稿されたこの動画もそのひとつです。最初は、一般公開されていたと思うのですが、いつの間にか限定公開になっているようです。一応、限定公開なので、画像を直接出すのは遠慮して、URLだけ書いておくことにします。

https://www.youtube.com/embed/OSwmE0WiehQ

STM32H750 Discoveryなんてまだ未発表なんですが、どうやら近日中にTouchGFX対応もされるようです。このままちゃんと製品として発売されることを期待したいところですが、STM32H750ってMCUのチップ自体が輸出規制がかかっているのか、Mouserや Digikey では日本向けに出荷してくれないのが気になります。
コメント

動的割り当てと静的割り当て

2018-12-09 16:41:09 | Weblog
FreeRTOSではたしかv9.0.0からだったと記憶していますが、RTOS資源をメモリ上に静的に割り当てることが可能になっています。従来からと同じようにヒープ領域上に動的に割り当てることもできますので、ユーザは必要に応じて、動的割り当てと静的割り当てを使い分けることができます。STM32Cubeを使っていると、FreeRTOS APIをCMSIS RTOS API v1(もどき)でラップしたインタフェース(cmsis_os.h>が提供されており、STM32CubeMX上でも動的割り当てと静的割り当てを使い分けることが可能です。

STM32CubeMXにおける、実際の割り当ての方法をSemaphoreを例に見てみると...

まず、Config parametersにおいて、メモリ割り当て方法を指定します。Dynamic/Staticを指定すれば、どちらも使うことができます。



割り当て方法としてDynamic/Staticが指定されていれば、Semaphoreを用意する際に、割り当て方法としてどちらを使うかを選択することができます。



Semaphoreの作成の仕方が異なるだけで、使い方は同じosSmaphoreWait/osSemaphoreReleaseで操作できるので、動的割り当てを使っていた従来のコードは容易に静的割り当てに変更することができます。というか、できるハズだったんです。

ところが、実際には静的割り当てに変えた途端に、それまで動いていたコードが動かなくなりました。なんだか初っ端から動かない。どうやらセマフォの初期値がおかしいらしい。上記の例で動的に割り当てたセマフォ(myBinarySem01)と静的に割り当てたセマフォ(myBinarySem02)の値を、生成直後に調べてみると。。


動的に生成した場合の初期値は1なのに、静的に生成した場合の初期値はゼロになってしまっています。CMSIS RTOSv1のAPI定義としては、1になるべきところです。

と、言うわけで相変わらず STM32CubeのCMIS_OS APIは油断できません。見事に地雷を踏んでしまいました。
コメント

STM32CubeMX v5

2018-11-22 10:51:01 | Weblog



STM32CubeMXがv5にバージョンアップ。プレスも出したし、YouTubeに動画もアップという力の入れように、ちょっとビックリ。見かけが大きく変わって、STM32CubeProgrammerとの統一感が生まれたものの、さらに巨大化して起動が遅くなった感じがします。中身としては、TouchGFXの提供が始まったことが興味深いです。買収の成果の恩恵を享受したいところなんですが、ちょっとハードルもあるかも。個人的には TouchGFX Designerって Windowsでしか動かないので、それだけで挑戦する意欲が低下。

TouchGFXの実質的なサポートはSTM32Cubeパッケージに依存するわけですが、どうやらターゲットCPUはSTM32F4とSTM32F7の一部のデバイスに限られるようです。STM32H7に関しては新しいバージョンのCubeH7が提供されていないこともあって、未サポートの様子。それとも、DSIホストをサポートするデバイスしかサポートされないのだろうか?

CubeMXのリリースに伴って、CubeF4, CubeF7などはアップデートが出ているのに、CubeH7はv1.3のまま。Cubeライブラリの更新状況が、デバイスによってかなり違うので、中身も色々と細かい違いが生じてしまっているようです。例えば、FreeRTOSのバージョンもバラバラ。STemWinのバージョンもL4, F4, F7は新しくなったけど、H7は古いまま。もう少し待てば CubeH7も新しいバージョンが出るのかもしれません。

TouchGFXについては、ちょっとそそられるものの Discoveryとか買わないとすぐには使えなさそうなのも、障壁ですね。ここは、Discoveryボードのお土産付きのハンズオンセミナーとかを開催して欲しいものです。
コメント