NXTSCR ( Next System Configuraion )レジスタは、SWRSTによるソフトウェアリセット後のADSP-2191の動作を設定するレジスタです。
このレジスタは通常はストラップオプションで設定するブートモードをレジスタの設定で強制することができます。そのため、ハードウェアブート時とは異なる方法で再ブートすることも可能です。
このレジスタは16ビットのレジスタです。リセット後は0に初期化されます。
図1 レジスタの構造
以下に各ビットフィールドの説明を行います。詳しくはHRを参照してください。
BMODE 1-0とBMODE2の組み合わせは次のとおりです。
BMODE | リセット後の動作 | ||
---|---|---|---|
2 | 1 | 0 | |
0 | 0 | 0 | 0x010000番地から始まる16ビットメモリーのプログラムを実行します。 |
0 | 0 | 1 | EPROMブート |
0 | 1 | 0 | ホストブート |
0 | 1 | 1 | 予約 |
1 | 0 | 0 | 0x01-0000番地から始まる8ビットメモリーのプログラムを実行します。 |
1 | 0 | 1 | UARTブート |
1 | 1 | 0 | 4KbitまでのSPI-ROMからブート |
1 | 1 | 1 | 4Kbitを超え、512KbitまでのSPI-ROMからのブート |
C/C++言語用に以下のインターフェースが用意されています。宣言はsysreg.hで行われています。NXTSCRにアクセスする前には必ずIOPGにClock_and_System_Control_Pageを設定してください。
// #include <sysreg.h> // #include <def2191.h> sysreg_write(sysreg_IOPG, Clock_and_System_Control_Page) // クロックページに設定 io_space_write(NXTSCR, 値) // NXTSCRに値を設定 変数 = io_space_read(NXTSCR) // NXTSCRの値を取得。
アナログデバイセズが配布しているmcmの中のビット定義ファイルdef2191bit.hから関連するビット定義部分をここに引用します。
// Definition of NXTSCR HR B-18 // Too avoid the trouble. BMODE_MASK and BMODE_OFST is not defined. // Be careful that this definition takes 3 bits for BMODE, instead // HR B-18 gives only 2 bits. #define PFMODE BIT_5 #define RMODE BIT_4 #define BMODE_NOBOOT16 0x0000 #define BMODE_EPROM8 BIT_1 #define BMODE_HOST BIT_2 #define BMODE_NOBOOT8 BIT_0 #define BMODE_UART 0x0003 #define BMODE_SPI4K 0x0005 #define BMODE_SPI512K 0x0007
項目 | マニュアルのページ等 |
---|---|
レジスタ説明 | HR B-18 |
ブートモード | 14-13 |