●nios-runの扱えるファイルの種類● *.srec SRAM書き込み形式。 nios-buildの標準出力ファイル。 0x0004 0000 に対してダウンロードできる。 *.flash flash-rom書き込み形式 0x0010 0000 から0x001F FFFFの間のどこにでも出力できる。 GERMSモニターのコマンドを直接記述することができる。 srec から flash には srec2flash というツールを用いて変換できる。 (この場合、標準的には 0x0014 0000 から書き込む。) *.hexout Quartus IIの出力形式 GERMS monitor で r180000 としておくと、 0x0018 0000 に対してダウンロードできる。 ●メモリ割り当て● ======================================================================== 0000 0000 boot_monitor_rom : GERMS モニター : (1KB = 1024 byte) 03FF (リセット時は0x0000 0000から始まる。) ------------------------------------------------------------------------ 0400 UART1 IRQ 26 : (32 byte) 041F (Host Communication) ------------------------------------------------------------------------ 0420 seven_seg_pio : (32 byte) 042F ------------------------------------------------------------------------ 0430 未使用領域 : (16 byte) 043F ------------------------------------------------------------------------ 0440 Timer1 IRQ 25 : (32 byte) 045F ------------------------------------------------------------------------ 0460 led_pio : (16 byte) 046F ------------------------------------------------------------------------ 0470 button_pio IRQ 27 : (16 byte) 047F ------------------------------------------------------------------------ 0480 lcd_pio : (16 byte) 048F ------------------------------------------------------------------------ 0490 未使用領域 : (16 byte) 04BF ------------------------------------------------------------------------ 04C0 UART2_debug IRQ 28 : (32 byte) 04DF (Debugging Communication) ------------------------------------------------------------------------ 04E0 未使用領域 : (32 byte) 04EF ------------------------------------------------------------------------ 0500 未使用領域 : (2.75KB = 2816 byte) 0FFF ------------------------------------------------------------------------ 1000 未使用領域 : (60KB = 61440 byte) FFFF ======================================================================== 0001 0000 未使用領域 : (192KB = 196608 byte) 0003 FFFF ------------------------------------------------------------------------ 0004 0000 ext_ram (SRAM) : (256KB = 262144 byte) : (Data Memory 兼 Program Memory ← Program に : 使われているということは書き込むProgram自身が判断する。) : ******************************************************** : 0007 FF00 割り込みベクタテーブル : : (256 bytes) : 0007 FFFF : 0008 0000 スタックポインタの初期化位置。 : (どこかで変更しないと割り込みベクタ : テーブルとぶつかってしまうような気が : するのだが…。(調査中)) 0007 FFFF ******************************************************** ------------------------------------------------------------------------ 0008 0000 未使用領域 : (512KB = 524288 byte) 000F FFFF ------------------------------------------------------------------------ 0010 0000 ext_flash (フラッシュメモリ) : (1MB = 1024KB = 1048576 byte) : : ******************************************************** : 0010 0000 不揮発性データ(nonvolatile data) : 0011 0000 (割り込みベクターなどか?) : 0012 0000 : 0013 0000 : 0014 0000 初期化時に起動するプログラム : 0015 0000 (Default : Peripheral Test) : (GERMSモニターが自動的に0x0014 0000を : 呼び出す。) : 0016 0000 (used by Web Pages) : 0017 0000 : 0018 0000 User-defined Device Configuration data : 0019 0000 : 001A 0000 : 001B 0000 : 001C 0000 Factory-default Device Configuration data : 001D 0000 : 001E 0000 : 001F 0000 001F FFFF ******************************************************** ------------------------------------------------------------------------ 0020 0000 未使用領域 : (14MB = 14336KB = 14680064 byte) 00FF FFFF ======================================================================== 0100 0000 sdram(minimal_sdram_32の場合) : (16MB = 16384KB = 16777216 byte) : (この領域をData Memory, Program Memoryと 01FF FFFF 割り当てることができる。) ------------------------------------------------------------------------ 0200 0000 未使用領域 : (14MB = 14336KB = 14680064 byte)