当前位置: 首页 > 工具软件 > PMON > 使用案例 >

龙芯2k1000LA之pmon学习

朱季
2023-12-01

由于更换了工作,现工作主要是使用龙芯架构下的pmon+linux,所以要学习龙芯架构下的pmon。本文章主要记录学习经验以及工作中遇到的问题。


一、环境简介

硬件:龙芯 2K1000LA 处理器(简称龙芯 2K1000) 主要面向于网络应用,兼顾平板应用及工
控领域应用。片内集成 2 个 LA264 处理器核, 采用 LoongArch 指令系统(龙架构) ,主频
1GHz, 64 位 DDR3 控制器, 并集成各种系统 IO 接口:

内核双核64位主频1GHz
功耗1~5W (支持动态降频降压)浮点单元128位向量单元
峰值运算速度8GFlops高速I/OPCIE2.0*2、SATA2.0
其他接口SPI、UART、GPIO、NAND、SDIO、DVO、I2S、HDA、I2C、USB2.0、GMAC一级指令缓存32KB
一级数据缓存32KB二级缓存共享1MB
内存控制器64位DDR3-1066

软件:ubuntu20.04操作系统

我是将电脑安装成了ubuntu系统,所以没有vmware等软件的安装。

二、系统编译

1、pmon编译

sudo apt-get install aptitude xutilsdev bison flex acpica-tools

sudo apt install libncurses5‐ dev libssl-dev git

进入pmon源码编译pmoncfg工具:
该操作仅在源码包解压后的第一次编译前需要执行。
cd PMON源码/tools/pmoncfg
make pmoncfg
sudo cp pmoncfg /usr/bin

编译PMON:

cd zloader.ls2k1500/
make cfg all tgt=rom CROSS_COMPILE=/opt/bin/loongarch64-linux-gnu- DEBUG=-g
make dtb CROSS_COMPILE=/opt/bin/loongarch64-linux-gnu-

编译选项解释:
make cfg 对pmon进行配置;
all为Makefile里的编译项;
tgt=rom, 指定tgt为rom, 则会生成gzrom.bin文件;
CROSS_COMPILE=loongarch64-linux-gnu-, 指定编译工具前缀名;
DEBUG=-g, 设置编译的时候携带调试信息。
make dtb , 编译设备树

在PMON源码目录生成bin文件和dtb文件, 其中gzrom-dtb.bin带dtb, gzrom.bin
不带dtb, ls2k.dtb为单独的dtb文件。

2、linux内核编译

  编译linux内核:

  cp arch/loongarch/configs/ls2k1000_defconfig .config
  make menuconfig ARCH=loongarch
  make vmlinuz ARCH=loongarch CROSS_COMPILE=/opt/bin/loongarch64-linux-gnu- -j 8

  编译完成后, 会在当前目录下看到生成的vmlinux文件, 与压缩后的内核文件vmlinuz

3、文件系统编译

   编译buildroot文件系统:

   cp config-la.my .config
   make configs/loongisa_defconfig .config
   export PATH=/opt/bin:$PATH
   make menuconfig ARCH=loongarch64

   注意:需要修改图像界面中 Toolchain path中工具链路径
   make ARCH=loongarch64 CROSS_COMPILE=loongarch64-linux-gnu- -j 8


总结

先简单搭建一个环境后面就开始记录学习过程以及开发时候遇到的技术点。

 类似资料: