sdk2019.1无法编译microblaze

本文讲述了在Windows 10环境下,使用Xilinx SDK 2019.1编译Microblaze遇到的gcc工具问题,提供了懒人版和精细版的解决方法,包括不同版本gcc的迁移和链接器选项调整,以及HLS环境下可能遇到的类似问题解决策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

win10下,用sdk2019.1编译microblaze时,出现error,createprocess,no such file ,
经过研究发现,是gcc工具出了问题。
2019.1使用的8.2.0,2018.3使用的7.3.1,均会出问题。
但是使用2017.4或者2017.3,不会出问题,使用的是6.2.0。
解决方法:
懒人版:
删除D:\Xilinx\SDK\2019.1\gnu\microblaze,整个文件夹。
安装一个2017.3或者4,找到D:\Xilinx\SDK\2017.4\gnu\microblaze,将整个microblaze文件夹拷贝到D:\Xilinx\SDK\2019.1\gnu\microblaze。
精细版:
安装一个2017.3或者4,
找到D:\Xilinx\SDK\2017.4\gnu\microblaze\nt\microblaze-xilinx-elf\bin,将整个bin文件夹拷贝到
D:\Xilinx\SDK\2019.1\gnu\microblaze\nt\microblaze-xilinx-elf\bin。覆盖它里面的文件。
D:\Xilinx\SDK\2017.4\gnu\microblaze\nt\libexec\gcc\microblaze-xilinx-elf\6.2.0,将整个6.2.0文件夹拷贝到D:\Xilinx\SDK\2019.1\gnu\microblaze\nt\libexec\gcc\microblaze-xilinx-elf\8.2.0,覆盖它里面的文件。

linker,有几个选项,会影响到编译。
例如出现错误,

undefined reference to `__ctype_ptr__'
undefined reference to _exception_handler'
undefined reference to `_program_init'
undefined reference to `_program_clean'

这是因为在C++代码中,使用了C的符号。
而且选择了-nodefaultlibs链接选项。
去掉这个选项可以解决。
选择-nostartfile,或者-nostdlib,可以解决。

例如出现错误,
_udivdi3.o: unknown relocation type 33
选择omit all symbol information, 可以解决。
但是,这不是好的选择,所以这个选项最好不要选。
选择-nostartfile,或者-nostdlib,可以解决。

++++++++++++++++++++++++++++++++++
HLS下也可能出现类似的问题,
从一台确认OK的电脑上的19.1下,拷贝tps文件夹和msys64文件夹。

如果不行,就从SDK的microblaze的linux_toolchain的nt64_le的620中,拷贝collect2.exe。
还不行,就从SDK的microblaze的linux_toolchain的nt_le的620中,拷贝collect2.exe。
还不行,就从SDK的microblaze的nt的620中,拷贝collect2.exe。

最后一招,从19.1的tps的443中,拷贝出collect2.exe,放到msys64中去。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值