riscv模拟器配置与fpga同步

slab内存分配器似乎不能支持小内存池,改为heap方式
This commit is contained in:
2025-11-11 15:20:05 +08:00
parent 036d64c035
commit 8003bbd256
7 changed files with 94 additions and 25 deletions

View File

@@ -88,11 +88,27 @@ static void tick_handler(int vec, void* par) {
}
static uint32_t g_mem_heap[200 * 1024 / 4];
static uint32_t g_mem_heap[100 * 1024 / 4];
void mem_test_uint8_t() {
uint8_t *p = (uint8_t *)g_mem_heap;
for (int i = 0; i < 1024;i++){
p[i] = i & 0xff;
}
for (int i = 0; i < 1024;i++){
if(p[i]!=(i&0xff)){
rt_kprintf("mem test failed\n");
}
}
rt_kprintf("mem test succesed\n");
}
void rt_hw_board_init(void) {
set_csr(mie, (1 << 3) | (1 << 7));
set_csr(mip, (1 << 3));
rt_system_heap_init(g_mem_heap, g_mem_heap + sizeof(g_mem_heap) / 4);
mem_test_uint8_t();
rt_system_heap_init(g_mem_heap, &g_mem_heap[sizeof(g_mem_heap) / 4]);
rt_hw_interrupt_init();
rt_hw_interrupt_install(7, tick_handler, 0, "tick_handler");
}