编译器:loongarch64-linux-gnu-2021-12-10-vector.tar.gz
开发环境:ubuntu-18.04.1为例进行操作步骤。
1、安装编译需要的库
# apt-get install acpica-tools bison flex libfl-dev xutils-dev device-tree-compiler libbison-dev
2、解压编译器到/opt目录下
# tar xf loongarch64-linux-gnu-2021-12-10-vector.tar.gz -C /opt/
设置环境变量
设置环境变量的方法有两种:临时设置和永久设置。
临时设置的方法
1、创建一个脚本文件env.sh
文件内容如下:
#!/bin/bash
export PATH=/opt/loongarch64-linux-gnu-2021-12-10/bin:$PATH
export LD_LIBRARY_PATH=/opt/loongarch64-linux-gnu-2021-12-10/lib:/opt/loongarch64-linux-gnu-2021-12-10/loongarch64-linux-gnu/lib:$LD_LIBRARY_PATH
export CROSS_COMPILE=loongarch64-linux-gnu-
export ARCH=loongarch
2、给env.sh添加可执行权限
#chmod +x env.sh
3、执行脚本,生效环境变量
#source env.sh
4、查看是否生效,命令行下输入 loongarch64-linux-gnu-gcc --version 出现版本 信息则说明交叉编译器的环境配置成功。
永久设置方法
临时设置环境变量仅在当前终端窗口的命令行有效,更换终端窗口则需要重新配置。永久配置就是将环境变量写入一些系统启动过程中自动生效的配置文件中,如.bashrc配置文件。这样就不用每次编译之前去执行env.sh脚本了。
1、打开文件,将设置内容写入文件.bashrc文件的末尾
#vim ~/.bashrc
设置内容如下:
export PATH=/opt/loongarch64-linux-gnu-2021-12-10/bin:$PATH
export LD_LIBRARY_PATH=/opt/loongarch64-linux-gnu-2021-12-10/lib:/opt/loongarch64-linux-gnu-2021-12-10/loongarch64-linux-gnu/lib:$LD_LIBRARY_PATH
export CROSS_COMPILE=loongarch64-linux-gnu-
export ARCH=loongarch
保存退出。
2、生效环境变量
生效环境变量的方法有两种:
(1) 可以在命令行通过如下命令进行生效操作
#source ./bashrc
(2) 通过重启系统的方式进行生效操作
#reboot
3、查看是否生效,命令行下输入 loongarch64-linux-gnu-gcc --version 出现版本 信息则说明交叉编译器的环境配置成功。
编译方法
以3A5000平台为例,pmon配置文件为Target/ls3a5000_7a/conf/ls.3a5000_7a。
1、解压源码
# tar xf pmon-loongarch.tgz
2、拷贝dtc文件
#cp /usr/bin/dtc ./zloader.3a5000_7a/
3、编译并拷贝pmon环境配置文件
#cd tools;make;cp pmoncfg/pmoncfg /usr/bin
4、进入编译目录
#cd ./zloader.3a5000_7a/
5、编译源码
#make cfg;make tgt=rom
编译完成后,会在当前下生成一个gzrom.bin二进制文件。
烧写方法
编程器烧写方法
从板卡上取出Flash芯片放入编程器的座内,选择编程器中对应的Flash型号,导入需要烧写的二进制文件gzrom.bin。点击烧写并等待烧写完毕。由于烧写器型号不一,这里不再进行详细介绍,根据烧写器的说明进行操作即可。
PMON在线烧写方法
1、将烧写的PMON二进制文件gzrom.bin放入U盘。
2、板卡启动之前将U盘插入USB口。
3、启动板卡,等待运行到出现“LOONGSON龙芯”图标,按"c"键。
4、进入pmon的命令行后执行。
pmon> fload /dev/fs/fat@usb0/gzrom.bin
5、通过输入"reboot"命令重启后即为更新后的pmon固件。