弊社WordPressサイト多言語化が完了しました。
Summary:弊社Change
多言語化Changeの副作用として様々なトラブルに会いました。ブログ読者関連は、収束したと思いますので、完了宣言致します。関連投稿:Change before you have to、サイト多言語化
多言語(英語)版のMCUテンプレートは、ルネサス)RA6/4/2ベアメタルテンプレート、STマイクロ)STM32G0xテンプレート、STM32F0/F1テンプレートの現行3種です。今後、増やしていく予定です。
Changeで得たもの
Change作用は、ベアメタルテンプレートのポイントが「時分割起動」ということを再認識した点です。
また、HAL(Hardware Abstraction Layer) APIを使うと、MCUファミリ/シリーズに依存しないベアメタルテンプレートになる点です。
もちろん、ベンダが異なるとHAL APIも異なります。しかし、同じベンダのMCUならベアメタルテンプレートは基本的に同じです。STM32G0テンプレートとSTM32F0/F1テンプレートは、シリーズが異なりますが、同じHAL APIを利用するので、同じベアメタルテンプレートになります。
つまり、ユーザがHAL APIを利用するなら、MCUファミリ/シリーズで同一のベアメタルテンプレートを弊社は提供できる訳です。このことは、近く検証する予定です。
RTOSテンプレート
同様にRTOSテンプレートは、「マルチタスク(スレッド)起動」がポイントと考えます。
起動後のタスク間同期や通信に、セマフォやメッセージボックスなど様々な手段があります。しかし、弊社がRTOSテンプレート基本がタスク起動と考えると、FreeRTOS/Azure RTOS/μT-Kerneでも同じ構成でスッキリします。この方向で、RTOSテンプレートは再構築したいと考えています。
また、クラウド接続やセキュリティなどの処理以外でRTOS MCU開発者が自由に開発できるタスク数は、高々7位だと思います。タスク数が多いと、タスク流用は容易になりますが、タスク分割損(=RTOSオーバーヘッド)も増えます。
MCUクラスの処理能力からすると、ラッキーセブンが分割タスク数として適す気がします。
7タスク優先順位を設定し起動すれば、RTOSテンプレートとして使えると考えています。これもいずれ検証します。
Afterword:Changeは痛みが伴う
当初WordPress多言語化は、8月11日から13日の3日間を予定していました。しかし、様々なトラブルが発生し、その結果、1週間を要しました。酷暑下での作業でしたが、お盆連休中であったのが不幸中の幸いでした。