適用範囲:Arm Compiler 5, Arm Compiler 6, Arm Compiler for Embedded FuSa, C166 Development Tools, C251 Development Tools, C51 Development Tools, Keil Licensing, Keil MDK, User-based Licensing
この記事の情報は以下の製品に適用されます:
- MDK v5.37以前
- Arm Compiler 6.18以前
- Arm Compiler 5
- PK51
- PK166
- DK251
質問:
MDK Pro User-Based License (UBL) を購入し、GitHub/GitLabランナーのような継続的インテグレーション(CI:Continuous Integration)環境でLegacy(旧) Keil ソフトウェア開発ツールを使用したいです。
MDK のエディション比較表によればMDK Professional ライセンスはこれらのツールをカバーしており、また、 User-based Licensing User Guide 内Backwards Compatibility の章ではPCまたはサーバのためのKeil node-locked license(LIC) をarmlm ユーティリティでgenlic オプションを利用することで生成できることが記載されています。
しかし、このようなLICは通常、µVision IDEでインタラクティブに登録する必要があります。GitHub/GitLabランナーでコマンドラインツールを使用して、このライセンス登録を行うにはどうすればよいでしょうか?
回答:
通常、CI のシステムはソフトウェアツールの新規インストール、またはツールがインストール済みの状態のコンテナから開始されます。CIシステムにKeilソフトウェア開発ツールをセットアップする方法についていくつかアイデアを紹介します:
- ダウンロード済みで場合は、必要なバージョンのKeil ツールセットインストーラをダウンロードしてください。以下のページでは、利用可能なダウンロードソースが表示されます:
Download Options
keil.com のサーバを使用してダウンロードする場合は、ダウンロードフォームでPSN(Product Serial Number) を指定する必要があります。次のリストから該当する PSN を使用してください:
For Keil MDK: 8WSKJ-U4BLG-SK6BE
For Keil PK51: HN93V-PZCAJ-WVS1T
For Keil PK166: 21IS6-DVHZ2-9KRBW
For Keil AR166: 8PTQ8-3NRNG-SFPIQ
For Keil DK251: C6NX2-977HE-42LLR
注意:- これらダミーのPSNはKeil のソフトウェアのダウンロードだけに有効で、ライセンス登録には利用できません。
- Arm Product Download Hub(PDH) から特定のArmコンパイラバージョン(例えば、Arm Compiler 5 や6)をダウンロードする場合、32-bit Windowsのバージョンをダウンロードするようにしてください。Linux版および64-bit Windowsバージョンは旧Keil のライセンシングをサポートしていないためです。
- Keilソフトウェアツールは、以下のいずれかの方法でインストールしてください。
- 2013年8月以降にリリースされたすべてのKeilインストーラは、--batch-install オプションをサポートしています。このオプションを使用すると、ユーザによる操作(License Agreementへの同意など)なしに、スクリプトでKeilソフトウェア開発ツールをインストールできます。詳細についてはUnattended Install を参照してください。
- 上記の方法がうまくいかない場合は、ソフトウェアをインタラクティブにPC にインストールすることを試してください。その後インストールフォルダ全体(またはその一部)を zipに圧縮し、GitHub/GitLab ランナーを起動するたびに解凍します。コンパイラツールチェインについては、フォルダ構造を維持し、Tools.ini ファイルも Keil ツールのインストレーションに含めるようにしてください。このファイルにはライセンス情報の一部が含まれているため不可欠です。ツールがGitHub/GitLab ランナー内の別のフォルダで実行される場合はTools.iniファイル内のパス(PATH、RTEPATH、CMSIS_TOOLBOX)を調整してください。
- Arm Product Download Hub(PDH) から特定のバージョンのコンパイラツールチェインをインストールするだけでは不十分です。旧Keil ライセンシングが指定されているため、Tools.iniファイルもベースとなるインストレーションフォルダに配置する必要があります。
- CIサーバの起動時にスクリプトファイルを使用して、UBLライセンスをCIサーバーに登録できます。これを行うには、以下の手順が必要です:
- Windows OSが動作するGitHub/GitLabランナー(またはその他の仮想マシン) を使用する必要があります。PK51、DK251、PK166ではその他のOSはサポートされていません。また、Armコンパイラツールセットでは、32-bit Windows版のみがKeil ライセンシングをサポートしています。
- UBL ライセンスを扱うには、armlm ツールが必要です。MDK v5.37以降のリリースのみこれらのツールが<MDK Install Folder>\UV4\armlm のフォルダ内に含まれます。それ以外の場合はarmlm ツールを個別にダウンロードしてインストールする必要があります。これについては、Backwards Compatibility ガイドの項目1で説明しています。PK51、PK166、およびDK251でも同様の手順が必要であり、これらのツールでは<Keil Install Folder>\UV4\armlm のフォルダへのインストールが推奨されることに注意してください。
- Backwards Compatibility ガイドの項目2~5に加えて、生成されたLICをPCに登録する必要があります。通常、これはµVisionの'License Management' ダイアログでインタラクティブに行いますが、Unattended Install の場合はKeilUtil.exe ツールを使用できます。
- 本ページの末尾に添付するzipファイルにはこのツールと各ツールセットに対応するPowerShell スクリプトが個々に含まれています。これらのスクリプトでは、armlm の出力から対応するLICが解析されKeilUtil.exe に渡されます。zipファイルをarmlm ツールと同じフォルダに展開し、スクリプトファイルの先頭にある2つのパスをご使用のツールセットのフォルダに合わせて変更してください。KeilUtil.exe ツールはWindowsレジストリへの書き込みアクセスが必要であるため、このスクリプトは管理者権限で実行する必要があります。
- これらのスクリプトに含まれるarmlm.exe activate ... が実行されると、指定されたUBL ライセンスシートが現在のユーザ名で登録済みとなりますので注意してください。この登録により、当該ライセンスシートは少なくとも7日間現在のユーザに割り当てられます。スクリプトをローカルでテストする際はCI システムと同じユーザ名を使用するようにしてください。
参考ページ :
マニュアル:
- User Based Licensing Backward Compatibility
- µVision User's Guide - Unattended Installation
-
Arm Keil MDK Download Options
FAQ:
- Arm Compiler downloads index
- How to download Keil Software Tools with a FlexNet or User-Based license (UBL)
- Using Keil MDK inside a Windows Docker Container for CI/CD
添付ファイル:
元記事:
How to use Keil legacy Tools with an MDK Professional UBL License in a CI Environment