前 言
中科院计算所从 2001 年开始研制龙芯系列处理器,经过十多年的积累与发展,于 2010
年正式成立龙芯中科技术有限公司,旨在将龙芯处理器的研发成果产业化。
龙芯中科公司致力于龙芯系列 CPU 设计、生产、销售和服务。主要产品包括面向行业应
用的专用小 CPU(1 号处理器),面向工控和终端类应用的中 CPU(2 号处理器),以及面向桌
面与服务器类应用的大 CPU(3 号处理器)。目前,龙芯系列处理器已经在电力、网安、党政
办公等领域广泛应用。
本手册旨在解决用户使用龙芯 2 号和 3 号处理器相关产品时的一些基本问题和调试板卡
的基本方法和步骤。本手册共分为 5 部分/章,第一章主要介绍如何获取龙芯嵌入式提供的
资源以及龙芯公司的公共资源,调试开发环境及工具;第二章主要介绍龙芯常用 bootloader
即 pmon 的编译,烧写及一些常用调试命令的使用;第三章主要介绍龙芯内核的编译,调试
相关的步骤;第四章主要介绍龙芯板卡软硬件调试的基本步骤和内容;第五章主要介绍龙芯
公司提供的免费桌面操作系统 loongnix 的安装方法及常见问题的解决方法。
我们希望通过本手册,能够为龙芯用户建立起一个调试开发基本的概念。能够让用户快
速上手使用龙芯处理器的相关产品。
龙芯中科技术有限公司
嵌入式事业部
2019 年 1 月
目 录
目录 .................................................................................................................................................. 1
第一章资源获取 ............................................................................................................................... 2
第二章 Pmon ................................................................................................................................... 4
2.1 pmon 相关资源 .................................................................................................................. 4
2.2 编译准备 ............................................................................................................................. 4
2.2.1 安装 makedepand .................................................................................................... 4
2.2.2 安装 pmoncfg ......................................................................................................... 4
2.3 pmon 编译 ......................................................................................................................... 5
2.3.1 cd zloader.ls2k .......................................................................................................... 5
2.3.2 执行编译脚本里的命令即可,命令如下: ......................................................... 5
2.4 内存相关配置 .................................................................................................................... 5
2.5 pmon 命令介绍 ................................................................................................................. 7
2.5.5 其他命令简介 ....................................................................................................... 11
第三章 Kernel .......................................................................................................................... 14
3 .1 Kernel 获取与编译 ......................................................................................................... 14
3.1.1、建立交叉编译环境。 ......................................................................................... 14
3.1.2 内核源码的获取 ................................................................................................. 14
3.2 内核编译所需要的工具 .................................................................................................. 15
3.4 编译 busybox .................................................................................................................... 16
第四章 板卡调试 ........................................................................................................................... 17
4.1 2K 龙芯派硬件调试 .......................................................................................................... 17
4.2 3A3000+7a 硬件调试部分 ............................................................................................... 18
4.3 软件部分 ........................................................................................................................... 19
第五章 Loongnix 安装说明 ........................................................................................................... 26
5.1 安装盘制作 ...................................................................................................................... 26
5.1.1 下载系统 iso 文件 ............................................................................................. 26
5.1.2 U 盘安装盘制作 .................................................................................................. 26
5.2 安装过程 .......................................................................................................................... 26
5.2.1 启动机器 ............................................................................................................... 26
5.2.2 开始安装 ............................................................................................................... 27
5.2.3 硬盘分区设置 ....................................................................................................... 28
5.2.4 用户设置 ............................................................................................................... 31
5.2.5 完成安装 ............................................................................................................... 32
5.3 注意事项 .......................................................................................................................... 32
5.4 常见问题 .......................................................................................................................... 32
附件 A: 手工创建新系统分区 .............................................................................................. 33
1
第一章 资源获取
龙芯公司在国产处理器领域深耕近二十年,积累了大量的 IP、系统软件、工具、第三方
软件资源等。本章主要针对龙芯公司提供的处理器运行基本软件和 ejtag 调试工具资源的介
绍和获取方式。
1 bios 和 linux 内核
目前,市场上常用的 bios 为 pmon、uboot、昆仑固件以及后续龙芯的 UEFI 等。Pmon
作为龙芯使用较为广泛的 bootloader,龙芯提供开源免费的 pmon。其它商业 bootloader 需
要对应公司提供,龙芯不提供任何资源。
不同处理器的 Pmon 下载链接如下:
1) 2k pmon
ftp://ftp.loongnix.org/embed/ls2k/pmon‐loongson3.tar.gz
2) 3a pmon
ftp://ftp.loongnix.org/embed/ls3a/bootloader/pmon‐loongson3.tar.gz
linux 内核,龙芯目前维护特定版本内核,3a 有 2.6.32 和 3.10 两个版本,2k 有 3.10 一个
版本内核。3.10 是一个长期支持维护的版本,后续 linux 版本待定。
1) 2k 内核下载链接:
ftp://ftp.loongnix.org/embed/ls2k/linux‐3.10.tar.gz
2) 3a 内核下载链接
ftp://ftp.loongnix.org/embed/ls3a/kernel/linux‐3.10.tar.gz
2 工具链
龙芯官方提供的编译工具为 gcc,2k 和 3a 的工具链为同一套。Pmon 和内核采用不同的
编译器。
Pmon 的编译器为:
ftp://ftp.loongnix.org/embed/ls3a/toolchain/gcc‐4.4‐gnu.tar.gz
2
linux 内核的编译器为:
ftp://ftp.loongnix.org/embed/ls3a/toolchain/gcc‐4.9.3‐64‐gnu.tar.gz
3 操作系统
目前市场上支持龙芯的操作系统有很多,如中标、vxworks、道、锐化等等,这些大多
数是商业系统,龙芯不提供系统和技术支持。如用户需要使用这些系统,需从这些商业公司
获得。龙芯秉承做操作系统不卖操作系统的原则,提供免费的 loongnix(fedora21)。下载链
接为:http://ftp.loongnix.org/os/loongnix/1.0/liveinst/loongnix‐20180930.iso
loongnix 约三个月更新一次,以上链接会失效。如失效请到如下链接下载:
http://www.loongnix.org/index.php/%E9%A6%96%E9%A1%B5 点开此链接打开页面后,可以
从页面的 loongnix 字样,进入到下载链接。
4 ejtag
Ejtag 作为龙芯处理器一款高效的在线调试工具。支持 1,2,3 号的所有处理器;支持
gdb remote 协议。即可以烧写 bios 到 flash 中,也可以通过软硬件配合高效的调试内核和外
设。整套 ejtag 由软件部分和硬件部分组成。硬件部分需要付费获得。软件下载链接如下:
ftp://ftp.loongnix.org/embed/ls1b 在此目录下 cygwin 字样的文件名为 windows 下使用软
件,.tar.gz 字样的为 linux 下使用软件其中带有 mips64 字样的为龙芯本地下使用,在 ejtag
软件 doc 目录下是使用手册,driver 为 windows 下的驱动。具体 ejtag 的使用在第五章中会
有示例体现。
3
第二章 Pmon
2.1 pmon 相关资源
2.1.1 源码及工具链获取
2k :
http://ftp.loongnix.org/embed/ls2k/pmon‐loongson3.tar.gz
3a :
http://ftp.loongnix.org/embed/ls3a/bootloader/pmon‐loongson3.tar.gz
工具链:
http://ftp.loongnix.org/embed/ls3a/toolchain/gcc‐4.4‐gnu.tar.gz
2.2 编译准备
2.2.1 安装 makedepand
sudo aptitude install xutils−dev
sudo cp makedepand /usr/bin
2.2.2 安装 pmoncfg
sudo apt install bison flex
cd PMONPATH/tools/pmoncfg
make pmoncfg
sudo cp pmoncfg /usr/bin
4
2.3 pmon 编译
2.3.1 cd zloader.ls2k
(目录根据实际板卡进行选择,例如 3a30007a 目录为 zloader.3a3000_7a)
2.3.2 执行编译脚本里的命令即可,命令如下:
#!/bin/bash
export PATH=/opt/gcc‐4.4‐gnu/bin/:$PATH
make cfg all tgt=rom ARCH=mips CROSS_COMPILE=mipsel‐linux‐ DEBUG=‐g
(以 2k 为例,如更改了配置文件 Targets/LS2K/conf/ls2k, 则在编译前要执行 make cfg, 使
得更改生效,如果普通编译没有更改配置,则每次无需都执行 make cfg 命令)
PS:执行 make dtb 可以将 dtb 和 gzrom.bin 结合生成 gzrom‐dtb.bin,此命令可以在上
面编译完成后执行
2.4 内存相关配置
内存的配置,包含两部分一部分为 pmon 下使用的配置,一部分为传参到内核使用的
DTS 内存相关部分。
1)pmon 下使用的相关配置
需要关注的文件及内容(以 2k 为例):
Targets/LS2K/conf/ls2k //ls2k 配置文件,内有内存相关宏定义主要如下:
AUTO_DDR_CONFIG
//自动探测内存的开关,当板卡使用内存条时需要打开此选
5
项,颗粒需要关闭
DDR_S1
//关闭 AUTO_DDR_CONFIG 时需要根据具体的内存型号手动
配置 s1 的值,具体配置参考<<内存调试手册.pdf>> 4.2 节 s1 寄存器的设置
DDR_PARAM_018,DDR_PARAM_1e0,DDR_PARAM_1e8
//内存 18,1e0,1e8 寄存器
设置
CONFIG_DDR_32BIT, CONFIG_DDR_16BIT
//32/16 bit 内存配置
DDR_RESET_REVERT
//如内存接了反向器需要打开此宏
CORE_FREQ, DDR_FREQ
//主频,DDR 频率配置
Targets/LS2K/ls2k/start.S
//内有开启内存调试相关宏定义,开
启宏定义烧写后可以在 pmon 下动态调整及测试内存
#define DEBUG_DDR
#define DEBUG_DDR_PARAM
Targets/LS2K/ls2k/loongson3_clksetting.S
//主频及内存频率配置文件
Targets/LS2K/ls2k/loongson_mc2_param.S //内存参数配置文件
其他板卡参考路径类似,如 3a30007a 路径为 Targets/Bonito3a3000_7a/B 目录下相关文
件,详细内存调试及使用请参考文档<<龙芯内存调试手册.pdf>> 及本文档调试篇.
2)DTS 内存配置参数介绍
以 2k 为例,dts 文件位置:
Targets/LS2K/conf/ls2k.dts
//设备树配置文件
内存信息
memory {
name = "memory";
device_type = "memory";
reg = <0 0x00200000 0 0x0c800000 // 200MiB at 2MiB
1 0x10000000 0 0x50000000>; // 1280MiB at 4352MiB
6
};
reg 属性中,地址被分为两段,低地址段为:
0 0x00200000 0 0x0c800000,其中 0 0x00200000 为内存起始地址,0 0x0c800000 为内存
大小, 此部分为保留内存,客户不要修改
高地址段为:
1 0x10000000 1 0x5000000,其中 1 0x10000000 为内存起始地址,1 0x50000000 为内存
大小(此大小为 64bit addr, 此部分需要根据客户板卡实际内存大小设置,此大小为实际内存
大小减去第一段的 200M 以及 gpu 使用的 512M 剩余的部分).
DTS 其它节点配置请参考 <> 文档
2.5 pmon 命令介绍
2.5.1 pmon 烧写
pmon 下通过网口烧写
ifaddr syn0 10.0.0.2
load ‐f 0xbfc00000 ‐r tftp://10.0.0.1/gzrom.bin
pmon 下通过 u 盘烧写
load ‐rf 0xbfc00000 (usb0,0)/gzrom.bin
2.5.2 内核启动相关命令
网络加载:
load tftp://server‐ip/vmlinux
initrd tftp://server‐ip/initrd.gz
g console=tty console=ttyS0,115200
7