我设计了RISCV32IM处理器,并使用“riscv32 32/64-未知精灵-gcc”来生成测试代码。指令内存设置已用以下选项(-Ttext选项)解决,但数据内存设置尚未解决。
riscv64-unknown-elf-gcc -v -march=rv32im -mabi=ilp32 -nostartfiles -x c -Ttext 40000000 -o main.o main.c我能知道我是否可以设置我想要的数据内存地址吗?
发布于 2021-11-01 04:04:13
看起来您需要链接linker script,类似于:
OUTPUT_ARCH( "riscv" )
ENTRY(_start)
SECTIONS
{
. = 0x40000000;
.text.init : { *(.text.init) }
. = ALIGN(0x1000);
.text : { *(.text) }
. = ALIGN(0x1000);
.data : { *(.data) }
.bss : { *(.bss) }
_end = .;
}_start是一个开始符号,0x40000000是一个内存开始地址,后面跟着由0x1000.text对齐的节名-- itselfdata是一个静态初始化的variablesbss,是一个静态分配的变量https://stackoverflow.com/questions/69792036
复制相似问题