NEC ELECTRONICS NEC ELECTRONICS
NEC electronics NEC electronics NEC
ホーム
アプリケーション
製品情報
先端技術
サポート
WEBショップ
ニュース&イベント
会社案内
header
GO
詳細検索機能/特性検索
サイトマップ お問い合わせ

スタートアップ・モジュール関連


目次

    
FAQ-ID = 78k0s-nnn
443: スタートアップ・ルーチンは どのような処理を行うのですか?
737: バッチ・ファイルを使用しないでスタートアップ・ルーチンを変更する方法はありますか?
195: main関数まで実行したのですが、RAMが0クリアされません。
196: 高速RAM領域をすべて0クリアしたいのですが?
197: ビットデータ(@@BITSセグメント)を0初期化したいのですが?
260: 78K0マイクロコントローラのスタートアップ・ルーチンのpublic変数は何に使われているのですか?
290: スタートアップ・ルーチンを修正してオブジェクト・ファイルを作成すると、エラーが発生します。
534: スタートアップ・ルーチンを変更しているのですが、「_@STBEG」シンボルが、リンク時にundefined symbolエラーになります。
334: 書き換えが行われないpublic変数は必要なのですか?
336: スタートアップ・ルーチンをカスタマイズすることで、exit関数を削除できますか?
598: オプション・バイトの設定はどうすればよいですか?

78k0s
-443
スタートアップ・ルーチンは どのような処理を行うのですか?
Q
スタートアップ・ルーチンは どのような処理を行うのですか?
A
主に以下の処理を行います。
  • スタック・ポインタの設定
  • ハードウエアの初期化(早期に行う必要のあるもの)
  • ライブラリで使用する変数の初期化
  • 初期値あり外部変数の初期値をROMからRAMに転送
詳細については、ユーザーズ・マニュアル CC78Kx 操作編「第8章 スタートアップ・ルーチン」 を参照してください。

-78K0- -78K0S- -78K4- -78K0R-

この情報はお役にたちましたか?
back to top  

78k0s
-737
バッチ・ファイルを使用しないでスタートアップ・ルーチンを変更する方法はありますか?
Q
バッチ・ファイルを使用しないでスタートアップ・ルーチンを変更する方法はありますか?
A
バッチ・ファイルを使用しないで、バッチ・ファイルを更新する方法を説明します。
  1. PM+のコンパイラオプションの設定ダイアログ→[スタートアップ・ルーチン]タブ →“標準のスタートアップ・ルーチンを使用する”オプションを無効にしてください。


    D_CompilerOption.jpg


  2. プロジェクトの設定ダイアログ→[ソース・ファイル]タブで、 スタートアップ・ルーチン(例えばcstart.asm)をソース登録してください。
    ただし、cstart.asmに定義している初期値あり/なし変数のセグメントのラベルを先頭にするため、先頭に登録してください。


    D_ProjectSetting.jpg


  3. リンカオプションの設定ダイアログ→[その他]タブの“スタック解決用シンボルの生成” オプションを有効にしてください。


    D_LinkerOption.jpg

以上で、cstart.asmをソース登録することによって、PM+のProjectWindowに表示され、 変更が可能になります。

-78K0- -78K0S- -78K4- -78K0R-

この情報はお役にたちましたか?
back to top  
(2007/07)

78k0s
-195
main関数まで実行したのですが、RAMが0クリアされません。
Q
main関数まで実行したのですが、RAMが0クリアされません。
A
リンク時に、スタートアップ・ルーチンを先頭に記述してみてください。
スタートアップ・ルーチンのソースをプロジェクト・マネージャ(PM)上でソース設定している場合は、 先頭に登録してみてください。

-78K0- -78K0S- -78K4- -78K0R-

この情報はお役にたちましたか?
back to top  

78k0s
-196
高速RAM領域をすべて0クリアしたいのですが?
Q
高速RAM領域をすべて0クリアしたいのですが?
A
スタックを使用する前に、スタートアップ・ルーチン中に0クリアするコードを記述してください。
CALL !_hdwinitの前に記述する必要があります。

-78K0- -78K0S- -78K4-

この情報はお役にたちましたか?
back to top  

78k0s
-197
ビットデータ(@@BITSセグメント)を0初期化したいのですが?
Q
ビット・データ(@@BITSセグメント)を0初期化したいのですが?
A
データ領域をすべて0で初期化してから、スタートアップ・ルーチンの他の初期化処理を行ってください。
または、バイト単位で領域を確保して、ビット単位で領域を使用してください。

-78K0- -78K0S- -78K4-

この情報はお役にたちましたか?
back to top  

78k0s
-260
78K0マイクロコントローラのスタートアップ・ルーチンのpublic変数は何に使われているのですか?
Q
CC78K0、CC78K0Sで、cstart.asmを参考にスタートアップ・ルーチンを作成しているのですが、 以下のpublic変数は何に使われているのですか?

・_@RTARG0〜7
・_@NRARG0〜3
・_@NRAT00〜07
・_@KREG00〜15
A
・_@RTARG0〜7

出力するオブジェクト、 および一部の標準ライブラリから呼び出されるランタイム・ライブラリの引数に使われています。

・_@NRARG0〜3

拡張仕様の1つであるnorec関数の引数に使われています(-QOオプション未指定時のみ)。

・_@NRAT00〜07

拡張仕様の1つであるnorec関数の自動変数に使われています(-QOオプション未指定時のみ)。

・_@KREG00〜15

レジスタ変数に使われています(-QRオプション指定時のみ)。

-78K0- -78K0S-

この情報はお役にたちましたか?
back to top  

78k0s
-290
スタートアップ・ルーチンを修正してオブジェクト・ファイルを作成すると、エラーが発生します。
Q
CC78K0S V1.10で、スタートアップ・ルーチンをカスタマイズし、 mkstup.batファイルを使用してオブジェクト・ファイルを作成したいのですが、 以下の方法で行うとエラーが発生します。

1)mkstup 9026 nca を実行
→ オブジェクト・ファイルは作成できますが、リンク時にエラーが発生します。

2)mkstup -cf9026a nca を実行
→ オブジェクト・ファイルが作成できず、エラー・メッセージ

A100 ’ファイル名’ Illegal processor type

が表示されます。
A
1)
NECTOOLS\SRC\CC78K0S\BATにてmkstup 9026を実行すると、..\LIBの下にS0S*.RELが生成されます。
これらの中で、必要なスタートアップ・ルーチンをNECTOOLS\LIB78K0S\LIBの下にコピーして使ってください。
なお、9026の後のncaは不要です。

2)
NECTOOLS\SRC\CC78K0S\BATの下にDF9026A.78Kをコピーし、mkstup f9026aを実行してください。
以降は、1)と同様の手順です。

-78K0S-

この情報はお役にたちましたか?
back to top  

78k0s
-534
スタートアップ・ルーチンを変更しているのですが、「_@STBEG」シンボルが、リンク時にundefined symbolエラーになります。
Q
スタートアップ・ルーチンを変更しているのですが、「_@STBEG」シンボルが、 リンク時にundefined symbolエラーになります。
A
_@STBEGはリンカのスタック解決用シンボル生成指定オプション-Sで生成されるシンボルです。
リンク時に、-Sオプションを指定してください。
-Sオプションは指定した領域(デフォルトはRAM)の中の最大の空き領域の先頭と最後のアドレスにシンボルを生成します。

534.jpg

-78K0- -78K0S- -78K4- -78K0R-

この情報はお役にたちましたか?
back to top  

78k0s
-334
書き換えが行われないpublic変数は必要なのですか?
Q
書き換えが行われないpublic変数が多いですが、 これらはすべて必要ですか?
削除できるのであれば、削除できる変数はどのように判断すればよいですか?
A
標準ライブラリが使用する_@FNCTBL等の領域については、使用されているライブラリを確認し、 cstart.asm中のEXITSW等のEQUシンボルの値を変更することにより、未使用の領域を削除できます。

_@NRARG0〜3、_@NRAT00〜07、_@KREG00〜15については、指定されているオプションにより、 削除できるか否かを判断できます。

また、_@RTARG0〜7、_@NRARG0〜3、_@NRAT00〜07、_@KREG00〜15の中で、 必要な領域のみをリンクするようになっています。

-78K0- -78K0S- -78K4-

この情報はお役にたちましたか?
back to top  

78k0s
-336
スタートアップ・ルーチンをカスタマイズすることで、exit関数を削除できますか?
Q
スタートアップ・ルーチンの中で、EXITSWを0に設定することにより、 exit関数を削除できますか?
A
できます。

-78K0- -78K0S- -78K4-

この情報はお役にたちましたか?
back to top  

78k0s
-598
オプション・バイトの設定はどうすればよいですか?
Q
オプション・バイトの設定はどうすればよいですか?
A
オプション・バイトについてはアセンブラ記述のモジュールを追加して、 そこでDB疑似命令を用いて記述してください。
スタートアップ・ルーチンに追加するのが簡単です。

以下にオプション・バイト設定の記述例を示します。

OPT  CSEG AT 0080H
OPTION:DB  0F1H

-78K0- -78K0S- -78K4-

この情報はお役にたちましたか?
back to top  





















 ご利用にあたって  個人情報保護について  RSS       © 1995-2008  NEC Electronics Corporation