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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2024年04月15日 22时02分39秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
UR5e机械臂运行一直阻塞在waitForServer
2019-04-29
ROS把pkg1下的某个头文件和源文件生成动态链接库供pkg2调用
2019-04-29
使用urdf_tutorial快速可视化urdf文件
2019-04-29
SQl 数据完整性(随堂博客)
2019-04-29
左连接、右连接、内连接
2019-04-29
MySQL DQL语句基础(随堂博客)
2019-04-29
MySQL基础练习
2019-04-29
利用MySQL进行数据复杂查询(1)
2019-04-29
利用MySQL进行数据复杂查询(2)
2019-04-29
MySQL 表与表之间的关系
2019-04-29
Python数据处理
2019-04-29
Java练习题(面向对象)
2019-04-29
Python 循环
2019-04-29
Python循环
2019-04-29
Python 函数
2019-04-29
Java 练习题
2019-04-29
Python 列表(数组)
2019-04-29
Python 元祖基础
2019-04-29
Python 管理程序
2019-04-29