マイコン工作実験日記

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

TrueSTUDIO for STM32

2018-01-20 09:01:53 | Weblog
買収された際に公約となっていたフリーバージョンのTrueSTUDIOが TrueSTUDIO for STM32としてリリースされたようです。ダウンロードして、インストールすれば、そのまま何のライセンス手続きも必要無しでフル機能が使えるようです。どんなものなのか一度使ってみたい気はするのですが、まだMac OSバージョンは用意されていません。どうやら、将来的にはMac対応も計画はされているようなんですが。。。近い将来に実現されることを希望!!

コメント
この記事をはてなブックマークに追加

STM32CubeProgrammer

2018-01-10 13:00:59 | Weblog


年末にリリースされたSTM32CubeProgrammer, インストールはしてあったのですが、なかなか試す時間が取れなくて放置状態だったのですが、思い出してNucleo-L452で試してみることにしました。

これまでOption byteの確認や変更をしたい時には、Windowsでしか使えないST-Link Utilityを使っていましたが、STM32CubeProgrammerはMac OSやLinuxでも動くところが嬉しい点です。接続のためにはST-Linkだけでなく、USBやUSARTも使うことができます。わたしの場合、NucleoのST-Link部分はJ-Link化してしまっているので、ST-LinkがMacOS環境で使えるようになっただけではあまりご利益が無いのですが、STM32CubeProgrammerはUSB DFUでの操作もサポートしているのがありがたいです。

というわけで、USBコネクタをつなげてあるNucleo-L452のBOOT0をVDDにつないで、ブートローダを起動した状態で、STM32CubeProgrammerを使ってみた様子を示したのが、冒頭の画面です。ちゃんとOption Byteの内容も確認できます。手持ちの積み基板をいくつか試してみたところ、Nucleo-F767を正しく認識できないことを発見。最新のL4+ならわかるけど、なんでF767がつながらない?



デバイスデータベースが壊れているということなので、再インストールしてみるも変化なし。Forumで調べてみようかと思ったけど、未だに障害から復旧できていないようで、満足にアクセスできません。うーん、残念。


コメント
この記事をはてなブックマークに追加

ニコモジで表示してみる

2017-12-20 12:14:34 | LCD
emWinを使うことの利点のひとつが、日本語を比較的簡単に表示できることです。本記事では、その手順について説明していきます。






まずはフォントの準備です。emWinではFont Converterというツールが用意されており、Windowsにインストールするされているフォントをビットマップフォントに変換して使用することができるようになっています。MS明朝のような書体も利用可能なわけですが、ライセンスの問題もありますので、ここではフリーのフォントを使うことにしましょう。今回、ピックアップしたのはニコモジ・プラスRounded M+のふたつのフォントです。これらのサイトから使用したいフォントのデータをダウンロードしておきます。



ダウンロードしたフォントファイルをエクスプローラから開いてみると、上図のように文字サンプルが表示されるとともにインストールボタンが表示されますので、このインストールをクリック。すると、フォントがシステムにインストールされます。

続いて、Font Convererを起動。生成するフォントのタイプを聞かれるので、深さ4ビットのアンチエイリアスを選んでみます。



次に開くフォントを聞かれますので、先ほどインストールしたばかりのニコモジ・プラスを選んで、出力するビットマップのサイズを指定しておきます。





フォントを開いて、全てのグリフ情報を読み込むと上図のように表示されます。特に編集の必要もないので、Fileメニューから"Save as"を選択して保存作業を開始します。



ファイル形式として .sif を選択して保存。変換しながらの保存作業となるので、完了までにしばらく時間がかかります。同様にしてRounded M+も変換します。結果として、ニコモジでおよそ3.2Mバイト、Rounded M+でおよそ1Mバイト弱の .sif ファイルができました。.sif (System Independent Font)は SEGGER独自のファイル形式のようです。


フォントデータができたので、これをSPIフラッシュに dfu-util を使って書き込みます。(DFUの準備についてはこちらの記事を参照してください)。ニコモジはフラッシュ領域の先頭である0x90000000から書き込み、Rounded M+は4MB離れた0x90400000から書き込むことにします。DFUの構成上ではフラッシュの領域は論理的にひとつの空間として扱っているのですが、アドレス指定という手段で領域の途中からアクセスできるというのは、こういう時には便利ですね。もちろん、アドレス境界はフラッシュへの書き込み/消去単位であるページなりセクターサイズに合わせておきます。



これで、ふたつのフォントデータがSPIフラッシュ上に書き込めましたので、あとはSPIフラッシュをメモリ空間にマップしてやれば、そのままフォントデータが参照可能となります。

emWinにはUTF8でエンコードされた文字列を表示する機能が備わっているので、SPIフラッシュ上のフォントを開いて、そのフォントを使って表示してやれば、冒頭の写真の表示を出すことができます。詳細説明は省略しますが、こんな感じになります。



これまでは日本語フォントを使って表示をするためには、
  1. FreeTypeを使って自分でビットマップへのコンバータを作成
  2. そのコンバータを使ってTTFを変換して、ビットマップ形式のフォントファイルを作成
  3. 出来上がったファイルをSDカードなり、Flashメモリに書き込み
  4. FatFsを使ってフォントファイルを開く。
  5. FatFsを使って、必要なグリフのビットマップを取り出し、描画
というように、ツールの準備から描画ルーチンまで全て自分で用意していました。それがemWinとQuad SPIを使えば、上述のように提供されるツールとAPIを使うことで短時間で描画できてしまいます。これでFont ConverterがMac OSで動いてくれたら文句ないんですが。。
コメント
この記事をはてなブックマークに追加

Atollic

2017-12-14 13:09:05 | Weblog
STのホームページで、STがAtollicを買収というニュースリリースを見つけました。自社製品のIDE環境整備を強化すると共に、他社の開発環境に打撃を与えることを目的としているんでしょうか?NXPもCodeRedを買収したりしてましたね。

そいういえば, 以前Freescale向けにKDS(Kinetis Design Studio)の開発に携わっていたSOMNINUMは、事業継続が困難になりSEGGERに資産売却したようです。

もともと STM32CubeはEclipseのプラグインとしても用意されていましたから、今後はTrueSTUDIOとの統合化が進んだりするんでしょうか?わたくしとしては、今のところTrueSTUDIOがMac対応していないので、今後のMac環境サポートがどうなるかがちょっと心配ではあります。

12/14追記
STのブログ記事によると、これまでのTrueSTUDIO Proが無料で提供されるようです。ワォ!! Mac OSもサポートしてくれ〜。
コメント
この記事をはてなブックマークに追加

emWin(STemWin)を動かす -- 補足

2017-12-06 22:43:09 | Weblog
前記事で書き忘れたことがあったので、追加でメモしておきます。

STM32Cubeに含まれているemWin(STemWin)を動かす上で、忘れてはならない設定がひとつありました。それは、 ペリフェラルのCRCをイネーブルしておくことです。CRCをイネーブルしておかないと、STemWinの初期化段階で動作が止まってしまいます。調べてみると、 CRCのクロックがイネーブルされていないと、永久ループするコードになっているようです。このチェックを入れることで、STemWinのライブラリが STM32でしか動作しないように制限をかけているようです。

LCDConf.c ではGUIDRV_FlexColor_SetFunc()を使って使用するLCDコントローラの種類を指定しています。GUIDRV_FLEXCOLOR_F66709の指定では、ILI9341だけでなく ILI9488や HX8353, ST7637などのコントローラもカバーしています。最初は、複数種類のLCDコントローラを識別して動作しているのかと想像したのですが、実際の動きを確認してみると全然そんなことはしていませんでした。これらのコントローラはメーカが違ってもコマンド体系がほぼ同じなので、同じグループとしてまとめて扱っているようです。


コメント
この記事をはてなブックマークに追加