製品・ソリューションサイト

Armを活用した組込み製品の開発ならArm社純正開発ツールの正規販売代理店 都築電気にお任せください

Arm製品のご購入・導入についてのご質問は都築電気へ

都築電気は、長年、蓄積してきた半導体ビジネスの知識、技術、経験を十分に活かし、Arm社純正の統合開発環境(DS-5,MDK-Arm,PK51, DK251,PK166)を通じて、お客様が安心でき、かつ効率的なソフトウェア開発環境の実現をサポートします。

ArmについてのFAQ

ユーザー使用許諾契約についてのFAQ

ユーザー使用許諾契約について教えてください
Arm製品をご使用になられるにあたり、ユーザー使用許諾契約をご一読ください。
MDK-Arm 使用許諾契約
http://www.keil.com/support/man/docs/license/license_agreement_mdk.htm PK51, PK166, DK251 使用許諾契約
http://www.keil.com/support/man/docs/license/license_agreement_cxxx.htm DS-5 使用許諾契約
https://developer.arm.com/products/software-development-tools/ds-5-development-studio/documentation-5-26/ds-5-eula

MDK-Arm uVisionデバッガ & コンパイラについてのFAQ

システム要件について
1GHz動作の32,64ビットプロセッサ(推奨 2GHz 64ビットプロセッサ)、RAM 1GB(推奨4GB)、HDD 2GB(推奨5GB)
Windows10, Windows8.1, Windows7
詳細については下記のサイトをご参照願います。
http://www2.keil.com/system-requirements/
以前のバージョンをダウンロードしたい
以下へアクセスして頂きまして、
https://www.keil.com/download/product/
お手元のPSN及びLICを入力するとダウンロードできます。
※FlexLMのフローティングライセンスの場合は以下のURLをご参照願います。ダウンロード用PSNを掲載しています。
http://www.keil.com/support/docs/3698.htm
LIC(License ID Code)取得時のインフォメーション画面で、新しいPSNを入力してくださいとのメッセージが出る
サポート&メンテナンスにて新しいPSNが発行されていることが考えられます。新しいPSNについてご不明な場合は、弊社窓口までお問い合わせください。
Node-Locked版ライセンスの移動は出来ますか?
ライセンスをアンインストールすることで、3回まで移動出来ます。
※USBドングルライセンスについては、アンインストールする必要はありません。
ライセンスサーバーのリホストについて(Keil フローティングライセンス)
*.FLFファイルの移動は出来ませんので、ライセンスサーバーをリホストされる場合は、弊社窓口までお問い合わせください。
ROM/RAMの配置アドレスを変更したい
スキャッタファイルを編集して、モジュールを特定のメモリ領域に割り当てることが出来ます。
μVisionのメニュー > Project > Options for Target > Linkerタブにて、Use Memory ..のチェックを外し、Scatter FileのEditをクリックして、スキャッタファイルをエディタで編集します。
スキャッタファイルの記述については下記のサイト(スキャッタファイル構文)をご参照願います。
http://infocenter.arm.com/help/topic/com.arm.doc.dui0474kj/pge1362075656353_00003.html
スタック使用量の算出方法について教えてください
スタック使用量については、静的解析と動的解析があります。

静的解析は、Callgraph という機能があります。
http://www.keil.com/support/man/docs/uv4/uv4_dg_adslst.htm

uVisionのメニューから Project > Options for Target を開いて、Listingタブで、Callgraphをチェックします。
ビルドするとプロジェクトフォルダにHTML(*.htm)ファイルが出来ます。ファイルをご確認ください。

動的解析については、以下のマニュアルをご参照ください。
Stack use in C and C++
http://www.keil.com/support/man/docs/armcc/armcc_chr1359124223721.htm

スタック領域に既知の値のコピー(たとえば、0xDEADDEAD)を入力し、最も多くスタックを消費するアプリケーションの実行後、既知の値が書き換えられたサイズを計算します。
デバッグ時に異なるプロジェクトのデバッグ情報を追加する方法はありますか?
LOAD コマンドを使用することで可能です。
以下のマニュアルをご参照ください。

LOAD
http://www.keil.com/support/man/docs/uv4/uv4_cm_load.htm

LOAD %L INCREMENTAL

例)
LOAD flash\Blinky.axf INCREMENTAL <= プロジェクトAの *.axf ファイルを指定します。

INCREMENTAL は、既存のシンボルテーブルにデバッグ情報を追加します。これにより複数アプリケーションのデバッグが可能になります。
現在有効になっているバージョンの確認方法はありますか?
uVisionのメニューから Help > About uVision を選択します。設定されているコンパイラが表示されます。
Armコンパイラ5とArmコンパイラ6を切り替える方法はありますか?
uVisionのメニューから Project > Options for Target を選択して、Targetタブの Code Generation にてコンパイラを選択します。
データのリード/ライトをトレースする方法はありますか?
  1. uVisionのメニュー > Project > Options for Target > Debug タブを選択します。
  2. ULINK Pro Cortex Debugger等のSettingsをクリックします。
  3. Traceタブをクリック
  4. Trace Port , Trace Enable , Trace Event を設定します。
  5. Trace Port - Serial Wire Output
  6. Trace Enable - チェック
  7. Trace Event - LSU:Load Store Unit Cycles をチェック
  8. OKでウインドウを閉じて、デバッグセッションへ移行します。
  9. uVisionのメニュー View > Trace Data, Event Counters を選択します。
  10. Trace Data Window でITM - Data Read/Writeを選択します。
以下のマニュアルをご参照ください。
http://www.keil.com/support/man/docs/ulinkpro/ulinkpro_trace_cortex.htm
http://www.keil.com/support/man/docs/ulinkpro/ulinkpro_tr_events.htm
MDK-ArmでArmコンパイラを複数バージョン管理する方法はありますか?
以下は手順となります。
  1. MDK-Armを同一フォルダ(例 : C:\Keil_v5)に古いバージョンからインストールして頂きまして、新しいバージョンをインストールする時にバックアップを作成するにチェックを入れてインストールを行います。(MDK v5.12 以降が対象となります。)
  2. インストール後、Project - Manage - Project Items - Folders/Extensions.にてコンパイラを登録します。
以下のマニュアルをご参照ください。
Manage Arm Compiler Versions
http://www.keil.com/support/man/docs/uv4/uv4_armcompilers.htm
MDK-ArmでGNUコンパイラを使用する方法はありますか?
  1. GNUコンパイラがインストールされていない場合は、GNUコンパイラをダウンロードしてインストールして頂く必要があります。
    https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads
  2. Project > Manage > Components, Environment, Books.. を開き、Use GCC をチェックします。
以下のマニュアルをご参照ください。
GNU C Compiler Support
http://www.keil.com/arm/gnu.asp
uVisionにて、main()関数へ遷移する前のステップ実行をする方法はありますか?
  1. uVisionのProject > Options for Target ' ' を選択して開きます。
  2. "Debug"タブを選択して、"Run to main()"のチェックを外します。"OK"をクリックして閉じます。
  3. Debug Session へ移ります。
  4. "Disassembly"ウインドウをクリック(ウインドウのどこでも良いので左クリック)してから、"Step"実行します。

DS-5についてのFAQ

DS-5のインストールでULINKproのドライバーがインストールされません。どのようにドライバーをインストールしたら良いでしょうか?
DS-5 にはULINKproのドライバが用意されていません。
お手数ですが、都築電気のHPからMDK-Armの評価版をダウンロードしてインストールしてください。
http://tsuzuki.jp/arm/mdk-arm.html
MDK-Armのインストール時に、ULINKproのドライバがインストールされます。
DS-5のデフォルトで設定されている以外のArmコンパイラ(例えば古いコンパイラバージョン)を使用する方法はありますか?
以前にリリースされたコンパイラバージョンを新しいDS-5へ登録して使用する方法があります。
以下は手順となります。
  1. 以下のURLへアクセスします。
    https://developer.arm.com/products/software-development-tools/compilers/legacy-compiler-releases
  2. ダウンロードしたいArmコンパイラを選択して、インストーラをダウンロードします。(Armのアカウントが必要です。)
  3. ダウンロードしたインストーラを展開して、setup.exeを実行してセットアップします。
    (デフォルトのパスは、C:\Program Files (x86)\ARM_Compiler_5 となっています。)
  4. DS-5を起動します。
  5. DS-5のメニュー > ウィンドウ > 設定 を選択します。
  6. 設定ウィンドウのDS-5 > Toolchains を選択して、"追加"をクリックします。
  7. ツールチェインのパスを選択して(例 : C:\Program Files (x86)\ARM_Compiler_5) "適用" , "OK"をクリックして閉じます。
  8. DS-5のメニュー > プロジェクト > プロパティ を選択します。
  9. C/C++ビルド > Tool chain エディター を選択して、"現在のtoolchain"のプルダウンメニューから使用するコンパイラバージョンを選択して、 "適用" , "OK"をクリックして閉じます。
  10. コンパイラの設定が完了しましたので、プロジェクトのビルドを行います。
以下のマニュアルをご参照ください。
4.13 DS-5 コマンドプロンプトからのコンパイラツールチェーンの登録
http://infocenter.arm.com/help/topic/com.arm.doc.dui0478zj/vvi1409328963940_00020.html

DS-5 & MDK-Arm コンパイラについてのFAQ

関数毎に最適化レベルを変えることはできますか?
ソースコードに#pragma Onum を記述することで可能です。
以下のマニュアルをご参照ください。

10.93 #pragma Onum
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0472lj/chr1359124988971_00007.html
使用していないセクション(関数等)が削除されてしまいます。削除しない設定はありますか?
Options for Target の "Linker"タブで、--no_remove または、--keep=section_id を指定することで可能です。
以下のマニュアルをご参照ください。

未使用入力セクションの削除を有効または無効
12.118 --remove、--no_remove
http://infocenter.arm.com/help/topic/com.arm.doc.dui0474kj/pge1362075556280_00005.html

未使用セクションの削除で削除されないようにする入力セクションを指定します。
12.79 --keep=section_id
http://infocenter.arm.com/help/topic/com.arm.doc.dui0474kj/pge1362075498955_00009.html
異なるプロジェクトのシンボルを参照する方法はありますか?
--symdefs のリンカコマンドオプションを使用することで可能です。
以下のマニュアルをご参照ください。
ArmLINK: Create and import a symdefs file
http://www.keil.com/support/docs/4014.htm
空き領域にパディングデータを挿入する方法はありますか?
スキャッタファイルへ記述する方法があります。
スキャッタファイルの編集は、"Options for Target .."を開いて、
"Linker"タブをクリックして、"Use Memory Layout from Target Dialog"のチェックを外して、
"Scatter File"の"Edit"にて編集してください。

*.sct ファイル
例)
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************

LR_IROM1 0x08000000 0x00040000  {    ; load region size_region
ER_IROM1 0x08000000 0x00040000  {  ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
}
RW_IRAM1 0x20000000 0x00010000  {  ; RW data
.ANY (+RW +ZI)
}
}
LR_IROM2 +0 {

ER_BLANK_REGION +0 FILL 0x12345678 0x0003DE4C  {}
}
;===============================================================
ER_BLANK_REGION +0 FILL 0x12345678 0x0003DE4C
0x12345678 = 埋込データとなります。00h としたい場合は、0x00000000 としてください。
0x0003DE4C = 埋込サイズとなります。マニュアルで調整が必要です。メモリマップを確認して調整してください。

例)
;=========================================================================================
Load Region LR_IROM2 (Base: 0x080021b4, Size: 0x0003de4c, Max: 0xffffffff, ABSOLUTE)

Execution Region ER_BLANK_REGION (Exec base: 0x080021b4, Load base: 0x080021b4, Size: 0x0003de4c, Max: 0x0003de4c, ABSOLUTE)

Exec Addr    Load Addr    Size         Type   Attr      Idx    E Section Name        Object

0x080021b4        -       0x0003de4c   Zero   RW            1    ER_BLANK_REGION.bss  anon$$obj.o
;==========================================================================================
ROM領域 0x08040000 - 0x080021B4 = 0x0003DE4C

以下、URLをご参照ください。
Fill unused sector in flash with random value
http://www.keil.com/forum/60463/"

デバッグアダプタについてのFAQ

ULINK2とULINKProの違いは何ですか?
ULINKProには、ETM機能、ストリーミング・トレースが追加されています。ETM機能とは(コードカバレッジ、エグゼキュート・プロファイル、パフォーマンス・アナライザ)また、200MHzCPUに対応可能。ULINKファミリの「製品の特長一覧表」をご参照下さい。
http://tsuzuki.jp/arm/ice-ulink.html
ULINK2の電源範囲は?
2.7V~5.5Vです。ジャンパーピンをArm側に設定してください。
http://www.keil.com/support/man/docs/ulink2/ulink2_hw_jumpers.htm
ULINKProの電源範囲は?
5V時の動作電圧範囲
・5v Adapter 4.5-5.5v operation
・Isolation Adapter 1.8-5.5v operation
http://www2.keil.com/mdk5/ulink/accessories
3V時の動作電圧範囲
1.2V~3.3Vです。
低消費電力モード(Stop、Sleep等)でも動作可能か?
動作はしません。パワーダウンの間、ULINKは仕事を中止します。
http://www.keil.com/forum/9405/
コネクタのメーカと型格は何ですか?
10-pin header (Samtec FTSH-105-01) 20-pin header (Samtec FTSH-110-01)
http://www2.keil.com/coresight/coresight-connectors
ULINKデバッガコネクタ部分のピンアサインは?
10-Pin Cortex Debug Connector
20-Pin Cortex Debug + ETM Connector
20-Pin Arm Standard JTAG Connector
38-Pin Arm ETM Mictor Connector
http://www2.keil.com/coresight/coresight-connectors
MDK-Arm version4.70以降のバージョンで使用したULINK2をversion4.70よりも前のバージョンで使用するとULINK2アダプタを認識しません
ULINKのファームウェアが自動アップデートされたことにより、ブートモードの設定が変更されたことが考えられます。UL2_Configure.exeを使用してブートモードをCMSIS-DAPからULINKブートモードへ切り替えてください。
詳細については下記のサイトをご参照願います。
http://www.keil.com/support/man/docs/ulink2/ulink2_boot_mode.htm
ULINKで「SWD Communication Failure」が発生します。別のULINKでは問題ありません。解決策はありますか?
「SWD Communication Failure」とのことですので、ターゲットとULINKの間のSWD通信が成立していないようです。
SWDケーブルを交換することで解決する場合があります。
以下、URLをご参照ください。
http://www.keil.com/support/man/docs/ulink2/ulink2_errors.htm
http://www.keil.com/support/man/docs/ulinkpro/ulinkpro_errors.htm

それでも接続出来ない場合は、以下のTroubleshooting Guide をご参考にして故障内容をご確認頂き、弊社窓口までお問い合わせください。
http://www.keil.com/support/man/docs/ulink2/ulink2_trblshooting.htm
http://www.keil.com/support/man/docs/ulinkpro/ulinkpro_trblguide.htm
http://www.keil.com/support/man/docs/ulinkplus/ulinkplus_trblguide.htm

MDK-Arm ライセンスについてのFAQ

サポート&メンテナンス期間について
ソフトウェア(MDK-Arm)はご購入後、1年間となります。
継続される場合は、再契約することが出来ます。
Floating licenseにてコンパイルしようとしたところ、以下のエラーが表示されコンパイルできません
Error: L9555E: License checkout for feature LIC0 =xxx with version 5.0201601 has been denied by Keil back-end. Error code: 1
同一のLICが複数存在しており、一部は非アクティブであり、一部はアクティブとなっていたためです。
このようなことから、この問題が発生します。

解決するにはArm-UKでの手続きが必要となります。弊社窓口までお問い合わせください。
Armにて、問題のLIC削除後、弊社からLIC削除の連絡をします。その後、新しいLICをリクエストしてください。
http://www.keil.com/support/man/docs/license/license_ful_install.htm
USBドングルライセンスでドングルのドライバーをインストールし、ドングルを挿入してコンパイルしたところ、以下のエラーが発生する。デバイスマネージャーでは、正常に認識しているようである。どのように対策すれば良いでしょうか?
Error: C9555E: Failed to check out a license.MISSING DEVICE (R012(0): DRIVER NOT INSTALLED)
おそらく、Sentinelドライバーのインストールが正常に終了していないことが考えられます。
インストール状況を確認することが出来るアプリケーションがSentinelより提供されています。
Sentinelのアプリケーションについては下記の通りとなります。
Sentinel Advanced Medic
https://sentinelcustomer.gemalto.com/sentineldownloads/
(keyword 検索すると見つかります。)
このアプリケーションをインストールし、実行すると、Sentinelのコンポーネントが正しくセットアップされているか確認出来ます。
Parallel Driver がセットアップされていないと、コンパイルエラーとなるケースがあります。

Sentinel-Protection-Installer-7.6.8 で解決したとの事例があります。(古いバージョンを使用する。)

ドキュメントについてのFAQ

MDKのミドルウェアを使用するにあたり、参考となる資料はありますか?
以下のURLへアクセスします。
Online Manuals for MDK
http://www2.keil.com/mdk5/docs

Arm/Keil Software Packs
  • MDK Middleware Components User's Guide (latest version)
  • MDK Middleware Components User's Guide (version 6)
をご確認ください。
MDKのアプリケーションノートはありますか?
以下のURLにアプリケーションノートのリストがあります。
Arm Application Notes
http://www.keil.com/appnotes/list/arm.htm

Armについてのお問い合わせ

お気軽にお問い合わせください。
Arm純正ツール 国内正規販売代理店
都築電気株式会社

WEBからのお問い合せはこちらから

お問い合わせ・資料請求はこちら

販売に関する電話でのお問い合わせ
(平日 9:00~17:00)

東京
03-3502-2533 (Armソリューション課)
名古屋
052-933-7031
大阪
06-6204-7188

技術サポートに関するお問い合わせ
(平日 9:00~17:00)

TEL
03-3502-2533

※個人情報の取り扱いについては都築電気株式会社個人情報保護方針のページをご覧ください。