📄 sramc.s.svn-base
字号:
AREA SRAMC, CODE, READONLY ; /*****************************************************************************; * *; * Defines for Static RAM. *; * *; *****************************************************************************/;; /* SRAMC Base Address */; #define SRAMC ((UINT32 *) (0x30002400));SRAMC_BASE EQU 0x30002400; /* SRAMC Regions offset */; #define SRAMC_REG0 0x0; #define SRAMC_REG1 0x4; #define SRAMC_REG2 0x8; #define SRAMC_REG3 0xC;SRAMC_REG0 EQU 0x00SRAMC_REG1 EQU 0x04SRAMC_REG2 EQU 0x08SRAMC_REG3 EQU 0x0C; /* SRAMC Registers values */; #define SRAMC_BYTE 0x000; #define SRAMC_HW 0x001; #define SRAMC_W 0x002; #define SRAMC_WR_LEN 0x004; #define SRAMC_ENABLE 0x020; #define SRAMC_WR_HOLD 0x040; #define SRAMC_WR_SETUP 0x200;SRAMC_BYTE EQU 0x000SRAMC_HW EQU 0x001SRAMC_W EQU 0x002SRAMC_WR_LEN EQU 0x004SRAMC_ENABLE EQU 0x020SRAMC_WR_HOLD EQU 0x040SRAMC_WR_SETUP EQU 0x200 EXPORT SRAMC_init;/*************************************************************************/;/* */;/* FUNCTION */;/* */;/* void SRAMC_init (void) */;/* */;/* DESCRIPTION */;/* */;/* This routine initializes the SRAM Controller. */;/* */;/* AUTHOR */;/* */;/* A. Visconti - ST Microelectronics */;/* */;/* CALLED BY */;/* */;/* INT_Initialize */;/* */;/* CALLS */;/* */;/* None */;/* */;/* INPUTS */;/* */;/* None */;/* */;/* */;/* OUTPUTS */;/* */;/* None */;/*************************************************************************/;VOID SRAMC_init(void);{SRAMC_init ROUT ; ***********************************************************; CONFIGURATION; BANK ENABLED CycleLenght ROMSize BusSize; ----------------------------------------------------------; REG0 ON 9clk 256 KB 16 bit; REG1 ON 9clk 768 KB 8 bit; REG2 OFF; REG3 OFF;; *********************************************************** ; Set static memory controller to 3 cycles on bank 0 ; Load SRAMC Base Address ; LDR a1, =SRAMC_BASE ; /* ; * Bank 0 ; * 00001111 Rom0_SIZE : 1MB ; * 00 Reserved ; * 1 BANKENABLE: bank enabled ; * 010 C_LENGTH : Data phase length 0f 4 CLK ; * 01 B_SIZE : bus size 16 bit ; */ ; ; *SRAMC_REG0 = 0xf29; ; LDR a2, =SRAMC_REG0 LDR a3, =0xf29 STRH a3, [a1, a2] ; /* ; * Disable bank1 ; */ ; ; *SRAMC_REG1 = 0x0; ; LDR a2, =SRAMC_REG1 ; SRAMC REG1 Offset LDR a3, =0x0 STRH a3, [a1, a2] ; /* ; * Disable bank2 ; */ ; ; *SRAMC_REG2 = 0x0; ; ; LDR a2, =SRAMC_REG2 ; SRAMC REG2 Offset LDR a3, =0x0 STRH a3, [a1, a2] ; /* ; * Disable bank3 ; */ ; ; *SRAMC_REG3 = 0x0; ; LDR a2, =SRAMC_REG3 ; SRAMC REG3 Offset LDR a3, =0x0 STRH a3, [a1, a2] ; return(); ; MOV pc, lr;} END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -