/* * sram.h * * Created on: Apr 19, 2017 * Author: toporov */ #ifndef SRAM_H_ #define SRAM_H_ #define ADDR_SETUP_TIME 1 #define ADDR_HOLD_TIME 0 #define DATA_SETUP_TIME 10 #define BUS_TURN_AROUND 0 #define CLK_DIVISION 0 #define DATA_LATENCY 0 #define ACCESS_MODE FSMC_AccessMode_A /* * * ===================== * [ ***** ÍÓÆÍÎ ***** ] * ===================== * * 1) CMPLX_BUFFER[] -> 32K * 2) MEAN_BUFFER[] -> 64K * 3) GRAPH_BUFFER[] -> 64K * 4) LCD_BUFFER[] -> 304K * 5) GUI_BUFFER[] -> 1024K - 32K - 64K - 64K - 304K = 544K * * * */ #define SRAM_ADDR_OFFSET ((__IO uint32_t) 0x64000000) #define SIZE_1K ((__IO uint32_t) 0x00000400) #define SIZE_2K ((__IO uint32_t) 0x00000800) #define SIZE_4K ((__IO uint32_t) 0x00001000) #define SIZE_8K ((__IO uint32_t) 0x00002000) #define SIZE_16K ((__IO uint32_t) 0x00004000) #define SIZE_32K ((__IO uint32_t) 0x00008000) #define SIZE_64K ((__IO uint32_t) 0x00010000) #define SIZE_128K ((__IO uint32_t) 0x00020000) #define SIZE_256K ((__IO uint32_t) 0x00040000) #define SIZE_512K ((__IO uint32_t) 0x00080000) #define SIZE_1024K ((__IO uint32_t) 0x00100000) /*#define LCD_ADDR_OFFSET ((__IO uint32_t) 0x20020000) // LENGTH = 307200 = 0x4B000 #define SCR1_ADDR_OFFSET ((__IO uint32_t) 0x20020000) // LENGTH = 0x25800 #define SCR2_ADDR_OFFSET ((__IO uint32_t) 0x20045800) // LENGTH = 0x25800 #define pLCD_u8 (( uint8_t *) (LCD_ADDR_OFFSET)) // LENGTH = 16K*/ #define STRING_OFFSET ((__IO uint32_t) 0x6404B000) // LENGTH = 0x5000 #define StrRAM(y,x) *(char *) (STRING_OFFSET + (((y) * 40) + (x))) #define pStrRAM ((char *) (STRING_OFFSET)) #define ACC_PEAK_WR(x) *( float32_t *) (0x64050000 + ((x) << 2)) #define ACC_RMS_WR(x) *( float32_t *) (0x64050800 + ((x) << 2)) #define VEL_PEAK_WR(x) *( float32_t *) (0x64051000 + ((x) << 2)) #define VEL_RMS_WR(x) *( float32_t *) (0x64051800 + ((x) << 2)) #define DIS_PEAK_WR(x) *( float32_t *) (0x64052000 + ((x) << 2)) #define DIS_RMS_WR(x) *( float32_t *) (0x64052800 + ((x) << 2)) #define ACC_PEAK_RD(x) *( __IO float32_t *) (0x64050000 + ((x) << 2)) #define ACC_RMS_RD(x) *( __IO float32_t *) (0x64050800 + ((x) << 2)) #define VEL_PEAK_RD(x) *( __IO float32_t *) (0x64051000 + ((x) << 2)) #define VEL_RMS_RD(x) *( __IO float32_t *) (0x64051800 + ((x) << 2)) #define DIS_PEAK_RD(x) *( __IO float32_t *) (0x64052000 + ((x) << 2)) #define DIS_RMS_RD(x) *( __IO float32_t *) (0x64052800 + ((x) << 2)) #define OP1_PEAK_WR(x) *( float32_t *) (0x64050000 + ((x) << 2)) #define OP1_RMS_WR(x) *( float32_t *) (0x64050800 + ((x) << 2)) #define OP2_PEAK_WR(x) *( float32_t *) (0x64051000 + ((x) << 2)) #define OP2_RMS_WR(x) *( float32_t *) (0x64051800 + ((x) << 2)) #define OP3_PEAK_WR(x) *( float32_t *) (0x64052000 + ((x) << 2)) #define OP3_RMS_WR(x) *( float32_t *) (0x64052800 + ((x) << 2)) #define OP4_PEAK_WR(x) *( float32_t *) (0x64053000 + ((x) << 2)) #define OP4_RMS_WR(x) *( float32_t *) (0x64053800 + ((x) << 2)) #define OP1_PEAK_RD(x) *( __IO float32_t *) (0x64050000 + ((x) << 2)) #define OP1_RMS_RD(x) *( __IO float32_t *) (0x64050800 + ((x) << 2)) #define OP2_PEAK_RD(x) *( __IO float32_t *) (0x64051000 + ((x) << 2)) #define OP2_RMS_RD(x) *( __IO float32_t *) (0x64051800 + ((x) << 2)) #define OP3_PEAK_RD(x) *( __IO float32_t *) (0x64052000 + ((x) << 2)) #define OP3_RMS_RD(x) *( __IO float32_t *) (0x64052800 + ((x) << 2)) #define OP4_PEAK_RD(x) *( __IO float32_t *) (0x64053000 + ((x) << 2)) #define OP4_RMS_RD(x) *( __IO float32_t *) (0x64053800 + ((x) << 2)) #define ADC_BUFF_OFFSET ((__IO uint32_t) 0x64060000) // LENGTH = 128K (0x20000) #define pAdcBuff ((int32_t *) (ADC_BUFF_OFFSET)) #define AdcBuff(x) *(int32_t *) (ADC_BUFF_OFFSET + ((x) << 2)) #define AdcBuff_16(x) *(uint16_t *) (ADC_BUFF_OFFSET + ((x) << 1)) #define GRAPH_ADDR_OFFSET ((__IO uint32_t) 0x64080000) // LENGTH = 64K #define REAL_ADDR_OFFSET ((__IO uint32_t) 0x64090000) // LENGTH = 32K #define IMAGE_ADDR_OFFSET ((__IO uint32_t) 0x64098000) // LENGTH = 32K #define CMPLX_ADDR_OFFSET ((__IO uint32_t) 0x64090000) // LENGTH = 64K #define ACC_ADDR_OFFSET ((__IO uint32_t) 0x64090000) // LENGTH = 16K #define VEL_ADDR_OFFSET ((__IO uint32_t) 0x64094000) // LENGTH = 16K #define DIS_ADDR_OFFSET ((__IO uint32_t) 0x64098000) // LENGTH = 16K #define MEAN_ADDR_OFFSET ((__IO uint32_t) 0x640A0000) // LENGTH = 64K #define Real(x) *(float32_t *) (REAL_ADDR_OFFSET + ((x) << 2)) #define Image(x) *(float32_t *) (IMAGE_ADDR_OFFSET + ((x) << 2)) #define pCmplxA_u8 (( uint8_t *) (ACC_ADDR_OFFSET)) #define pCmplxA_u16 (( uint16_t *) (ACC_ADDR_OFFSET)) #define pCmplxA_u32 (( uint32_t *) (ACC_ADDR_OFFSET)) #define pCmplxA_f32 (( float32_t *) (ACC_ADDR_OFFSET)) #define pCmplxV_u8 (( uint8_t *) (VEL_ADDR_OFFSET)) #define pCmplxV_u16 (( uint16_t *) (VEL_ADDR_OFFSET)) #define pCmplxV_u32 (( uint32_t *) (VEL_ADDR_OFFSET)) #define pCmplxV_f32 (( float32_t *) (VEL_ADDR_OFFSET)) #define pCmplxS_u8 (( uint8_t *) (DIS_ADDR_OFFSET)) #define pCmplxS_u16 (( uint16_t *) (DIS_ADDR_OFFSET)) #define pCmplxS_u32 (( uint32_t *) (DIS_ADDR_OFFSET)) #define pCmplxS_f32 (( float32_t *) (DIS_ADDR_OFFSET)) #define pMeanA_u8 (( uint8_t *) (MEAN_ADDR_OFFSET)) #define pMeanA_u16 (( uint16_t *) (MEAN_ADDR_OFFSET)) #define pMeanA_u32 (( uint32_t *) (MEAN_ADDR_OFFSET)) #define pMeanA_f32 (( float32_t *) (MEAN_ADDR_OFFSET)) #define pA_Buff_f32 (( float32_t *) (ACC_ADDR_OFFSET)) #define pV_Buff_f32 (( float32_t *) (VEL_ADDR_OFFSET)) #define pS_Buff_f32 (( float32_t *) (DIS_ADDR_OFFSET)) #define pScrA_u8 (( uint8_t *) (GRAPH_ADDR_OFFSET)) #define pScrA_u16 (( uint16_t *) (GRAPH_ADDR_OFFSET)) #define pScrA_u32 (( uint32_t *) (GRAPH_ADDR_OFFSET)) #define pScrA_f32 (( float32_t *) (GRAPH_ADDR_OFFSET)) #define CmplxA_u8(x) *( __IO uint8_t *) (CMPLX_ADDR_OFFSET + (x)) #define CmplxA_u16(x) *(__IO uint16_t *) (CMPLX_ADDR_OFFSET + ((x) << 1)) #define CmplxA_u32(x) *(__IO uint32_t *) (CMPLX_ADDR_OFFSET + ((x) << 2)) #define CmplxA_f32(x) *( float32_t *) (CMPLX_ADDR_OFFSET + ((x) << 2)) #define CmplxV_u8(x) *( __IO uint8_t *) (CMPLX_ADDR_OFFSET + (x)) #define CmplxV_u16(x) *(__IO uint16_t *) (CMPLX_ADDR_OFFSET + ((x) << 1)) #define CmplxV_u32(x) *(__IO uint32_t *) (CMPLX_ADDR_OFFSET + ((x) << 2)) #define CmplxV_f32(x) *( float32_t *) (CMPLX_ADDR_OFFSET + ((x) << 2)) #define CmplxA_u8(x) *( __IO uint8_t *) (CMPLX_ADDR_OFFSET + (x)) #define CmplxA_u16(x) *(__IO uint16_t *) (CMPLX_ADDR_OFFSET + ((x) << 1)) #define CmplxA_u32(x) *(__IO uint32_t *) (CMPLX_ADDR_OFFSET + ((x) << 2)) #define CmplxA_f32(x) *( float32_t *) (CMPLX_ADDR_OFFSET + ((x) << 2)) #define MeanA_u8(x) *( __IO uint8_t *) (MEAN_ADDR_OFFSET + (x)) #define MeanA_u16(x) *(__IO uint16_t *) (MEAN_ADDR_OFFSET + ((x) << 1)) #define MeanA_u32(x) *(__IO uint32_t *) (MEAN_ADDR_OFFSET + ((x) << 2)) #define MeanA_f32(x) *( float32_t *) (MEAN_ADDR_OFFSET + ((x) << 2)) #define ScrA_u8(x) *( __IO uint8_t *) (GRAPH_ADDR_OFFSET + (x)) #define ScrA_u16(x) *(__IO uint16_t *) (GRAPH_ADDR_OFFSET + ((x) << 1)) #define ScrA_u32(x) *(__IO uint32_t *) (GRAPH_ADDR_OFFSET + ((x) << 2)) #define ScrA_f32(x) *( float32_t *) (GRAPH_ADDR_OFFSET + ((x) << 2)) #define A_Buff_f32(x) *( float32_t *) (ACC_ADDR_OFFSET + ((x) << 2)) #define V_Buff_f32(x) *( float32_t *) (VEL_ADDR_OFFSET + ((x) << 2)) #define S_Buff_f32(x) *( float32_t *) (DIS_ADDR_OFFSET + ((x) << 2)) #define FREQ_ADDR_OFFSET ((__IO uint32_t) 0x64080000) // LENGTH = 512K #define Freq_f32(x) *(float32_t *) (FREQ_ADDR_OFFSET + ((x) << 2)) #define Udar_f32(x) *(float32_t *) (MEAN_ADDR_OFFSET + ((x) << 2)) //***********************************************************************************// //***********************************************************************************// //*************************** ******************************// //=========================== ABOVE 1MB ==============================// //*************************** ******************************// //***********************************************************************************// //***********************************************************************************// #define Buff_u8(x) *(uint8_t *) (BL_ADDR_OFFSET + (x)) #define Buff_u16(x) *(uint16_t *) (BL_ADDR_OFFSET + ((x) << 1)) #define Buff_u32(x) *(uint32_t *) (BL_ADDR_OFFSET + ((x) << 2)) #define Buff_f32(x) *(float32_t *) (BL_ADDR_OFFSET + ((x) << 2)) #define pBuff_u8 ((uint8_t *) (BL_ADDR_OFFSET)) #define pBuff_u16 ((uint16_t *) (BL_ADDR_OFFSET)) #define pBuff_u32 ((uint32_t *) (BL_ADDR_OFFSET)) #define pBuff_f32 ((float32_t *) (BL_ADDR_OFFSET)) #define RouteMeas(x) *(uint8_t *) (BL_ADDR_OFFSET + (x)) #define DMA_ADDR_OFFSET ((__IO uint32_t) 0x64090000) // LENGTH = 64K #define DMA_Udar_u16(x) *(uint16_t *) (DMA_ADDR_OFFSET + ((x) << 1)) // #define TACHO_ADDR_OFFSET ((__IO uint32_t) 0x640B0000) // LENGTH = 64K #define TACHO_MEAS_OFFSET ((__IO uint32_t) 0x640C0000) // LENGTH = 32K #define TACHO_FLOAT_OFFSET ((__IO uint32_t) 0x640C8000) // LENGTH = 32K #define Tacho_u16(x) *(uint16_t *) (TACHO_ADDR_OFFSET + ((x) << 1)) // #define BuffT_u16(x) *(uint16_t *) (TACHO_MEAS_OFFSET + ((x) << 1)) // #define BuffT_f32(x) *(float32_t *) (TACHO_FLOAT_OFFSET + ((x) << 2)) // #define pScrB_u8 (( uint8_t *) (TACHO_ADDR_OFFSET)) #define pScrB_u16 (( uint16_t *) (TACHO_ADDR_OFFSET)) #define pScrB_u32 (( uint32_t *) (TACHO_ADDR_OFFSET)) #define pScrB_f32 (( float32_t *) (TACHO_ADDR_OFFSET)) #define ScrB_u8(x) *( __IO uint8_t *) (TACHO_ADDR_OFFSET + (x)) #define ScrB_u16(x) *(__IO uint16_t *) (TACHO_ADDR_OFFSET + ((x) << 1)) #define ScrB_u32(x) *(__IO uint32_t *) (TACHO_ADDR_OFFSET + ((x) << 2)) #define ScrB_f32(x) *( float32_t *) (TACHO_ADDR_OFFSET + ((x) << 2)) ///////////////////////////////////////////////////////////////////////////////////////////////// #define RAM_WR32(x) *( uint32_t *) (SRAM_ADDR_OFFSET + ((x) << 1)) #define RAM_RD32(x) *(__IO uint32_t *) (SRAM_ADDR_OFFSET + ((x) << 1)) #define RAM_WRF32(x) *( float32_t *) (SRAM_ADDR_OFFSET + ((x) << 1)) #define RAM_RDF32(x) *(__IO float32_t *) (SRAM_ADDR_OFFSET + ((x) << 1)) #endif /* SRAM_H_ */