NSCSCC(龙芯杯)提供的龙芯编译环境。


下载安装


下载龙芯提供的编译环境配置压缩包:
gcc-4.3-ls232.tar.gz
终端下进入gcc-4.3-ls232.tar.gz所在目录,将环境加压至根目录。

1
2
sudo tar -zxvf gcc-4.3-ls232.tar.gz -C /

向.bashrc文件添加路径。

1
2
echo "export PATH=/opt/gcc-4.3-ls232/bin:$PATH" >> ~/.bashrc

对于64位系统,还要安装32位环境支持。

1
2
sudo apt-get install lsb-core

CPU设计实战 书上还要求安装lib32ncurses-dev,装的时候报Unable to locate package,去查了一下发现Ubuntu下根本没这个包,最相近的叫lib32ncurses5-dev,装了一下,好像没什么用。
如果可以输入mipsel-linux-gcc -v命令查看版本号则安装成功。

WSL环境下编译测试程序的问题


如果用WSL2作为Linux环境编译测试程序(测试程序放在Windows目录下,在Linux终端中通过/mnt目录访问Windows磁盘),会产生如下报错:

1
2
Value too large for defined data type

原因是目标文件inode号过大,超过32位系统的识别范围,可以ls -li验证一下。
网上给了很多解决方案,试了一下没有奏效的。最后果然最简单的办法最有效,把文件拷贝到Linux目录下,inode号就变得正常了,make好了再拷回Windows目录。


折腾半天就是为了gs132跑出的trace文件和ram_ip初始化的inst_ram.coe文件。以后有时间可能会整理一下发个仓库,避免重复劳动。

引用


unable-to-locate-package-error-ubuntu
packages.ubuntu.com
清华uCore实验-移植MIPS软核
mipsel-linux-gcc工具链搭建
GCC编译“Value too large for defined data type”错误解决办法
解决Value too large for defined data type问题
Linux下出现Value too large for defined data type的报错
inode爆炸问题解决
gcc编译参数概述