PMON环境配置(龙芯,亲测成功1)

    1.前言
    2.运行平台
    3.依赖组件
    4.安装与配置安装专用GCC编译器
        4.1下载GCC编译器
        4.2解压GCC编译器
        4.3配置系统运行
    5.编译龙芯PMON执行文件
        5.1下载PMON源码
        5.2 编译并配置git tools插件
            5.3编译gzrom.bin文件
    6.示例

1.前言

首先,感谢龙芯团队的耐心指导以及他们的开源精神。

最近在工作,接到一个任务:适配龙芯国产化芯片的BIOS工作。目前还在学习PMON的编程,在配置的时候就遇到了很多问题。目前已经搭载完了一版Pmon编译环境。下面将讲解我是如何配置的。

官方参考网站: PMON编译方法-龙芯开源社区:
2.运行平台

本次编译环境依托Ubuntu 18.04.4 STL版本,这个版本是我目前使用最多的操作系统版本。在Ubuntu18配置环境前,我已经按照官网配置教程在Ubuntu16 i386_32位版本中配置成功。修改为Ubuntu18的原因是目前新的pmon支持设备树挂载使用的dtc工具需要使用64位运行环境。
3.依赖组件

在Ubunt18系统下需要安装以下运行支持组件:
名称    指令
g+±multilib    sudo apt-get install g+±multilib
libncurses5:i386    sudo apt-get install libncurses5:i386
libstdc++5:i386    sudo apt-get install libstdc++5:i386
libstdc++6:i386    sudo apt-get install libstdc++6:i386
libz.so.1    sudo apt-get install lib32z1
flex    sudo apt-get install flex
bison    sudo apt-get install bison
xutils-dev    sudo apt-get install xutils-dev
python2.7    sudo apt-get install python2.7

配置好的bash执行脚本:

sudo apt-get install g++-multilib libncurses5:i386 libstdc++5:i386 libstdc++6:i386 lib32z1 flex bison xutils-dev python2.7

 

实验电脑安装结果如下:

PMON环境配置(龙芯,亲测成功1)_第1张图片

 

注:如果是刚配置成功的Ubuntu系统,当以上组件安装成功后还需要下载git,make插件。
4.安装与配置安装专用GCC编译器
4.1下载GCC编译器

根据官网教程描述,需要使用龙芯提供的GCC编译器。专用GCC4.0下载:gcc-4.4.0-pmon.tgz
4.2解压GCC编译器

将下载好的gcc-4.4.0-pmon.tgz压缩包存放在任意位置。在压缩包存储的位置打开控制台,输入如下bash指令:

sudo mkdir  -p  /usr/local/comp/mips-elf/
sudo tar -zxvf gcc-4.4.0-pmon.tgz -C /usr/local/comp/mips-elf/

4.3配置系统运行

输入如下Bash指令进入Bashrc配置文件。

sudo gedit ~/.bashrc

在文件末尾添加三行环境配置:

export LD_LIBRARY_PATH=/usr/local/comp/mips-elf/gcc-4.4.0-pmon/lib:
export CROSS_COMPILE=mipsel-linux-
export PATH=/usr/local/comp/mips-elf/gcc-4.4.0-pmon/bin/:$PATH

PMON环境配置(龙芯,亲测成功1)_第2张图片

 

保存后,关闭编辑器,关闭所有的控制台。
GCC编译器配置完成。
5.编译龙芯PMON执行文件
5.1下载PMON源码

龙芯官网使用Git进行版本控制,因此需要操作系统安装git组件。
打开控制台,在任意位置(不需要Root权限)的位置下载PMON源码。

git clone http://cgit.loongnix.org/pmon/pmon-loongson3.git

下载完毕后需要安装git tools插件
5.2 编译并配置git tools插件

进入pmon-loongson3文件夹,打开在文件夹中控制台。输入以下指令:

cd tools/pmoncfg
make
#等待编译完成
sudo cp pmoncfg /usr/bin

5.3编译gzrom.bin文件

根据自己开发的平台在pmon-loongson3文件夹内进入相应的zloader文件夹。映射表如下表所示:
开发架构    PMON编译文件夹
3A300+7A1000    zloader.3a3000_7a
2K1000    zloader.ls2k

输入以下指令:

make cfg
make tgt=rom

就可以编译出执行文件。
6.示例

以编译适配2K1000的Pmon为例:

#进入2K1000编译目录中
jimma@ubuntu:~/桌面/pmon-loongson3$ cd zloader.ls2k    
#编译Pmon可执行文件
jimma@ubuntu:~/桌面/pmon-loongson3/zloader.ls2k$ make cfg
jimma@ubuntu:~/桌面/pmon-loongson3/zloader.ls2k$ make tgt=rom
#此时编译完成,当前文件夹下会出现一个gzrom.bin文件

如果需要组合linux设备树,则需要如下指令:

jimma@ubuntu:~/桌面/pmon-loongson3/zloader.ls2k$ make dtb
#当前文件夹下会出现一个gzrom-dtb.bin文件
 

你可能感兴趣的:(ubuntu,ubuntu,pmon)