龙芯S-2K2000板卡测试记录,loongnix系统已知问题及Buildroot跑DPDK

这篇具有很好参考价值的文章主要介绍了龙芯S-2K2000板卡测试记录,loongnix系统已知问题及Buildroot跑DPDK。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

S-2K2000板卡已知问题

  1. 安装系统时PMON需要使用acpi传参
  2. pmon下USB键盘不支持热插拔
  3. pmon下插入部分USB键盘 进pmon特别慢,兼容性问题,后续统一解决
  4. 不支持emmc,等待更新pmon

S-2K2000板卡手动引导USB命令

load  (usb0,0)/boot/vmlinuz.
initrd  (usb0,0)/boot/initrd.gz
g console=ttyS0,115200

PMON编译方法

  1. 安装ubuntu20.04系统
  2. 解压龙芯交叉编译工具到/opt目录
tar xvf loongarch64-linux-gnu-2021-06-19-vector.tar.gz -C /opt/
  1. 修改ACPI传参。 文件路径:PMON下的Targets/ls2k2000/conf/ls.2k2000;配置文件:ls_anpk.2k2000,可以覆盖。修改内容为ACPI的三个选项,取消注释
#
#  Define target endian
#
makeoptions     ENDIAN=EL               # Little endian version.

option          SMBIOS_SUPPORT
option          ACPI_SUPPORT   //取消注释
select          acpi_support    //取消注释
option          LS_STR     //取消注释
  1. 编译pmon,执行cmd.sh
cd zloader.ls2k2000
make cfg all tgt=rom ARCH=loongarch CROSS_COMPILE=/opt/loongarch64-linux-gnu-2021-06-19-vector/bin/loongarch64-linux-gnu- DEBUG=-g
make dtb ARCH=loongarch CROSS_COMPILE=/opt/loongarch64-linux-gnu-2021-06-19-vector/bin/loongarch64-linux-gnu-

S-2K2000安装系统的步骤

  1. 更新GPU_FUSE pmon
  2. 执行fuse_write升级GPU固件,并check
  3. 更新ACPI传参pmon
  4. 安装系统(2个版本均可)
  5. 替换内核
  6. 修改boot.cfg
  7. 更新正式pmon

龙芯2K2000 GPU固件升级

  1. 烧录gpufuse固件 (pmon_2k2000_gpufuse_nuc.bin)
  2. pmon下执行fuse_write–》重启板卡–》pmon下执行fuse_check
  3. 重启确认显示正常
  4. 烧录回旧pmon(目前nuc固件不支持USB,需要通过tftp烧录)

TFTP烧录pmon的方法

  1. 启动到pmon命令行下,开机时按c进入pmon
  2. 查看设备列表devls
PMON> devls
Device name  Type
syn0         IFNET
syn1         IFNET
syn2         IFNET
wd0          DISK
ngbe0        IFNET
ngbe1        IFNET
ngbe2        IFNET
ngbe3        IFNET
ngbe4        IFNET
ngbe5        IFNET
ngbe6        IFNET
ngbe7        IFNET
ngbe8        IFNET
ngbe9        IFNET
PMON> 
  1. 配置ip
    ifconfig syn0 10.50.122.1
  2. 测试网络
    ping 10.50.122.10
  3. 准备TFTP服务器,推荐用Windows tftd64软件
  4. TFTP烧录pmon
    fload tftp://10.10.10.10/gzrom-gpu.bin
    龙芯S-2K2000板卡测试记录,loongnix系统已知问题及Buildroot跑DPDK,stm32,嵌入式硬件,单片机

支持的操作系统(已实测安装)

  1. 龙芯嵌入式系统 Loongnix-Embedded-20.1.rc3-loongarch64-DVD-1。
    已知问题:没有网络源。
  2. 龙芯loongnix系统 Loongnix-20.5.livecd.loongarch64.iso。
    已知问题:找不到I2C设备,需要替换内核。不支持DTS传参。

龙芯系统替换内核的方法

loongnix系统更换为anntec内核后需要改为DTS传参,注销ACPI选项后重新编译PMON,并更新到板卡。

  1. 挂载分区2
    mount /dev/sda2 /mnt
  2. 修改boot.cfg 增加一个内核选项
    vim /mnt/boot.cfg
  3. 拷贝已经适配过的anntec内核vminuz文件到分区2
    cp vminuz /mnt/
  4. 卸载分区2
    umount /mnt

修改dmi显示的modle name方法:

  1. 默认显示的model_name是 Loongson-2K2000-EVB-V1.0
root@test-pc:~# lscpu
Architecture:          loongarch64
  Byte Order:          Little Endian
CPU(s):                2
  On-line CPU(s) list: 0,1
BIOS Vendor ID:        Loongson-2K2000-EVB-V1.0
Model name:            Loongson-2K2000-EVB-V1.0
  BIOS Model name:     Loongson-2K2000-EVB-V1.0  CPU @ 1.2GHz
  BIOS CPU family:     1
  CPU family:          Loongson-64bit
  Thread(s) per core:  1
  Core(s) per socket:  2
  Socket(s):           1
  BogoMIPS:            2400.00
  Flags:               cpucfg lam ual fpu lsx crc32 lbt_x86 lbt_arm lbt_mips
Caches (sum of all):   
  L1d:                 128 KiB (2 instances)
  L1i:                 128 KiB (2 instances)
  L2:                  2 MiB (1 instance)
NUMA:                  
  NUMA node(s):        1
  NUMA node0 CPU(s):   0,1
  1. pmon目录下执行grep -rn "board_name"找到对应的文件路径/pmon/common/smbios/smbios.c
  2. 修改对应的值后重新编译
#elif defined(LOONGSON_2K2000)
        sprintf(board_name, "S-%s-V1.0", "2K2000");

  1. 更新pmon后测试,已经修改了原先的
root@test-pc:~# dmidecode -t2
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.6 present.

Handle 0x0002, DMI type 2, 17 bytes
Base Board Information
	Manufacturer: Anntec.cn S-2K2000-V1.0
	Product Name: 1.0
	Version: <BAD INDEX>
	Serial Number: Not Specified
	Asset Tag: Not Specified
	Features:
		Board is a hosting board
		Board is replaceable
	Location In Chassis: Not Specified
	Chassis Handle: 0x0000
	Type: Motherboard
	Contained Object Handles: 0

DPDK的测试方法前面文章已有讲述,记录一些注意事项

  1. NAS上传的dpdk-l2fwd程序版本为21.11 ,启动命令需要加一个参数-P
    ./l2fwd -l 1 --proc-type auto --socket-mem 1024 --file-prefix lwd0 -- -q 2 -p 0x3 -T 5 --no-mac-updating -P ./l2fwd -l 1 --proc-type auto --socket-mem 1024 --file-prefix lwd0 -- -q 4 -p 0xf -T 5 --no-mac-updating -P ./l2fwd -l 1 -- -q2 -p3 -T0 --no-mac-updating -r 128 -t 256 -P
  2. 目前测试丢包较多,修改boot.cfg添加了isolcpus=1,使用core1来跑,稍有改善。龙芯认为是系统干扰严重,推荐用buildroot测试,等待更新。

i2c操作bypass命令

  1. 关闭bypass
    i2cset -f -y 0 0x2f 0x21 0x00
  2. 保存设置
    i2cset -f -y 0 0x2f 0x19 0xaa

Buildroot制作,工具U-start 已上传NAS,步骤如下

  1. 运行build.sh

  2. 选中U盘路径执行文章来源地址https://www.toymoban.com/news/detail-723493.html

root@ubuntu:~/U-start# ./build.sh 
保证U盘没有重要文件,U盘会全部格式化
您的磁盘为
sda		60G
sdb		29.6G
请输入您想分区的盘,格式为/dev/磁盘名称 (如 /dev/sda) :
/dev/sdb
/dev/sdb磁盘大小为29G,小于300G,可以正常使用
您想分区的磁盘名称为/dev/sdb, 确认请输入y,否则退出
请谨慎输入 (y,N)  y
确认
umount: /dev/sdb1: no mount point specified.
umount: /dev/sdb2: no mount point specified.
umount: /dev/sdb3: no mount point specified.
umount: /dev/sdb4: not mounted.
umount: /dev/sdb5: no mount point specified.

Welcome to fdisk (util-linux 2.34).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): Partition number (1,2, default 2): 
Partition 2 has been deleted.

Command (m for help): Selected partition 1
Partition 1 has been deleted.

Command (m for help): Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): Partition number (1-4, default 1): First sector (2048-62115839, default 2048): Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-62115839, default 62115839): 
Created a new partition 1 of type 'Linux' and of size 1000 MiB.

Command (m for help): Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): Partition number (2-4, default 2): First sector (2050048-62115839, default 2050048): Last sector, +/-sectors or +/-size{K,M,G,T,P} (2050048-62115839, default 62115839): 
Created a new partition 2 of type 'Linux' and of size 20 MiB.

Command (m for help): The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: Device or resource busy

The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).

/dev/sdb分区完成
############################################
/dev/sdb1正在进行格式化
mke2fs 1.45.5 (07-Jan-2020)
Creating filesystem with 256000 4k blocks and 64000 inodes
Filesystem UUID: 01668611-43eb-4819-af87-1c2728429910
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376

Allocating group tables: done                            
Writing inode tables: done                            
Writing superblocks and filesystem accounting information: done

/dev/sdb1格式化完成
/dev/sdb2正在进行格式化
mkfs.fat 4.1 (2017-01-24)
/dev/sdb2格式化完成
正在拷贝文件,请勿移动U盘
拷贝完成
  1. 将制作好的U盘插入被测板卡启动(支持3A5000,2K2000,2K1000,2K1500处理器),root登录,空密码,ls查看有以下目录
Welcome to Buildroot
buildroot login: root
No mail.
# ls
2k0500	2k1500	3a5000	      dpdk-l2fwd    hugepage.sh
2k1000	2k2000	dpdk-bind.sh  dpdk-testpmd  setmrs.sh
说明:
//CPU型号目录下存放对应的igb_uio文件
//uio已经编译到内核
//hugepage.sh 设置大页内存
//setmrs.sh 无需设置
//dpdk-bin.sh 用于绑定接口
//dpdk-l2fwd,dpdk-testpmd 为测试程序
  1. 运行步骤
# 
# insmod 2k2000/igb_uio.ko 
[   33.543679] igb_uio: loading out-of-tree module taints kernel.
[   33.561711] igb_uio: Use MSIX interrupt by default
# ./hugepage.sh 
# ./dpdk-bind.sh -b igb_uio 04:00.0
[   51.039073] igb_uio 0000:04:00.0: mapping 1K dma=0x1a5c000 host=00000000f48b8029
[   51.046452] igb_uio 0000:04:00.0: unmapping 1K dma=0x1a5c000 host=00000000f48b8029
[   51.054242] pcieport 0000:00:0c.0: can't derive routing for PCI INT B
[   51.060668] igb_uio 0000:04:00.1: PCI INT B: no GSI
[   51.065656] igb_uio 0000:04:00.1: mapping 1K dma=0x1a5c000 host=00000000f48b8029
[   51.073031] igb_uio 0000:04:00.1: unmapping 1K dma=0x1a5c000 host=00000000f48b8029
# ./dpdk-bind.sh -b igb_uio 04:00.1
[   53.200501] pcieport 0000:00:0c.0: can't derive routing for PCI INT B
[   53.206934] igb_uio 0000:04:00.1: PCI INT B: no GSI
[   53.212105] igb_uio 0000:04:00.1: mapping 1K dma=0x1a5c000 host=00000000f48b8029
[   53.219470] igb_uio 0000:04:00.1: unmapping 1K dma=0x1a5c000 host=00000000f48b8029
# ./dpdk-bind.sh -s
0000:00:08.0 drivers ahci
0000:04:00.0 drivers igb_uio
0000:04:00.1 drivers igb_uio
0000:00:16.0 drivers ls-spi-pci
0000:00:09.0 drivers pcieport
0000:00:0a.0 drivers pcieport
0000:00:0b.0 drivers pcieport
0000:00:0c.0 drivers pcieport
0000:00:0d.0 drivers pcieport
0000:00:0f.0 drivers pcieport
0000:00:03.0 drivers stmmaceth
0000:00:03.1 drivers stmmaceth
0000:00:03.2 drivers stmmaceth
0000:00:04.0 drivers xhci_hcd
0000:00:19.0 drivers xhci_hcd
  1. 运行测试程序
# ./dpdk-testpmd -l 0,1 -- -i
EAL: Detected CPU lcores: 2
EAL: Detected NUMA nodes: 1
EAL: Detected static linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
[  123.025759] igb_uio 0000:04:00.0: uio device registered with irq 45
EAL: Probe PCI driver: net_ngbe (8088:101) device: 0000:04:00.0 (socket 0)
[  123.172799] igb_uio 0000:04:00.1: uio device registered with irq 46
EAL: Probe PCI driver: net_ngbe (8088:101) device: 0000:04:00.1 (socket 0)
TELEMETRY: No legacy callbacks, legacy socket not created
Interactive-mode selected
testpmd: create a new mbuf pool <mb_pool_0>: n=155456, size=2176, socket=0
testpmd: preferred mempool ops selected: ring_mp_mc
Configuring Port 0 (socket 0)
Port 0: 8C:1C:DA:46:BF:00
Configuring Port 1 (socket 0)
Port 1: 8C:1C:DA:46:BF:01
Checking link statuses...
Done
testpmd> start

到了这里,关于龙芯S-2K2000板卡测试记录,loongnix系统已知问题及Buildroot跑DPDK的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SkyEye处理器仿真系列:龙芯2K1000处理器

    天目全数字实时仿真软件SkyEye作为基于可视化建模的硬件行为级仿真平台,能够为嵌入式软件提供虚拟化运行环境,开发、测试人员可在该虚拟运行环境上进行软件开发、软件测试和软件验证活动。小到芯片,大到系统,SkyEye均可进行模拟。 1936年,被誉为“计算机科学与人

    2024年02月12日
    浏览(47)
  • 迅为龙芯3A5000_7A2000COMe_模块和主板

    龙芯 3A5000+7A2000 COME 采用全国产龙芯 3A5000 处理器,基于龙芯自主指令系统 (LoongArche)的 LA464 微结构,并进一步提升频率,降低功耗,优化性能。桥片采用龙芯 7A2000,支持 PCIE 3.0、USB 3.0 和 SATA 3.0、显示接口 2 路、HDMI 和1 路 VGA,可直连显示器;另外内置一个网络 PHY,片内集成了

    2024年02月15日
    浏览(27)
  • GJB5186测试功能的1553B板卡

    功能特点 •  支持GJB5186.1-2003、GJB5186.2-2004、GJB5186.3-2003、GJB5186.4-2004、GJB5186.6-2005协议测试项的全部 •  支持GJB5186.1-2003、GJB5186.2-2004、GJB5186.3-2003、GJB5186.4-2004、GJB5186.6-2005电气性能测试的部分 •  提供2个双冗余1553B通道 •  支持1M和4M通信速率 •  提供全功能(BC/31RT/BM)

    2024年02月01日
    浏览(25)
  • RK3588 及ATLAS 板卡压力测试stressapptest

    源码下载 git clone https://github.com/stressapptest/stressapptest.git 编译 1)、ubuntu本地使用: 2)、移植到arm平台开发板: 参考测试命令:stressapptest -s 600 -M 64 -m 8 -C 8 -W 参数说明:               -s: number of second to run the application  测试时间 -m: number of memory copy threads to run  复制线程数

    2024年02月11日
    浏览(28)
  • 笔记本外接2K显示器问题记录(集显Intel HD Graphic 3000)

    近来买一个小米的2K显示器,通过hdmi线接入后,发现只能选择分辨率为1920*1080,然后自己耗费了一个下午的时间,才把它搞好,记录下。 思路:         如果需要支持2K的显示器,需要以下条件:数据线支持;显卡支持;驱动支持。         ①、数据线自己用的hdmi 1.4的

    2024年02月12日
    浏览(148)
  • 龙芯系统部署Elasticsearch

    2024年02月02日
    浏览(23)
  • 飞腾CPU FT-2000/4 uboot下PHY调试记录

    飞腾爱好者技术交流群码 公众号“乌拉大喵喵”   一、环境说明 板子是FT-2000/4的开发板: 固件版本: ft-2004c_u-boot-v2-Ver0.3_202112231001.tar.gz ft2004c_v2.06_image_fix.rar   二、调试命令说明 调试PHY主要用到的命令是mii,先查看下可用的命令: mii device,缩写mii dev,查看网络控制器m

    2023年04月24日
    浏览(45)
  • 麒麟操作系统(Kylin)—龙芯芯片—mips64架构

    1.安装docker         下载docker *.deb安装包          官网网站:  http://www.loongnix.cn/index.php/Docker         网络在线下载地址: 官网文档地址:  ShowDoc         其中libdevmapper.so.1.02.1  可以在/lib中找 官网用户手册使用教程:  Docker | 龙芯开源社区 拉取镜像 镜像查找下

    2024年02月15日
    浏览(46)
  • postgresql | 数据库| 生成2000W条的简单测试表

    前言: 数据库学习的过程中,很可能需要数据量比较大的表来进行模拟测试,那么,测试表的创建需要遵循的是贴近实际的生产环境,尽量的模仿实际的生产环境。 因此,学习数据库的时候,快速的创建一个具有足够数据量的大表是非常有必要的。 OK,本文将就如何创建一

    2024年02月10日
    浏览(20)
  • 一文2000字从0到1用Jmeter全流程性能测试实战

    项目背景: 我们的平台为全国某行业监控平台,经过3轮功能测试、接口测试后,98%的问题已经关闭,决定对省平台向全国平台上传数据的接口进行性能测试。 1、编写性能测试方案 由于我是刚进入此项目组不久,只参与了其中3个模块的功能测试,一遍接口回归测试,所以在

    2024年02月08日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包