富士通

FRファミリーのFAQ目次へ

FAQ

ツールについて

  1. _io型修飾子は、どのIO領域まで使うことができますか?
  2. FRのCコンパイラでは、charとsinged charを同様のものとして扱っているようですが、実際にはどのような違いがありますか?
  3. 初期化した変数を定義した場合、スタートアッププログラム(startup.asm)で初期値領域のROM領域をRAM領域に転送する処理を行うべきですか?
  4. SOFTUNEの各ツールのバージョンの確認方法を教えて下さい。
  5. コンパイラのみV5版を使用し、他のコンポーネントはV6を使いたいのですが、可能ですか?
  6. C言語でプログラムを作成して動作確認をした所、記述した関数には遷移しますが、関数からのリターンができないのはなぜですか? (対象:MB91350A series)
  7. ビルドを行った時に、「“fr.h”ファイルがオープンできません」とエラーがでますが、なぜでしょうか?
  8. Softuneにてデバッグ起動してリセットボタンを押しているが、リセットベクタアドレスにジャンプしないのはなぜですか?
  9. RAMの値をモニタリングする設定を教えて下さい。
  10. MB91360 seriesにおいて、SoftuneにてFLASHへロードした後、mainと50000番地のブートローダプログラムが重なって処理されている様に見えるのはなぜですか? (対象:MB91360 series)
  11. Softuneワークベンチの[プロジェクト設定]-[MCU設定]-[バスモード]を設定する部分がありますが、この意味は何ですか?
  12. MAPファイルのConfrol(S)に@-ro ROM=xxxx @-ra RAM=xxxの設定と後半の-ro _ROM_1=xxx -ra _RAM_1=xxxが重複していますが、問題ないですか?
  13. Softuneのコンパイラにて、マクロ定義をしなかった場合にワーニングを出力させる方法はありますか?
  14. MB2198-01のLAN設定について教えて下さい。
  15. PCシリアルライタ使用時の発振周波数の自由度は?
  16. MB91FV360のFLASHへロード時にBreak at 00011042 by hardware breakpoitのコメントが多く出力されます。なぜですか? (対象:MB91360 series)
  17. ステップトレーストラップフラグを有効にして、ステップ実行を行うと連続実行してしまうのはなぜですか?
  18. エミュレータデバッガで表示されるサイクル数はどの部分のサイクルですか?
  19. ある関数に遷移したときのトレースを取得するにはどうすればよいですか?
  20. ターゲットボード上のSRAMを使用することで、ROMエミュレーションを行うことは可能ですか? 量産時ROMなので本来WRは接続しませんが、CS0空間のSRAMにWR信号を接続しても問題ないですか?
  21. 0x300000の領域で動かしたいプログラムを、インテルHEX形式で作成することはできますか?
  22. .ahx -> .binの場合と、.mhx -> .binの場合とでは同じファイルが出来ますか?
  23. プログラム中に割り算があるとリンカが自動的にライブラリから、\Softune\LIB\911\lib911.lib を割り当てますが、このlibファイルの配置アドレスを指定できますか?
  24. FLASH書き込み制御プログラムをC言語で開発しているが、最適化されてしまい思うような処理にならないのですが、どうすればよいですか?
  25. MB91FV360GAのフラッシュ部へ「ダウンロード」を行おうとしました、プルダウンメニューがアクティブになりません。(対象:MB91FV360GA)
  26. MB91FV360GAのフラッシュ部へ標準添付の「ダウンロードプログラム」を実行するとダウンロード時間が長い(約5分)のですが...。(対象:MB91FV360GA)
  27. -Kspeedオプションを指定すると、CODE_4という名前の領域が勝手に生成されますが、抑止する場合はどうすればよいですか?
  28. 富士通製評価ボードMB91906EB上のFLASH:0xA0000-0x19FFFFに書き込みコマンドを与えても書き込みできません。なぜですか? (対象:MB91150 series)
  29. 富士通製CコンパイラでCソースをコンパイルすると「入れ子のコメントは許されません」とワーニングが発生するが、どうすれば良いですか?
  30. V6版コンパイラにて、機能追加分の抑止方法を教えて下さい。
  31. 富士通製評価ボードを使用しており、FLASH内蔵マイコンのプログラム書込みに富士通製PCライタを使用しますが、パソコンからのケーブルはストレート、クロスのどちらですか? (対象:MB91350A series)

1. _io型修飾子は、どのIO領域まで使うことができますか?

word :h'0000~h'03FF
short:h'0000~h'01FF
char :h'0000~h'00FF
まで使用できます。_io型修飾した変数は、ダイレクトアドレッシングにより参照しますので、通常の変数参照に比べて短いコードが生成されます。

2. FRのCコンパイラでは、charとsinged charを同様のものとして扱っているようですが、実際にはどのような違いがありますか?

文法上では、char型はsigned char/unsigned char型は別のものです。Cコンパイラがcharを符号付として扱う場合、char型=signed char型であり符号型として扱う場合、char型=unsigned char型と考えてプログラミングをお願いします。富士通Cコンパイラのデフォルトは、char型=unsigned char型として扱います。型の変更はオプション(-K SCHAR/UCHAE)で可能です。

3. 初期化した変数を定義した場合、スタートアッププログラム(startup.asm)で初期値領域のROM領域をRAM領域に転送する処理を行うべきですか?

Cコンパイラを使用したプログラム開発においては初期値付き変数が生成され、その変数の書き換えなどの処理が頻繁に行われます。初期値付き変数データはROMに配置されているが、この変数は実行時に書き換えられるために、アプリケーション実行時にRAMに置いておく必要があります。 そのため、アプリケーション実行前にRAMに初期値データを転送して使用することになります。

4. SOFTUNEの各ツールのバージョンの確認方法を教えて下さい。

Workbenchのみのバージョン確認はHELPのバージョン情報で確認出来ます。また、各ツールのバージョン情報は“Ctrl+Alt+Shift+A”で確認出来ます。

5. コンパイラのみV5版を使用し、他のコンポーネントはV6を使いたいのですが、可能ですか?

以下の手順で対応可能です。
手順1:コンパイラ以外のコンポーネントをV6版にてインストール
手順2:コンパイラのみV5版をインストール
手順3:この時、手順1、2のインストールフォルダは同一にしておく

6. C言語でプログラムを作成して動作確認をした所、記述した関数には遷移しますが、関数からのリターンができないのはなぜですか? (対象:MB91350A series)

MB91350Aでは、RAM領域の設定レジスタが2つあります。データRAM制限コントロールレジスタ(DRLR)と命令RAM制御コントロールレジスタ(FRLR)の初期値は、4kbyteの領域のみ使用許可になっており、スタートアッププログラム内にて8kbyte若しくは16kbyteの拡張設定が必要になります。STACK領域として設定している領域が無効のため、正しいSTACK値を格納できていないために関数からのリターンができないためです。IO_DRLR、IO_FRLRのアドレス設定は、define宣言にて設定して下さい。

7. ビルドを行った時に、「“fr.h”ファイルがオープンできません」とエラーがでますが、なぜですか?

I/Oヘッダーファイルを参照するためのインクルードパス設定が異なっている可能性があります。「プロジェクト」-「プロジェクトの設定」-「C/C++コンパイラ」のカテゴリ項目より「インクルードパス」を選択しパスを設定確認願います。

8. Softuneにてデバッグ起動してリセットボタンを押しているが、リセットベクタアドレスにジャンプしないのはなぜですか?

ターゲットファイルのロードがされていないために、モードデータが設定されていない可能性あります。ターゲットファイルのロード後、モードデータが設定されているかご確認願います。

9. RAMの値をモニタリングする設定を教えて下さい。

[表示]-[リアルタイムメモリ]を選択後、モニタリングするアドレスを設定することでモニタリングが可能です。

10. MB91360 seriesにおいて、SoftuneにてFLASHへロードした後、mainと50000番地のブートローダプログラムが重なって処理されている様に見えるのはなぜでしょうか? (対象:MB91360 series)

リンカのメモリ配置でROM1が設定されたまま、自動リンク設定をしてない可能性はありませんか?その場合、ROM1のメモリ配置を削除して対応してみて下さい。

11. Softuneワークベンチの[プロジェクト設定]-[MCU設定]-[バスモード]を設定する部分がありますが、この意味は何ですか?

バスモードは、デバッガからメモリ操作を行う際に『アクセス禁止領域に対するアクセス抑止機能』です。

  • 無効を選択した場合はアクセス領域に対する抑止チェックは行いません。
  • シングルチップモード/内ROM外バスモード/外ROM外バスモードを選択した場合は、メモリ空間に対応したアクセス領域チェック機能が適用されます(対象LSIはFR30コアの製品です)。

12. MAPファイルのConfrol(S)に@-ro ROM=xxxx @-ra RAM=xxxの設定と後半の-ro _ROM_1=xxx -ra _RAM_1=xxxが重複していますが、問題ないでしょうか?

MAPファイルのConfrol(S)の後半の-ro _ROM_1=xxx -ra _RAM_1=xxxはリンカでCPU情報ファイルを元に自動的に出力しているものです。もし、リンカの設定でメモリマップが設定されなかった場合は、本内容が有効になります。また、その前に@-ro ROM=xxxx @-ra RAM=xxxで設定されている場合は、前に設定した内容が有効になります。なお、後半の-ro _ROM_1=xxx -ra _RAM_1=xxxの出力は、リンカの抑止オプション(-Xset_rora)により抑止できます。

13. Softuneのコンパイラにて、マクロ定義をしなかった場合にワーニングを出力させる方法はありますか?

#if 指令の式を評価する際、#define でマクロ置換されずに識別子のまま残ったものは、0に置き換えられてから式が評価されます。これは、ANSI仕様に準拠した仕様になっております。そこで、#error を使用すると、未定義であるかわかります。

例)#if A!=0
for(I=1; I<100; I++);
#else
#error A is not defined
#endif

14. MB2198-01のLAN設定について教えて下さい。

Softune添付マニュアルのSoftuneWorkbenchの「付録C LAN設定」を参照して下さい。

15. PCシリアルライタ使用時の発振周波数の自由度は?

±2%になります。

16. MB91FV360のFLASHへロード時にBreak at 00011042 by hardware breakpoitのコメントが多く出力されます。なぜでしょうか? (対象:MB91360 series)

Flashのセクタごとの書き込みで本コメントが発生します。特に問題ではありませんので、セクタの数だけ本コメントが出るのを待ち、処理が終了するのをお待ちください。

17. ステップトレーストラップフラグを有効にして、ステップ実行を行うと連続実行してしまうのはなぜですか?

ステップトレーストラップフラグをステップ実行でクリアすると、SOFTUNEのデバッガ側の仕様で連続実行してしまいます。

18. エミュレータデバッガで表示されるサイクル数はどの部分のサイクルですか?

CPU系マシンクロックを1サイクルとしてカウントしています。

19. ある関数に遷移したときのトレースを取得するにはどうすればよいのでしょうか?

コードイベント/データイベントをトリガにしてトレースを取る事が出来ます。ただし、イベントの開始トリガにしかならないので、トレースバッファフルブレークの設定(表示->トレース->右クリックで設定画面)にしておく必要があります。バッファフルブレークにしておかないと、トレースが上書きされます。

20. ターゲットボード上のSRAMを使用することで、ROMエミュレーションを行うことは可能ですか? 量産時ROMなので本来WRは接続しませんが、CS0空間のSRAMにWR信号を接続しても問題ないでしょうか?

ターゲット上のSRAMを使用してデバッグを行うことは可能です。また、SRAMへはWR信号を接続しておかないとプログラムのダウンロードが行えません。CS0以外の領域に接続する場合は、プロシジャファイル等で事前に設定すべきレジスタをセットしたうえで、プログラムロードする必要があります。

21. 0x300000の領域で動かしたいプログラムを、インテルHEX形式で作成することはできるのでしょうか?

インテル拡張HEX形式では、0x100000以上のアドレスに割り付けられたデータは切り捨てられます。モトローラSフォーマットであれば対応していますので、こちらで作成願います。

22. .ahx -> .binの場合と、.mhx -> .binの場合とでは同じファイルが出来ますか?

.mhx ->(m2ms)-> .ahx ->(m2bs)-> .bin と.mhx ->(m2bs)-> .binは、同じバイナリができます。

23. プログラム中に割り算があるとリンカが自動的にライブラリから、\Softune\LIB\911\lib911.lib を割り当てますが、このlibファイルの配置アドレスを指定できますか?

リンカはセクション単位で配置を行っています。コンパイルする前のファイルであれば、セクションの指定は可能ですが、このライブラリは既にセクションが決められているため配置アドレスを指定することは出来ません。

24. FLASH書き込み制御プログラムをC言語で開発しているが、最適化されてしまい思うような処理にならないのですが、どうすればよいでしょうか?

変数がハード的に書き換わる場合(C言語プログラム記述上は書き変わらないがハード的に書き換わる場合)には、Cコンパイラに対して最適化してはいけない変数として定義する必要があります。C記述としては変数定義の記述時に volatile 修飾が必要です。従いまして、フラッシュメモリのハードウェア・シーケンス・フラグの変数定義はvolatile 修飾が必要となります。

25. MB91FV360GAのフラッシュ部へ「ダウンロード」を行おうとしたが、プルダウンメニューがアクティブになりません。(対象:MB91FV360GA)

ファイル名”flash911.CSV”に当該MUC名(この場合では、MB91FV360GA)が未登録の際に起こる現象です。対処としては、最新版Softuneへの入れ替え若しくは、メモリマップを参考に追加入力になります。

26. MB91FV360GAのフラッシュ部へ標準添付の「ダウンロードプログラム」を実行するとダウンロード時間が長い(約5分)のですが...。(対象:MB91FV360GA)

「デバッグ開始」後にコマンドライン及びプロシジャファイルにて内部動作クロックを設定することによりダウンロード時間の短縮は可能です。一例として最高の内部動作周波数(4MHZ×16逓倍)にて約1/5程度に短縮の実績あります。

27. -Kspeedオプションを指定すると、CODE_4という名前の領域が勝手に生成されますが、抑止する場合はどうすればよいのでしょうか?

fcc911s V50L05(V60L01)より-alignオプションが追加されています。-Kspeedを指定すると、この-alignオプションが含まれているために発生しているので、抑止したい場合は-Xalignオプションを追加指定する必要があります。

28. 富士通製評価ボードMB91906EB上のFLASH:0xA0000-0x19FFFFに書き込みコマンドを与えても書き込みできません。なぜですか? (対象:MB91150 series)

MB91150シリーズでは、内ROM外バスおよびシングルチップモードのみをサポートしています。いずれの場合も、0xA0000-0xFFFFF番地は内蔵ROMが見えるようになっています。従ってMB91906EB上のFLASHは0x100000-0x19FFFFまでが使用可能です。尚、ボード上のFLASHアドレスが固定のため、バス設定用レジスタで変更しても上記アドレスのみしかアクセスできないことをご理解の上、ご使用ください。

29. 富士通製CコンパイラでCソースをコンパイルすると「入れ子のコメントは許されません」とワーニングが発生するが、どうすれば良いですか?

富士通製Cコンパイラの言語仕様はANSI規格に準拠しているため、コメント(/*範囲コメント*/)の入れ子は許していません。コメント(/*範囲コメント*/)をチェックすることをお奨めします。

30. V6版コンパイラにて、機能追加分の抑止方法を教えて下さい。

追加機能毎に機能追加/ 追加抑止のコマンドオプションが有ります。詳細は、CD-ROM添付のRead meを参照願います。

31. 富士通製評価ボードを使用しており、FLASH内蔵マイコンのプログラム書込みに富士通製PCライタを使用しますが、パソコンからのケーブルはストレート、クロスのどちらでしょうか? (対象:MB91350A series)

富士通製評価ボードを使用する場合は、クロスケーブルをご使用願います。DIP SW1のNo.5をON(下)にしないと、SIN3端子の信号が伝わりません。PCライタは、PN0/PPG0、PN2/PPG2を“L”に設定します。