龙芯杯MIPS-GCC交叉编译环境配置
NSCSCC(龙芯杯)提供的龙芯编译环境。
下载安装
下载龙芯提供的编译环境配置压缩包:
gcc-4.3-ls232.tar.gz
终端下进入gcc-4.3-ls232.tar.gz所在目录,将环境加压至根目录。
sudo tar -zxvf gcc-4.3-ls232.tar.gz -C /
向.bashrc文件添加路径。
echo "export PATH=/opt/gcc-4.3-ls232/bin:$PATH" >> ~/.bashrc
对于64位系统,还要安装32位环境支持。
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磁盘),会产生如下报错:
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的报错
-
某佬的文章
-
gcc编译参数概述
好好泔,日子会越来越钿。