-march
is a compiler option to gcc, telling the compiler what the target architecture is;
rv32i
is the designation of a RISC-V architecture.
rv
means RISC-V;
32
means a 32-bit architecture, and the letters after that are processor options.
i
is for integer arithmetic,
m
is for hardware multiplier (and possibly divider),
c
is for compressed instructions, and so on.
But I think your question has a different answer. If you have instantiated an additional SRAM in the user project and you want to reach it from the processor, then you will want to create a wishbone interface; that interface would respond to address
0x30000000
which is the address range (to
0x3fffffff
) of the user project memory map. The SRAM address would be the lower bits of the wishbone address. This can be simply an extension of the processor RAM, and you can create a compiler file
sections.lds
that tells the gcc compiler that there is additional memory available at that address. Or you can make specific reads and writes to addresses in that space from a program.