/home/chenly1/wrk/test_project_001_c/download/gcc/bin/../lib/gcc/riscv-nuclei-elf/10.2.0/../../../../riscv-nuclei-elf/bin/ld: spi_write_kernel_b.elf section `.rodata' will not fit in region `ilm' /home/chenly1/wrk/test_project_001_c/download/gcc/bin/../lib/gcc/riscv-nuclei-elf/10.2.0/../../../../riscv-nuclei-elf/bin/ld: region `ilm' overflowed by 13124 bytes /home/chenly1/wrk/test_project_001_c/download/gcc/bin/../lib/gcc/riscv-nuclei-elf/10.2.0/../../../../riscv-nuclei-elf/bin/ld: spi_write_kernel_b.elf section `.rodata' will not fit in region `ilm' /home/chenly1/wrk/test_project_001_c/download/gcc/bin/../lib/gcc/riscv-nuclei-elf/10.2.0/../../../../riscv-nuclei-elf/bin/ld: region `ilm' overflowed by 13124 bytes collect2: error: ld returned 1 exit status make: *** [../../download/hbird-sdk-master/Build/Makefile.rules:72: spi_write_kernel_b.elf] Error 1 collect2: error: ld returned 1 exit status
时间: 2023-07-26 14:05:14 浏览: 132
Android Debug Bridge的介绍
这个错误表明在链接过程中,代码中的`.rodata`节(只读数据)无法适应所分配的`ilm`区域,导致溢出。ld命令返回了错误代码1,表示链接失败。
这个问题可能是由于代码中的只读数据太大而引起的。解决这个问题的一种方法是增加`ilm`区域的大小,使其能够容纳`.rodata`节中的数据。你可以尝试调整链接脚本或编译器选项来修改`ilm`区域的大小。
另外,你还可以检查一下代码中是否有过多的只读数据,尝试优化代码以减少只读数据的大小。
如果以上方法都无法解决问题,你可能需要进一步分析代码和链接过程,以找出导致溢出的原因,并相应地调整代码或链接器设置。
阅读全文