Описание библиотеки микросхемы 5023ВС016 процессора "Спутник"
memory.h
См. документацию.
1 
29 #ifndef MEMORY_H_
30 #define MEMORY_H_
31 
32 
33 #define MEMORY_CONTROL_REG_BASE_ADDRESS (0x20002)
34 #define MEMORY_EXPOSURE_TIME (1000000)
35 #define MEMORY_DATA_REG_BASE_ADDRESS (0x10000)
36 #define MEMORY_CONTROL_REGISTER ((PMEMORY_CONTROL_MAP)MEMORY_CONTROL_REG_BASE_ADDRESS)
37 #define MEMORY_DATA_ADDRESS_32 ((uint32_t*)MEMORY_DATA_REG_BASE_ADDRESS)
38 #define MEMORY_DATA_ADDRESS_16 ((uint16_t*)MEMORY_DATA_REG_BASE_ADDRESS)
39 #define MEMORY_DATA_ADDRESS_8 ((uint8_t*) MEMORY_DATA_REG_BASE_ADDRESS)
40 
41 #include "types.h"
42 
46 typedef enum MEMORY_CHIP_
47 {
48  MEM_SRAM = 4,
49  MEM_MRAM = 1,
50  MEM_ROM = 2
52 
56 typedef enum
57 {
58  BLOCK1 = 1,
59  BLOCK2 = 2
61 
65 typedef struct _MEMORY_CONTROL_MAP_
66 {
67  __RW uint16_t CE;
68  __RW uint16_t MEMADD;
70 
74 void Func_Cache_Disable();
75 
79 void Func_Cache_Enable();
80 
87 void Func_Scraber_Set(uint32_t rng_addr,
88  uint32_t prd_stop,
89  uint32_t prd_scan,
90  BLOCK_NUMBER number);
91 
96 void MEM_SetChip(MEMORY_CHIP MemChip);
97 
102 uint8_t MEM_GetChip();
103 
108 uint8_t MEM_GetPage();
109 
114 void MEM_SetPage(uint8_t NumPage);
115 
121 void MEM_Write8(uint32_t Addr, uint8_t Data);
122 
128 void MEM_Write16(uint32_t Addr, uint16_t Data);
129 
135 void MEM_Write32(uint32_t Addr, uint32_t Data);
136 
142 uint8_t MEM_Read8(uint32_t Addr);
143 
149 uint16_t MEM_Read16(uint32_t Addr);
150 
156 uint32_t MEM_Read32(uint32_t Addr);
157 
158 
159 #endif
160 
Definition: memory.h:58
Этот файл содержит структуры, макросы и функции необходимые для работы с дополнительными типами...
struct _MEMORY_CONTROL_MAP_ * PMEMORY_CONTROL_MAP
#define __RW
Definition: types.h:39
Definition: memory.h:59
void Func_Cache_Disable()
Функция выключения КЭШа
Definition: memory.c:164
__RW uint16_t MEMADD
Definition: memory.h:68
uint8_t MEM_GetChip()
Взять выбранную микросхему
Definition: memory.c:146
Definition: memory.h:50
uint32_t MEM_Read32(uint32_t Addr)
Чтение четырех байтного слова
Definition: memory.c:274
BLOCK_NUMBER
Блок памяти.
Definition: memory.h:56
uint8_t MEM_GetPage()
Взять установленную страницу памяти
Definition: memory.c:205
uint16_t MEM_Read16(uint32_t Addr)
Чтение двух байтного слова
Definition: memory.c:264
void MEM_Write16(uint32_t Addr, uint16_t Data)
Запись двух байтного слова
Definition: memory.c:234
void Func_Scraber_Set(uint32_t rng_addr, uint32_t prd_stop, uint32_t prd_scan, BLOCK_NUMBER number)
Функция установки скраберов
Definition: memory.c:175
void MEM_SetPage(uint8_t NumPage)
Установка страницы памяти
Definition: memory.c:214
enum MEMORY_CHIP_ MEMORY_CHIP
Тип микросхемы памяти.
void MEM_Write8(uint32_t Addr, uint8_t Data)
Запись байтного слова
Definition: memory.c:224
Структура для доступа к регистрам управления памятью
Definition: memory.h:65
void MEM_Write32(uint32_t Addr, uint32_t Data)
Запись четырех байтного слова
Definition: memory.c:244
uint8_t MEM_Read8(uint32_t Addr)
Чтение байтного слова
Definition: memory.c:254
MEMORY_CHIP_
Тип микросхемы памяти.
Definition: memory.h:46
struct _MEMORY_CONTROL_MAP_ MEMORY_CONTROL_MAP
Структура для доступа к регистрам управления памятью
__RW uint16_t CE
Definition: memory.h:67
void Func_Cache_Enable()
функция включения КЭШа
Definition: memory.c:154
void MEM_SetChip(MEMORY_CHIP MemChip)
Выбор микросхемы памяти
Definition: memory.c:137