MCUパラメタ設定を改善したSTM32CubeMX version 5

2018年12月STマイクロエレクトロニクス(以下STM)のMCUコード生成ツール:STM32CubeMXがversion 5にメジャー更新しました。本稿は、このSTM32CubeMX version 5について主に旧version 4をご利用中の方を対象に説明します。初めてSTM32CubeMXを利用される方は、インストール方法などは旧version 4で示したコチラの関連投稿と同じですのでご覧ください。

STM32CubeMX version 5への更新方法

STM32CubeMXは、スタンドアロンアプリケーションとして動作させる場合と、Eclipse IDEのプラグインとして動作させる場合があります。更新が簡単なのは、先に説明するスタンドアロン版です。Eclipse IDEは、SW4STM32を例にプラグイン更新方法を示します。

スタンドアロン版STM32CubeMXの更新方法

デフォルト設定を変えてなければ、STM32CubeMX起動時に自動的に更新を検出しInstall Nowクリックで最新版がダウンロードされます。ダウンロード後、一旦STM32CubeMXを終了し、再起動でversion 5への更新が始まります。

STM32CubeMX version 5への更新(スタンドアロン版)
STM32CubeMX version 5への更新(スタンドアロン版)

スタンドアロンの場合は、更新開始時Access Errorが表示されることもあります。この時は、「管理者として実行」で更新プロセスが始まり、STM32CubeMX version 5の初期画面になります。

STM32CubeMX version 5初期画面
STM32CubeMX version 5初期画面

Eclipse IDE(SW4STM32)プラグイン版STM32CubeMXの更新方法

Eclipse IDEのプラグインでSTM32CubeMX機能を追加した場合は、旧プラグインを削除した後にversion 5プラグインをインストールします。SW4STM32のプラグイン削除は、Help>About EclipseからInstallation Detailsボタンをクリックし、Installed Softwareタブから旧STM32CubeMXを選択、Uninstallまたは、Updateクリックで行います。

旧版STM32CubeMXプラグイン削除
旧版STM32CubeMXプラグイン削除

Uninstallの方が確実です。削除後、新しいSTM32CubeMX version 5プラグインを再インストールすれば、スタンドアロンと同じ初期画面が示されます。SW4STM32のUpdate checkでは、STM32CubeMXの更新を検出できませんので、手動でプラグイン削除、更新された新プラグインのインストールが必要です。

STM32CubeMX version 5改善点

version 5のユーザマニュアルUM1718 Rev 27から、以下の点がversion 4から改善されました。
関連投稿:MCU更新情報取得方法と差分検出ツール、の “2PDF資料を比較するDiffPDF” の章参照

・MCUパラメタ設定にマルチパネルGUI採用(UM1718、5章)
・CMSIS-Packサポート(UM1718、7章)
・X-Cube-BLE1ソフトウェアパック(UM1718、14章)
・ST-TouchGFX追加(UM1718、17章)

一言で言うと、5章:カラフルになったパラメタ設定、7章:CMSIS-Pack追加が可能、14章と17章:2チュートリアル追加です。CMSIS-Packとチュートリアルは、必要に応じて理解すれば良いでしょう。

そこで、基本操作の5章STM32CubeMX version 5のパラメタ設定を、弊社STM32F0シンプルテンプレートで用いたSTM32CubeMX version 4プロジェクトファイルを使って説明します。
※STM32F0シンプルテンプレート(¥1,000販売中)をご購入頂いてない方のために、上記プロジェクトファイルのみをコチラから無料でダウンロードできます(zipファイルですので解凍してご利用ください)。

マルチパネルGUIによるMCUパラメタ設定改善の実例

Open Existing Projectsで上記STM32F0シンプルテンプレートプロジェクトファイル:F0SimpleTemplate.iocを選択すると、旧versionで作成されていること、FWも更新されていて、最新環境へ更新(Migrate)するか、FWはそのままSTM32CubeMXのみ更新(Continue)かの選択肢が表示されます。
※MigrateとContinueの差は後述します。

旧版プロジェクトファイルを開いた時のメッセージ
旧版プロジェクトファイルを開いた時のメッセージ

今回は、Migrateを選択すると、見慣れたPinout & Configuration画面が現れます。

STM32F0シンプルテンプレートのプロジェクトを開いた画面
STM32F0シンプルテンプレートのプロジェクトをversion 5で開いた画面

Connectivity >を開くと、STM32F0シンプルテンプレートで使用中USART2の各種パラメタ設定値がマルチパネルで表示されます。

STM32F0シンプルテンプレートプロジェクトのUSART2マルチパネル画面
STM32F0シンプルテンプレートプロジェクトのUSART2マルチパネル画面

このマルチパネル表示がversion 5で最も改善された機能です。従来版では、複数タブで分離表示されていた設定が、1画面のユーザインタフェース:UIに集約されました。より解りやすく、より簡単にMCUパラメタ設定ができます。

その他の機能は、カラフルな見た目になってはいますが、旧versionと殆ど同じと考えて良いと思います(開発元には失礼ですが…😅)。不明な点は、HelpでUM1718が直に表示されるので調べられます。

また、販売中の弊社STM32Fxテンプレート付属説明資料のSTM32CubeMXは、version 4で説明しておりますが、この程度の改版ならば、説明資料をversion 5用に作り直さなくても、ご購入者様に内容をご理解頂けると思います。

旧版プロジェクトファイルを開いた時のMigrateとContinueの差

STM32CubeMXは、UIをつかさどる共通部分と、STM32MCUファミリ毎の個別ファームウエア:FW部分の2つから構成されています。本稿は、UI共通部分の更新を説明しました。FWもバグとりや、ファミリへの新MCU追加などで更新されます。周辺回路の初期化CコードやHAL:Hardware Abstraction Layer library 、LL: Low-Layer library利用のAPI生成は、FW部分が担います。

Migrateは、このUIとFWを同時に最新版へ更新します。一方、Continueは、UI部分のみ更新しFWは既存のままです(安全側更新とも言えます)。FW更新で既製ソフトウェアへ悪影響がでる場合には、Continueを選択することもあるでしょう。しかし、基本的にはUI、FWともに最新版へ更新するMigrateが本来の更新方法です。

万一FW更新でトラブルが発生した時は、デフォルトでSTM32Cube>Repositoryフォルダに新旧FWがzipファイルで保存されていますので、FWのみ元に戻すことも容易です。

*  *  *

Postscript:24日午前3時~午前4時5分に実施されたSTM32G0 and STM32CubeMX 5.0ウェブナーどうでしたか? 解りやすいスライドが豊富で、STM32G0の良さがより理解できました。全機能無償のKeil uVision5対象デバイスにSTM32L0、STM32F0とSTM32G0も加わりました。STM32CubeMX 5.0と評価ボードNUCLEO-G071RBを使ったLチカコード生成も解りやすかったですね😃。
※タイムリーなことに、1月25日STM公式ブログ上で上記一連の処理がYouTubeに投稿されました。

さて、ウェブナー参加で目から鱗が落ちたのは、STM32G0の広い応用範囲と低電力動作を活かすには、デバイス間移植に優れるHAL APIよりも、デバイス最適化のLL API利用が適してかもしれない点です。
HAL利用のSTM32Fxテンプレートとは異なるアプローチ、例えば、STM32Gxテンプレートの新開発が必要になりそうです👍。

関連投稿:HALとLLの違いは、STM32CubeMXの使い方、“STM32CubeMXの2種ドライバライブラリ”の章参照
関連投稿:STM32Fxテンプレートのアプローチは、STM32評価ボードNUCLEO-F072RB選定理由参照

MCU更新情報取得方法と差分検出ツール

MCUプロジェクト開発中は、雑音に邪魔されず当面の課題解決に集中したいものです。しかし、MCU最新情報や開発ツール更新などは、いつ発生するかが不明で、開発中であってもこれらの情報把握は大切です。新情報が、課題解決の決め手になる可能性もあるからです。各ベンダーもこの最新情報提供のために便利機能を提供中です。

今回は、 STマイクロエレクトロニクス(以下STM)に追加された更新情報メール通知機能と、更新情報量が多い時に効率的に差分を検出するツール:DiffPDFを紹介します。

STM最新MCUと更新情報のメール通知機能

STMは、STM32マイコンマンスリー・アップデートを配布中です。月一回、MCU最新情報や資料の更新情報へ簡単にアクセスできます。ただし、マンスリー・アップデートは、全てのSTM32MCU更新情報を集約した言わばポータルサイトです。自分が開発中のMCU情報を含む場合もありますし、そうでない場合もあります。開発スケジュールが押し迫ると、当該重要情報や更新を見落とす事があるかもしれません。

そこで、自分の開発関連情報のみをピックアップし、コンテンツ更新時は毎週木曜日にメール通知する機能がSTMサイトに追加されました。設定方法を、STM32MCUコード生成ツール:STM32CubeMXのユーザマニュアル:UM1718を例に紹介します。

UM1718をお気に入りに登録
UM1718をお気に入りに登録する方法

STMサイトにアクセスし、UM1718で検索すると、右上に「お気に入りに登録>」ボタンが現れます。これをクリックし、「更新情報メールを受け取りますか?」に「はい」を選択するだけです。UM1718以外でも同様です。

更新情報がほしいページの「お気に入りに登録>」クリックで、マイページのお気に入り一覧に追加され、更新発生の木曜に一括してメール通知されます。削除も簡単です。

マイページのお気に入り一覧
マイページのお気に入り一覧、削除も簡単

マンスリー・アップデートよりも早く、しかも、自分の開発必須情報に絞った更新通知メールなので、更新イベントの見落とがなく便利です。

効率的に更新情報量をさばく

更新通知を受け取った後は、どこが変わったかを素早く把握したいものです。新しいSTM32CubeMX version 5のユーザマニュアル:UM1718 Rev 27全327ページを例に、更新箇所特定ツールDiffPDFを紹介します。

STM32CubeMXは、MCU処理スケルトンと周辺回路初期化処理Cソースを生成するツールです。周辺回路の設定はGUIで行い、STM32MCU開発の最初の一歩を踏み出す時に使います。2018年末、このSTM32CubeMXがversion5に更新されました。

STM32CubeMX v5は、v4にマルチパネルGUIを加えパラメタ設定をより容易に、さらに、MCU性能評価やシミュレーション機能なども追加されました。このSTM32CubeMXのユーザマニュアルがUM1718です。

既にSTM32CubeMXを使いこなしている方にとって、Rev 27の327ページは分量が多すぎます(初めてSTM32MCUを使う方は、UM1718を読むことをお勧めします。日本語版もありますが最新版和訳ではないことに注意してください)。このように改版資料の情報量が多い時は、DiffPDFが便利です。

2PDF資料を⽐較するDiffpdf Portable

Diffpdf Portableは、2つのPDF資料を比較し差分を明示するWindows 8.1用のツールで、Windows 10でも動作します。UM1718 Rev27とRev 25をCharactersで比較した例が下記です。

DiffPDF新旧UM1718比較結果
DiffPDFで新旧UM1718を比較した結果

マルチパネルGUI によりSTM32CubeMXのuser interfaceが大きく変わったことが一目で解ります。
※効率的に更新箇所、差分を見つけることに焦点を置きましたので、新しいSTM32CubeMX version 5の説明は、後日改めて行う予定です。

DiffPDFを使えば、どこが変わったかを素早く見つけられるので、ハイライト箇所のみを読めば短時間で内容把握ができます。その結果、更新内容が、現状課題の解決に役立つか否かの判断も早くできます。

まとめ

忙しいプロジェクト開発中であっても、MCU最新情報や開発ツール更新イベントは発生します。

STMサイトに追加されたお気に入り登録を使えば、自分の開発に必要情報の更新時のみ木曜メールで通知されるので、プロジェクト関連情報の変更イベントを見落としなく把握できます。

さらにDiffPDFを使えば、更新情報量が多くても、どこが変わったかが簡単に見つけられるので、更新内容がプロジェクトの課題解決に役立つか否かの判断が早くできます。

MCUのAI機能搭載

スマホの顔/指紋認証や、写真の高度処理などにAI機能(機械学習)が搭載され始めています。本稿は、AI機能搭載プロセッサ最新記事からルネサスマイコン:MCU関連を抜き出し、さらに、STマイクロエレクトロニクスのコード生成ツールSTM32CubeMXに追加されたAI機能拡張パックSTM32Cube.AIを紹介します。

ルネサスMCU AI機能の現状

2019年1月10日のEE Times Japanに、“2019年も大注目! 出そろい始めた「エッジAIプロセッサ」の現在地とこれから”が掲載されました。

MCUだけでなく、スマホ、車載などAI機能を処理するプロセッサ全般の現状分析と今後について、分かりやすく解説されています。AI機能の搭載は、一過性ブームではなくADAS(先進運転支援システム)やセキュリティなど更に多くの処理へ適用されると予想しています。

この記事で、昨年本ブログ投稿のRZファミリ搭載「DRP(Dynamically Reconfigurable Processor)」の現状(図1)と、7nm製造プロセス換算での性能比較(図5)が示されています。

関連投稿:NXPとルネサスのMCU開発動向、ルネサスのMCU開発動向の章

図1:AIプロセッシングを実行する演算器の関係(出典:テカナリエレポート)
図1:AIプロセッシングを実行する演算器の関係(出典:テカナリエレポート)
図5:7nmプロセスで製造した場合の性能(出典:カタリナレポート)
図5:7nmプロセスで製造した場合の性能。小さい程高性能。(出典:カタリナレポート)

日本オリジナルのルネサスAI IPが、公表通り推論処理能力1000倍の開発ロードマップで進めば、低コスト/低電力なMCU AI機能が実現できそうです。RZだけでなく、RL78やRX MCUへの搭載も期待します。

STM32CubeMXにAI機能拡張パックを提供

STMのコード生成ツールSTM32CubeMX version 5.0.1以降から、AI機能実装の拡張パックSTM32Cube.AIが2019年1月3日に発表されました。

Cortex-M4クラスの低電力MCUが前提ですが、ニューラルネットワークを使ったHuman Activity Recognition:人間活動認識(HAR)や、Acoustic Scene Classification:音響シーン分類(ASC)のアプリケーションに適しているそうです。

Human Activity Recognition (HAR)(出典:Neural Networks on the STM32)
Human Activity Recognition (HAR)(出典:Neural Networks on the STM32)
Audio Scean Classification (ASC)(出典:Neural Networks on the STM32)
Audio Scean Classification (ASC)(出典:Neural Networks on the STM32)

MCU AI機能の搭載

現状は、ルネサスはRZ、STMはCortex-M4と高性能MCUがAI機能の対象デバイスです。

例えば、スマホで指紋認証時、本人なのに認証されないとイラッ😡ときます。安全側評価で仕方がないとは思いますが、リアルタイムで結構な処理を行っているのでしょう。例外処理で、カメラ起動などは認証なしで動作させるなどの工夫が見られます。

AI機能は、このように相手が人間なだけにリアルタイムで高負荷な処理になります。MCUへのAI機能搭載は、このかなり高いハードルをこなせる処理能力が必要です。記事にもあるように、プロセス微細化による低コスト/低電力化や、開発環境を含めたベンダー側の対応が普及の鍵になるでしょう。

個人的には、AI機能の「アプリケーションレベルでのライブラリ化」を望みます。ベンダー側でMCU処理能力に応じてライブラリ内部を工夫し、開発者である我々は、MCU選択でAI機能レベル(誤認識率、深層解析能力など)も選択できれば嬉しいですね😁。

STM32G0とSTM32CubeMX 5.0ウェビナーのお知らせ

STM32G0とSTM32CubeMX 5.0ウェビナー
STM32G0とSTM32CubeMX 5.0ウェビナー(出典:STMサイト)

STM32G0とSTM32CubeMX 5.0のWebinarが、日本時間2019年1月24日、木曜午前3時から午前4時に開催されます。アジェンダは、下記です。

  • Overview of STM32 microcontrollers, with focus on the STM32G0
  • Key features and peripherals embedded in the STM32G0
  • Description of the STM32CubeMX 5.0 graphical software configuration and code generation tool
  • Demonstration of hands-on examples running on the STM32G0 developed with the full-featured, free-to-use Keil MDK for STM32G0 and STM32CubeMX 5.0

木曜勤務に差し支えるかもしれない深夜ですが、PCさえあれば誰でも無料で視聴できます(要ログイン)。

関連投稿:守備範囲が広いSTM32G0

1週間位待てば、STMサイトのビデオコーナーでいつでも見ることができようになるとは思いますが、新汎用MCU STM32G0とそのAPI開発ツールSTM32CubeMX 5.0の新鮮な情報、参加者主催者のQ&Aが直接聞ける機会ですので、お知らせします。

2018 IoT MCUを振り返る

今年も多くの方々に本HappyTechブログをご覧いただき、また、多くの方々にマイコンテンプレートをご購入いただいたことに心より感謝いたします。ありがとうございました。

2018年の弊社ブログ投稿を振り返って、IoT MCUの2018動向を総括します。

ノードとエッジに2層化するIoT MCU

IoT時代には、数十億個以上もの膨大な数が必要と言われるIoTエッジMCU、これが本ブログ対象マイコンです。低コスト、低消費電力、効率的ハードウェア/ソフトウェア生産性が求められます。

これらIoTエッジMCUを束ね、クラウドと無線通信するのがIoTノードMCU。IoT MCUは、ノードとエッジの2層化傾向があります。

IoT MCU日本ベンダー動向

ルネサス エレクトロニクス:アナログフロントエンド強化の買収継続
NXPセミコンダクターズ:クアルコム買収断念で独自性維持
サイプレス・セミコンダクター:超低電力Cortex-M0+製品強化
STマイクロエレクトロニクス:日本語資料強化

自動車と産業、セキュリティがIoT MCUを牽引

超高性能、セキュリティ、CAN FD、低電力が自動車向け要求、同じくセキュリティ重視だが、コストパフォーマンスも重視、低電力が産業向け要求、両要求ベクトルがIoT MCUベンダー開発を牽引中。

MCUコアのこだわり不要

要求を満たすには広いMCUカバー能力と低電力動作が必要で、Cortex-M0+とCortex-M4のマルチコアや、シングルコア動作周波数の引上げが見られます。製造プロセス微細化も進むでしょう。

エンドユーザ(顧客)は、いわゆるソリューション(解)を求めていて、要求を満たせばMCUコアが何でも構わないので、開発者は、手段であるMCUコアにこだわる必要性を少なくすることが求められます。

つまり、最適ソリューションのハードウェア/ソフトウェアを、様々なベンダー、MCUから自ら選択し、効率的に解を提供できるIoT MCU開発者がプロフェッショナルです。

そこで、ソリューション提供・提案をする開発者個人向けツールとして、弊社マイコンテンプレートを発展させる予定です。ブログ対象IoT MCUも、この基準にフォーカスし情報提供します。

以上簡単ですが2018年のIoT MCUを総括しました。2019年も引き続きよろしくお願いいたします。

守備範囲が広いSTM32G0

2018年12月のSTM32マイコンマンスリー・アップデートのトップページに、先日投稿した新汎用MCU STM32G0の概要とブロック図が記載されました。また、12月18日のEDN JapanにもIoT機器を小型化効率化する32ビットマイコンとしてSTM32G070(48ピン/ROM128KB)が約69セントと安価であることが紹介されています。

STM32G0シリーズブロック図
STM32G0シリーズブロック図(出典:マンスリー・アップデート2018年12月トップページ)

本稿は、これら新MCU STM32G0記事を整理し、開発ベースとして最適なアクセス・ライン製品STM32G71と評価ボードの入手性、価格について示します。

3製品:バリュー・ライン、アクセス・ライン、アクセス・ライン&エンクリプション

STM32G0の説明がある時、3製品のどれを説明しているかを区別、意識する必要があります。というのは、STM32G0のアプリケーション守備範囲が、とても広いからです。3製品の特長をまとめたのが下表です。

STM32G0の3製品特徴
製品ライン 型番例 特徴
バリュー・ライン STM32G70 コスト最重視のエントリクラス製品
アクセス・ライン STM32G71 ハードウェアセキュリティ搭載の標準製品
アクセス・ライン&エンクリプション STM32G81 アクセス・ラインに暗号化機能搭載製品

EDN Japan記事のSTM32G070(48ピン/ROM128KB)の69¢は、バリュー・ラインのことです。マンスリー・アップデートのブロック図は、3製品機能をAND表示したものです。

3製品差を理解するには、STMサイトのSTM32G0製品シリーズと、オンライントレーニング資料STM32G0 Series Presentation P2が役立ちます。

STM32G0製品シリーズ
STM32G0製品シリーズ(出典:STMサイト)
STM32G0の3製品差
STM32G0の3製品差(出典:STM32G0 Series Presentation P2)

現在供給中の3製品差と、今後のラインナップを整理すると以下になります。

供給中デバイスと開発予定ラインナップ
供給中デバイスと開発予定ラインナップ(出典:STM公式ブログ)

バリュー・ライン(灰色)
アナログフロントエンド向きのアプリケーションに特化した2.5Mspsの高速12ビットADC実装のバリュー・ライン(STM32G070)は、価格最重視のエントリ製品でEDN Japan記事のように1$以下の調達ができます。また、供給中と今後のラインナップの図から、8/20ピンなどの小ピン&小ROM製品が予定されていることも解ります。

アクセス・ライン(水色)
バリュー・ラインと同様小ピン&小ROM製品に加え、100ピン&大ROM製品の予定もあります。アプリケーションに応じてDAC、USB-PO、CAN FDなどの周辺回路が実装可能です。さらに、1.65-3.6Vと他製品より低電圧側への広い動作も特徴です(Presentation P2参照)。

これらの仕様の幅広さから、STM32G0の最も標準的なベースMCUと言えます。アクセス・ラインでプロトタイプ開発しておけば、内蔵周辺回路が同じシリーズのバリュー・ラインやアクセス・ライン&エンクリプションへそのまま応用・適用できるからです。

アクセス・ライン&エンクリプション(紺色)
IoTアプリケーションでは必須になるハードウェア暗号化機能をアクセス・ラインに追加しています。

STM32G0の幅広いMCUコア性能

これも先の投稿で示したSTM32FxとSTM32G0の違い図から、STM32G0はSTM32F0より低い消費電力と、STM32F1並みの高性能をハイブリッドしたMCUであることが解ります。つまり、STM32G0(Cortex-M0+/64MHz)で、F0~F1のMCUコア性能範囲をカバーできるのです。

STM32G0のGは、アプリケーション守備範囲の広さを示すGlobal、またはGeneral(汎用性)を表しているのかもしれません。STM32FxのFは、Flexibilityでしょうか?

STM32G0のサンプルソフトウェア

アクセス・ラインSTM32G071RB(64ピン/ROM128KB)実装の評価ボードNUCLEO-G071RBは、STMの公式サンプルソフトウェア数が159個(AN5110参照)と現在最も多く、STM32G0のアプリケーション開発に適していると思います。

この評価ボードとサンプルソフトを活かして開発したソフトは、バリュー・ラインやアクセス・ライン&エンクリプションへも同じシリーズですので、容易に応用・流用が可能です。

また、暗号化機能搭載のアクセス・ライン&エンクリプションSTM32G081RB搭載の評価ボードSTM32G081B-EVAL board:$382を使えば、暗号化認証手順や鍵管理などのセキュリティ関連が効率的に習得できるハズ(?)です。
※セキュリティ関連は、ホストとスレーブの2役が必要など、筆者自身不明な点も多いため、今後別途調査したいと考えています。

STM32G0の入手性と価格

ネット通販が盛んになったおかげで、近頃は新発売後1ヶ月も経っていない最新デバイスであっても、個人で1個から入手できます。

2018年12月24日現在、Mouser(マウサー日本)のアクセス・ラインSTM32G071RB(64ピン/ROM128KB)と、評価ボードNUCLEO-G071RBの価格表です。もちろん代理店経由なら、この価格よりも安く入手できるでしょう。

STM32G0の価格(2018年12月調査)
Mouser入手の場合 数量 価格(JPY
STM32G071RB 1 398
10 360
100 298
1000 213
NUCLEO-G071RB 1 1,203

STM32G0は、たとえ個人でも、入手性良く低価格で入手できると言えるでしょう。

まとめ

新発売STM32G0は、従来メインストームSTM32F0~STM32F1で開発していた広いアプリケーション範囲をカバーできる汎用MCUです。またIoTエッジMCUに必要になる暗号化機能をハードウェアで実装済みの製品もあります。

3種ある製品のうち、アクセス・ラインのSTM32G071RB(64ピン/ROM128KB)実装の評価ボードNUCLEO-G071RB は、STM公式サンプルソフトウェア数が現時点で最も多く、STM32G0の汎用性、広範囲アプリケーション対応性を活かした開発のベースに最適と評価しました。

これら評価ボードとSTM32G071RBデバイスは、個人でも比較的安価に入手できることも分かりました。

ルネサスE1エミュレータ生産中止予告

2018年12月21日、ルネサス エレクトロニクスのツールニュース2018.12.16号で、使用部品の生産終了のため、E1エミュレータ生産中止が予告されました。来年2019年12月31日が、最終オーダー受付日です。

E1エミュレータ(出典:秋月電子通商)
E1エミュレータ(出典:秋月電子通商、12,600円で販売中)

E1代替エミュレータ

E1エミュレータの代替は、E2またはE2エミュレータLiteです。ターゲットボードとの接続は、同じく14ピンコネクタですのでそのまま使えます。
但し、R8Cは、E1を継続使用、RH850は、E2へ変える必要があります。

ルネサスMCUとエミュレータ対応表(2018年12月現在)
対象マイコン E1 E2 E2 Lite
RL78ファミリ(本ブログ掲載) 対応中 対応中 対応中
RXファミリ 対応中 対応中 対応中
R8Cファミリ 対応中 非対応 非対応
RH850ファミリ 対応中 対応中 非対応

本ブログを始めた頃のR8C開発時代、IDE Hewに使っていたE1エミュレータが、あと1年で生産中止になるとは、私も年を取ったということです。

但し、稼働中のR8Cシステムメインテナンスなどに、ソフトウェア書き換え用として14ピンコネクタ以外のUARTなどを準備していれば別ですが、E1エミュレータは必須ですので、注意してください。

また、新たにRL78開発環境の構築を考えている方は、E1エミュレータではなくE2エミュレータLite(秋月電子:7,980円)の購入をお勧めします。

LibreOffice最新版 6.1.4.2へ更新

2018年12月18日、LibreOffice 6系の最新版(stable)がマイナー更新され、バージョンが6.1.4.2になりました。
安定版(stable)は更新なしです。

LibreOffice版数(2018/12/20現在)
パッケージ 想定ユーザ 2018/12/18版数
最新版(stable) 技術マニア、新しいもの好き、パワーユーザ 6.1.3.2 → 6.1.4.2
安定版(stable) ビジネス組織、法人企業、慎重なユーザ 6.0.7 (変更なし)

6.1.4.2マイナー更新

マイナー更新ですので、LibreOfficeウェブサイトから最新版6.1.4をダウンロードし、実行で更新完了します。

関連投稿:LibreOffice更新のメジャー/マイナー更新方法

@libreofficeさんのツイートによると、125以上のバグ修正がなされたようです(個人的には前版でもWriter、Calc、Drawいずれもバグに遭遇していませんが…😅)。最新版ご利用中の方は、更新しておけば安心です。

年末年始の時間を利用しLibreOfficeを試そうと考えている方は、是非最新版を使ってみてください。また、弊社は、WriterとDrawに対して下記無料テンプレートを配布中です。ご活用ください。

関連投稿:LibreOffice Writerの使い方とテンプレート
関連投稿:LibreOffice Drawの使い方とテンプレート

Office 2019延長サポート終了はOffice 2016と同じ2025年

対抗ソフトウェアの状況を調べました。Microsoft Office 2019は、延長サポート期間が、従来5年から約2年に短縮されるそうです。つまり、Office 2016延長サポート終了の2025年10月と同じになるのです。

Windows10のみで動作するOffice 2019は、最後の売切りタイプのOfficeという観測もあります。Microsoftは、サブスクリプションタイプのOffice 365へ一本化したいようです。

私個人としては、クロスプラットフォーム(Windows/Mac/Unix)でローカル動作し、既存Office文書への互換性も高い無償LibreOfficeが、PC文書作成ツールとしてはお勧めです。

ブログ閲覧トラブルのお詫び

本ブログサーバーに障害が発生したため、2018年12月12日水曜午後3時頃から12月13日木曜午前10時頃までの19時間(!)、ブログ閲覧ができませんでした。期間中に訪れていただいた方々にご迷惑をおかけしたことをお詫び申し上げます🙇。

サーバー障害は現在解消しております。経緯報告と、ソフトウェア全般のメジャー更新時の対応と心構えについて示します。

ブログのみ(!?)閲覧トラブル

閲覧トラブルはHappyTechブログのみに発生し、HappyTechサイト(=マイコンテンプレートサイト)は問題なしでした。どちらも同じレンタルサーバーを利用していますが、ブログ閲覧時にブラウザで表示されたHTTPステータスコードは500番です。

ブラウザ表示のステータスコード、いわゆるエラーコードは、300番台~500番台まであります。

  • 300番台 サイト移転、ドメイン変更通知
  • 400番台 クライアント処理失敗
  • 500番台 サーバーエラー(←今回のエラーコード)

500番台サーバーエラーは、サーバー過負荷やWordPressバグなどの原因がありえます。サーバー業者の障害報告はありませんが、私は、主因がWordPress5メジャー更新だと推測します。

WordPress5へのメジャー更新

12月7日金曜からWordPress5へのメジャー更新配布が始まりました。メジャー更新の中身は、WordPressエディタの全面変更です。活版印刷の発明者といわれるGutenbergにちなんで名付けられた新エディタは、従来版とはかなり異なります。

Johannes Gutenberg(出典:Wikipedia)
Johannes Gutenberg(出典:Wikipedia)

新エディタGutenbergは、既に投稿済みの過去の投稿編集にも影響を及ぼすため、Gutenbergエディタ機能を停止するDisable Gutenbergや、代替として従来エディタが好きなブロガーのためにClassic Editorというプラグインが準備されていました。

「メジャー更新前」にこれらプラグインをインストールしておけば、問題は殆ど無かったと思います。しかし、「更新後」のインストールでは遅すぎます。過去の投稿がGutenbergで変換され、初めてエディタの違いに気づき、慌ててリカバリーするなどした結果、サーバー過負荷に至ったのだと思います。
500番台サーバーエラーが、メジャー更新配布後ではなく、数日たった12日から長時間発生したことが根拠です。

ソフトウェアのメジャー更新時の対応と心構え

このように、「メジャー更新内容の事前調査や対応」と、何か起こるかもという「心の準備」は、バックアップをとることと同じくらい重要です。

更新後に読むことが多いリリースノートですが、せめてメジャー更新がアナウンスされた時は、「更新前」に目を通し、バックアップ以外の対応・準備が万全かを想像しましょう、これが本稿で示したい対応と心構えです。

※MCU IDEは、後方互換性を重視するソフトウェアなので、今回のWordPressエディタのような互換性にインパクトがある問題は生じにくいです。

関連投稿:MCU IDEの後方互換性検証

また、2019年4月よりWordPressの動作要件にphpバージョンが5.6以上、MySQLも5.5以上が加わります。これらより下のバージョンは、セキュリティアップデートだけが提供されます。Office 2019の動作OSが、Windows 10のみというのに似ています。

WordPress推薦phpはバージョン7ですので、2019年4月以降は最新プラグイン利用や既存プラグイン更新にトラブル発生の可能性もあります。プラグイン更新時には、注意しましょう!

httpsとhttpの話

お知らせのついでに、良くあるご質問にこの場でお答えします。

ご質問:ブログもマイコンテンプレートサイトも、httpsではありません。安全ですか?

回答:httpsの目的は2つあります。1つが、サーバーとクライアント間の通信暗号化、つまり他人が通信傍受しても内容を判らなくする仕組みです。
パスワードや個人情報などの機密データを通信する場合にはhttpsは必須です。しかし、弊社ブログもマイコンテンプレートサイトも、閲覧時これら機密データの通信は発生しません。

テンプレートご購入時の銀行振込先やメール内容は、弊社サイトに無関係なhttps対応メーラー(outlook/hotmail/gmail…,etc)で通信しますので、セキュリティは万全です。

もう1つの目的が、Google検索上位を狙うSEO対策です。
Googleは、https推薦のため、httpサイトよりもhttpsサイトを検索上位に表示するそうです。これが多くのサイトがhttps化した大きな理由です。弊社も検索上位表示を望みますが、ベンダー提供以外のマイコン関連サイトは少なく、掲載の中身、つまりコンテンツで検索上位を狙うのが弊社方針です。

また、httpsサイトのドメイン取得は、httpサイトよりもコストが掛かるのも理由です。

弊社は、メンテナンスに多少手間が掛かっても、コスト重視でレンタルサーバーを選んでいます。極稀に今回のようなトラブルも発生しますが、懲りずに引き続き弊社ブログ、マイコンテンプレートサイトを今後ともよろしくお願いいたします。

STM新汎用MCU STM32G0

2018年12月4日、STマイクロエレクトロニクス(以下STM)の公式ブログで新汎用MCU STM32G0、Cortex-M0+/64MHzを発表しました。以下の特徴があります。
※汎用=メインストリームと本稿では考えます。

新汎用STM32G0、Cortex-M0+/64MHz、メインストリーム90nmの特徴

STM32メインストリームMCU
STM32メインストリームMCU:STM32FxとSTM32G0の違い(出典:STM32 Mainstream)
  • 「メインストリーム初の90nmプロセスMCU」:従来メインストリームSTM32F0は180nmプロセス
  • 「ハイブリッド」:STM32L4(90nmプロセス)の低消費電力とSTM32F0のメインストリームの両方をハイブリッド
  • 「モアIO」:64ピンパッケージSTM32F071比較でIOピン9本増加、48ピンでもIOピン7本増加
  • 「単一電源供給」:PCBパターン設計が容易
  • 「セキュリティハード内蔵/非内蔵」:128/256ビットAES、セキュアブート、乱数発生器、Memory Protection Unit (MPU)
  • 「USB-C」: IPによりUSB-Type-C可能
  • NUCLEO-G071RB board」:低価格評価ボード提供中、「STM32G081B-EVAL board」:$382
STM32G0ラインナップ (出典:STM公式ブログ)
供給中の3種製品とSTM32G0ラインナップ (出典:STM公式ブログ)
STM32G0 Product Lines(出典:STM32G0 Serie Presentation)
STM32G0 Product Linesから3種製品の違いが解る(出典:STM32G0 Series Presentation)

STM32G0オンライントレーニング

データシートよりも解りやすいSTM32G0オンライントレーニング資料が多数あります(要ログイン)。

例えば、以下のような興味深い情報が得られます。各数ページの英文スライド形式ですので、STM32G0以外のMCUを使用中の方でも、チョットした空き時間に読めます。

  • STM32G0 Series Presentation:内蔵ハードウェアによりValue/Access/Access & Encryptionの3種製品特徴
  • ARM Cortex-M0+ (Core):Cortex-M0とM0+の差、Memory Protection Unit 説明
  • Safety:安全基準とその実現方法
  • Random Number Generator (RNG):アナログノイズに基づいた32ビット乱数発生
  • STM32G0 Boards:NUCLEO-G071RB board解説

STM32CubeMX V5.0.0

STM32G0のコード生成は、STM32CubeMX V5.0.0からサポートされました。

V4までと同じSW4STM32、TrueSTUDIO、両方のIDEで使えます。STM32CubeMX V5が提供するMCUファームパッケージで、本ブログ関連を抜粋したのが下表です。

STM32CubeMX V5.0.0提供MCUファームウェア版数
対象MCU firmware(評価ボード、STM32G0ボード暫定) 最新Version
STM32F1(STM32F103RB、Cortex-M3/64MHz V1.7.0
STM32F0(STM32F072RB、Cortex-M0/48MHz V1.9.0
STM32G0(V5で新設、STM32G071RB、Cortex-M0+/64MHz V1.0.0

STM32Fxテンプレートでも使用中のHAL(Hardware Abstraction Layer)ライブラリでコード生成すれば、STM32F1、STM32F0とSTM32G0間で、流用/応用が容易なソフトウェア開発ができると思います。

まとめ

新発売のSTM32G0は、90nmプロセス初のメインストリーム汎用MCUです。一般的に製造プロセスを微細化すれば、動作クロックが高速になり電力消費も低下します。さらに、STM32G0は、Cortex-M0より性能が向上したCortex-M0+コアの採用により、Cortex-M3のSTM32F1クラスに並ぶ高性能と超低消費電力動作をハイブリッドした新汎用MCUと言えます。

周辺回路では、IoTで懸念されるセキュリティ対策をハードウェアで実施、IOピン数増加、PCB化容易、USB-Type Cインタフェース提供など、各種IoTエッジMCU要求を満たす十分な魅力を持つMCUです。

競合するライバルMCUは、Cortex-M0+のNXP S32K116/S32K118(2018/7発売)などが考えられます。

関連投稿:NXP新汎用MCU S32K1