上野家のホームページ
ナーマル,マリン,ココ
[
新規
|
一覧
|
検索
|
最新
|
ヘルプ
]
開発/HEW
のソース
資料室
開発
/
HEW
のソース
[
差分
|
バックアップ
|
リロード
]
[ ]
差分
を表示
開発/HEW
へ行く。
#contents *HEW4のウィザードで作成したプロジェクトで生成されるセグメント [#g612331a] C/C++ Compilerが生成するもの(C/C++)と,HEWウィザードが生成するもの(HEW)がある。 |RO/RAM|セグメント名|説明|h |ROM|PResetPRG|(HEW) resetprg.c にて #pragma sectionで生成されるプログラムコード| |^|PIntPRG|(HEW) intprg.c にて #pragma sectionで生成されるプログラムコード| |^|P|(C/C++) : プログラムコード| |^|C|(C/C++) : 定数| |^|C$DSEG|(HEW) dbsct.c の #pragma $DSECにて生成される定数| |^|C$BSEG|(HEW) dbsct.c の #pragma $BSECにて生成される定数| |^|D|(C/C++) 初期化データ| |RAM|B|(C/C++) 未初期化データ| |^|R|(C/C++) ROM 化支援で多重化された初期化データ| |^|S|(HEW) stacksct.h の #pragma stacksize にて生成されるスタック領域| -HEWウィザードが生成するセグメントは,HEWのフレームワークに沿って生成,利用されるもの。~ -HEWは,割り込みハンドラのダミー関数作成,ベクタテーブルの生成と登録をintprg.cで行っている。これらを自分で行う場合は,intprg.cを削除し,xIntPRGセクションも削除する。(intprg.cにある__interrupt(vect=N)の記述は,ベクタテーブル生成とベクタテーブルへの登録をLOCATEによるROMアドレス直接指定を使って生成する)。~ -HEWは,リセット起動した後のセクションの初期化は,resetprg.cのPowerON_Reset()関数の中で_INITSCT()関数を呼び出して実行する。_INITSCT()関数にセクション情報を与えるデータベースがdbsct.c。C$DSEGとC$BSEGセクションは,dbsct.cで作成される定数セクション。セクションの初期化を自分で行う場合は,dbsct.c,C$DSEGとC$BSEGセクション,resetprg.cのPowerON_Reset()関数の_INITSCT()関数呼び出しは不要になる。~ -resetprg.cのPowerON_Reset()関数は,__entry(vect=0)によりROMの000000H番地にPowerON_Reset()関数のアドレスを配置するコードが生成される。これはセクションではなくLOCATE命令で直接的に行われるため,配置を変更することはできない。(モニタを使って仮想ベクタテーブルを用いる場合は,__entry(vect=n)の記述は使用しない。~ *デフォルトで設定される主なセクション [#d1f5734a] |セクション名|説明|配置する場所|h |P|プログラムのコード|フラッシュメモリ| |C|定数値。const int x = 10;と書いたときのxなど。|フラッシュメモリ| |D|変数の初期値。int y = 30;と書いたときの30など。なお,yは別途RAMに置かれる。|フラッシュメモリ| |B|初期値の設定がないグローバル変数の領域。int z;と書いたときのzなど。|RAM| |R|初期値の設定があるグローバル変数のRAM領域。int y=30;と書いたときのyなど。なお,30はDセクションに記録。|RAM| |S|スタック領域。ローカル変数や,関数の呼び出し履歴などを記録するRAM上のエリア。|RAM| *RESET時に呼ばれる関数 [#a98af2fd] void PowerON_Reset_PC(void) { int *p,*x; set_vbr((void *)((_UBYTE *)&INT_Vectors - INT_OFFSET)); _INITSCT(); ROMからRAMにコピーするところ // 中略 main(); sleep(); }
開発/HEW のバックアップソース(No. All)
現: 2020-12-26 (土) 15:07:34
yuji
Counter: 1757, today: 1, yesterday: 1
Copyright©2008 Yuji Ueno All Rights Reserved.
ログイン
ユーザ名:
パスワード:
IDとパスワードを記憶
パスワード紛失
メインメニュー
ホーム
でぶlog
資料室
最新ページ一覧
全ページ一覧
ヘルプ
» 関連ページ
» Wikiソース
» 編集履歴
» バックアップ一覧
» 添付ファイル一覧
フォーラム
お問い合わせ