cemu
载入中...
搜索中...
未找到
dram.h
浏览该文件的文档.
1
53#ifndef DRAM_H
54#define DRAM_H
55
56// ==================================================================== //
57// Include
58// ==================================================================== //
59
60
61#include "typedef.h"
62
63// ==================================================================== //
64// Defines
65// ==================================================================== //
66
67#define DRAM_SIZE 1024*1024*1
68#define DRAM_BASE 0x80000000
73// ==================================================================== //
74// Data: DRAM
75// ==================================================================== //
76
80typedef struct DRAM_t {
82 // u8 mem[DRAM_SIZE];
83 u8* mem_addr; // 指向内存的地址指针
84 size_t alloc_size; // 已分配大小
85 u8* alloc_addr; // 指向待分配地址的指针
87
88
89
90
91// ==================================================================== //
92// Declare API: DRAM
93// ==================================================================== //
94
99void dram_init(DRAM* dram);
100
107void dram_alloc_data(DRAM* dram, size_t size, void* data);
108
116void dram_write_data(DRAM* dram, size_t offset, size_t size, u64 value);
117
125u64 dram_load_data(DRAM* dram, size_t offset, size_t size);
126
132void dram_release_data(DRAM* dram, size_t size);
133
138void dram_free(DRAM* dram);
139
140// ==================================================================== //
141// Old API: DRAM
142// ==================================================================== //
143
144// /**
145// * @brief DRAM加载对应地址指定大小的数据
146// * @param dram DRAM结构体
147// * @param addr 地址
148// * @param size 数据大小
149// * @return u64 数据
150// */
151// u64 dram_load(DRAM* dram, u64 addr, u64 size);
152
153// /**
154// * @brief DRAM存取对应地址指定大小的数据
155// * @param dram DRAM结构体
156// * @param addr 地址
157// * @param size 数据大小
158// * @param value 数据
159// */
160// void dram_store(DRAM* dram, u64 addr, u64 size, u64 value);
161
162#endif // DRAM_H
void dram_free(DRAM *dram)
释放DRAM
Definition dram.c:171
void dram_write_data(DRAM *dram, size_t offset, size_t size, u64 value)
DRAM向指定地址写入数据
Definition dram.c:113
struct DRAM_t DRAM
DRAM 动态随机存取存储器结构体
void dram_init(DRAM *dram)
初始化DRAM结构体
Definition dram.c:89
void dram_release_data(DRAM *dram, size_t size)
DRAM释放尾部数据
Definition dram.c:157
void dram_alloc_data(DRAM *dram, size_t size, void *data)
DRAM追加数据
Definition dram.c:97
u64 dram_load_data(DRAM *dram, size_t offset, size_t size)
DRAM在指定地址加载数据
Definition dram.c:134
DRAM 动态随机存取存储器结构体
Definition dram.h:80
u8 * mem_addr
Definition dram.h:83