4.4 MIPS编译环境的建立
本环节使用VMware Workstation Pro虚拟机软件,搭配没有安装相关环境的Ubuntu系统,进行OpenMIPS环境的搭建。有一些看不懂的地方还是要结合《自己动手写CPU》这本书来理解。
4.4.1 VMware Workstation安装(略)
按照最常见的安装。
4.4.2 Ubuntu虚拟机安装(略)
按照最常见的安装。
4.4.3 GNU工具链的安装
1、首先给出mips-sde-elf-i686-pc-linux-gnu.tar.tar的下载链接链接:
(https://pan.baidu.com/s/1lMHaa7bozazyEzCsbnILJw?pwd=qp7j 提取码:qp7j)
2、将mips-sde-elf-i686-pc-linux-gnu.tar.tar文件压缩包直接从Windows文件管理器拖拽到VMware下的Ubuntu虚拟机的自建文件夹/home/linux/OpenMIPS下。
使用cd指令进入自建文件夹/home/linux/OpenMIPS下:
cd home/linux/OpenMIPS
使用命令行将此压缩包复制到Ubuntu的/opt目录下(需要管理员权限):
sudo cp -r mips-sde-elf-i686-pc-linux-gnu.tar.tar /opt
不断退出到根目录:
cd .. //使用n次
//可以使用ls指令查看当前目录
进入Ubuntu的/opt文件夹下:
cd opt
使用命令行将此压缩包解压:
sudo tar vfxj mips-sde-elf-i686-pc-linux-gnu.tar.tar
可以看到文件夹已经解压好:
4.4.4 加入PATH
我猜测这个相当于Windows的环境变量。
1、鼠标放到虚拟机左上角,View->Show Hidden Files。
2、从根目录开始cd找.bashrc这个文件,找到后使用命令:
gedit .bashrc
在文件最后添加并保存:
export PATH="$PATH:/opt/mips-4.3/bin"
sudo reboot
4.4.5 编辑.S文件
1、新建文件:Ubuntu重启完成后,自己选择一个位置,新建一个文件,命名为“inst_rom.S”。
2、编辑文件:使用gedit打开文件,编辑并保存:
org 0x00 #指示程序从地址0x0开始
.global _start #定义一个全局符号 _start
.set noat #允许自由使用寄存器$1
_start:
ori $1,$0,0x1100 # $1 = $0 | 0x1100 = 0x1100
ori $2,$0,0x0020 # $2 = $0 | 0x0020 = 0x0020
ori $3,$0,0xff00 # $3 = $0 | 0xff00 = 0xff00
ori $4,$0,0xffff # $4 = $0 | 0xffff = 0xffff
4.4.6 编译inst_rom.S
使用编译命令:
mips-sde-elf-as -mips32 inst_rom.S -o inst_rom.o
将这个文件拖拽到Windows文件夹下。
4.4.5 查看编译文件
1、下载Notepad及其插件(链接:
https://pan.baidu.com/s/1J3s4Dn4ErognXm-5VMSpuA?pwd=cn9h提取码:cn9h)
2、安装Notepad++软件,建议8.1.9版本。
3、然后解压HexEditor安装包,将.dll文件复制。
4、进入Notepad++文件安装路径下的plugins文件夹,新建HexEditor文件夹,将.dll文件复制到此处。
5、使用Notepad++打开inst_rom.o文件,点击工具栏右侧的“H”即可观察字节。