Xilinx Vitis 2020.1修改工程占用的BRAM内存大小的方法
发布日期:2021-06-29 10:17:21 浏览次数:2 分类:技术文章

本文共 1730 字,大约阅读时间需要 5 分钟。

修改了代码后编译工程,有时会因为BRAM空间不足而编译失败,出现下面的错误提示:

'Invoking: MicroBlaze gcc linker'

mb-gcc -Wl,-T -Wl,../src/lscript.ld -LE:/fpga_projects/test4/microblaze_test/export/microblaze_test/sw/microblaze_test/standalone_domain/bsplib/lib -mlittle-endian -mcpu=v11.0 -mxl-soft-mul -Wl,--no-relax -Wl,--gc-sections -o "bootloader.elf"  ./src/bootloader.o ./src/platform.o ./src/srec.o   -Wl,--start-group,-lxil,-lgcc,-lc,--end-group -Wl,--start-group,-lxilisf,-lxil,-lgcc,-lc,--end-group
c:/xilinx/vitis/2020.1/gnu/microblaze/nt/x86_64-oesdk-mingw32/usr/bin/microblaze-xilinx-elf/../../libexec/microblaze-xilinx-elf/gcc/microblaze-xilinx-elf/9.2.0/real-ld.exe: bootloader.elf section `.stack' will not fit in region `microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem'
c:/xilinx/vitis/2020.1/gnu/microblaze/nt/x86_64-oesdk-mingw32/usr/bin/microblaze-xilinx-elf/../../libexec/microblaze-xilinx-elf/gcc/microblaze-xilinx-elf/9.2.0/real-ld.exe: region `microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem' overflowed by 744 bytes
collect2.exe: error: ld returned 1 exit status
'Finished building target: bootloader.elf'

这时,需要回到Vivado工程里面,在Block Design中将分配的BRAM空间大小改大。具体方法如下。

进入IP INTEGRATOR的Address Edditor:

修改BRAM空间大小,由16KB改为32KB,保存,然后重新生成bit文件。

生成完bit文件后,重新导出xsa文件:

回到Vitis里面,重新导入xsa文件:

仔细看一下这里的xsa文件的路径对不对。有时候这里的路径是不对的,需要重新选择正确的文件。

点击OK关闭对话框后,打开mmi文件看一下,看修改后的BRAM大小是否真的生效了。如果没有生效,那就是刚才选的xsa文件的路径不对。

确认大小正确后,这个时候必须要build一下platform工程(绿色的那个工程)。

build完之后,去看看application工程里面的BRAM大小是否生效。这里一般要多弹出几次右键菜单,Generate Linker Script菜单项才会出来。

可以看到BRAM的大小已经生效了,变成了32KB。这个时候要点一下Generate按钮,更新lscript.ld文件。

BRAM空间足够了,工程可以编译通过了:

以上是修改工程BRAM大小的完整步骤。以上步骤只要错一步,就会修改不成功。整个过程还是比较复杂的。

转载地址:https://blog.csdn.net/ZLK1214/article/details/111501773 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Xilinx Vitis 2020.1用SREC SPI Bootloader固化Microblaze程序,断电再通电后程序运行不了的解决办法
下一篇:【程序】Xilinx FPGA将DDR3内存转换为W25Q256的SPI接口,供STM32单片机调用,产生容量为256MB的USB U盘设备

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年04月15日 22时02分39秒