小编Adr*_*ian的帖子

如何编译C代码以获得最小RISC-V汇编程序的裸机骨架?

我有以下简单的C代码:

   void main(){
    int A = 333;
    int B=244;
    int sum;
    sum = A + B;  
}
Run Code Online (Sandbox Code Playgroud)

当我用它编译时

$riscv64-unknown-elf-gcc code.c -o code.o
Run Code Online (Sandbox Code Playgroud)

如果我想看到我使用的汇编代码

$riscv64-unknown-elf-objdump -d code.o 
Run Code Online (Sandbox Code Playgroud)

但是当我探索汇编代码时,我发现这会产生很多代码,我认为代码内核支持(我是riscv的新手).但是,我不希望这段代码支持代理内核,因为它的想法是在FPGA中只实现这个简单的C代码.

我读到riscv提供了三种类型的编译:裸机模式,newlib代理内核和riscv Linux.根据以前的研究,我应该做的编译是裸机模式.这是因为我希望在不支持操作系统或内核代理的情况下进行最小程序集.不需要作为系统调用的汇编函数.

但是,我还没有找到,因为我可以编译一个C代码来获取最小的riscv汇编程序的框架.如何在裸机模式下编译上面的C代码或获取最小的riscv汇编代码的框架?

riscv

12
推荐指数
2
解决办法
8162
查看次数

标签 统计

riscv ×1