Files
rt-thread/bsp/ultrarisc/ur_dp1000_evb/README.md
2025-10-25 01:23:48 +00:00

6.5 KiB
Raw Blame History

UR-DP1000 Evb Board Support Package 使用说明

1. 概述

UR-DP1000是超睿科技研发的高性能多核RISC-V Soc拥有8个高性能自研RISC-V处理器核UR-CP100同时集成了24路PCIe 4.0、双路DDR 4以及一系列丰富的低速接口。

本 BSP 支持 UR-DP1000 EVB开发板。采用本BSP编译生成的RT-Thread标准版本以及Smart版本可以运行在 UR-DP1000 EVB开发板上。板卡集成16GB DDR4内存。

2. 芯片规格说明

硬件 描述
芯片型号 UR-DP1000
CPU 8核UR-CP10064位乱序发射超标量微架构支持rv64imafdchx指令集支持虚拟化扩展
主频 2.0-2.3GHz
cache 核内集成64KB L1I和64KB L1D Cache以及512KB L2 Cache
外设 支持两路DDR4支持ECC最大支持内存容量128GB
支持24路PCIe 4.0接口
SPI、UART、QSPI、UART、GMAC、I2C、PWM、GPIO等

3. BSP外设支持

设备名称 支持情况 说明
PLIC 支持 中断控制器
CLINT 支持 RISC-V core local 中断控制器,系统时钟及核间中断依赖该设备
MMU 支持 支持SV39支持ASID
UART 支持 调试串口
SPI 支持 Designware apb ssi ,支持TF卡驱动

4. 编译

RT-Thread编译只支持Linux推荐Ubuntu 22.04。

4.1. toolchain下载

toolchain下载地址https://download.rt-thread.org/rt-smart/riscv64/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu_251248.tar.bz2

将下载的toolchain解压到指定路径中例如/opt/riscv64gc-linux-musleabi_for_x86_64-pc-linux-gnu

4.2. BSP编译

4.2.1. 设置编译环境变量

export RTT_EXEC_PATH=/opt/riscv64gc-linux-musleabi_for_x86_64-pc-linux-gnu/bin
export RTT_CC_PREFIX=riscv64-unknown-linux-musl-

4.2.2. 安装编译依赖

sudo apt install scons  python3-pip
pip install git+https://github.com/sysprog21/Kconfiglib

注意:如果下载速度较慢,可以使用 git 代理或设置 pip 镜像源来加速安装。

4.2.3. 编译

git clone https://github.com/RT-Thread/rt-thread.git
cd bsp/ultrarisc/ur_dp1000_evb
#默认为RT-Thread标准版
scons

编译完成后可以在bsp目录下生成rt-thread.elf及rtthread.bin文件。

如果要编译RT-Thread Smart版本需要通过scons --menuconfig使能RT-Thread Kernel->Enable RT-Thread Smart (microkernel on kernel/userland);

同时使能SPI MMC驱动Ultrarisc DP1000 Soc Drivers Configuration->Using MMC。

5. 运行

编译完成后在UR-DP1000 EVB板卡上可以通过jtag加载镜像运行

在RT-Thread调试阶段为了能够快速的下载RT-Thread镜像方便功能调试可以通过jtag下载及调试

  • 板卡上电后首先运行固化在flash里的固件opensbi启动

  • 将jtag调试器与板卡jtag口连接同时启动openocd;

  • 如果是标准版本可以直接通过gdb加载rt-thread.elf然后continue运行如果是RT-Thread Smart版本需要通过gdb加载rtthread.bin然后修改pc值为0x80200000,continue运行。

    #gdb
    restore rtthread.bin binary 0x80200000
    set $pc=0x80200000
    continue
    

    成功运行时,串口端的输出如下:

    OpenSBI v1.6-66-gbeb27559acd
       ____                    _____ ____ _____
      / __ \                  / ____|  _ \_   _|
     | |  | |_ __   ___ _ __ | (___ | |_) || |
     | |  | | '_ \ / _ \ '_ \ \___ \|  _ < | |
     | |__| | |_) |  __/ | | |____) | |_) || |_
      \____/| .__/ \___|_| |_|_____/|____/_____|
            | |
            |_|
    
    Platform Name               : ultrarisc,dp1000
    Platform Features           : medeleg
    Platform HART Count         : 8
    Platform IPI Device         : aclint-mswi
    Platform Timer Device       : aclint-mtimer @ 10000000Hz
    Platform Console Device     : uart8250
    Platform HSM Device         : ---
    Platform PMU Device         : ---
    Platform Reboot Device      : ---
    Platform Shutdown Device    : ---
    Platform Suspend Device     : ---
    Platform CPPC Device        : ---
    Firmware Base               : 0x80000000
    Firmware Size               : 403 KB
    Firmware RW Offset          : 0x40000
    Firmware RW Size            : 147 KB
    Firmware Heap Offset        : 0x54000
    Firmware Heap Size          : 67 KB (total), 4 KB (reserved), 11 KB (used), 51 KB (free)
    Firmware Scratch Size       : 4096 B (total), 400 B (used), 3696 B (free)
    Runtime SBI Version         : 2.0
    Standard SBI Extensions     : time,rfnc,ipi,base,hsm,pmu,dbcn,legacy
    Experimental SBI Extensions : fwft,sse
    
    Domain0 Name                : root
    Domain0 Boot HART           : 0
    Domain0 HARTs               : 0*,1*,2*,3*,16*,17*,18*,19*
    Domain0 Region00            : 0x0000000020310000-0x0000000020310fff M: (I,R,W) S/U: (R,W)
    Domain0 Region01            : 0x0000000080000000-0x000000008003ffff M: (R,X) S/U: ()
    Domain0 Region02            : 0x0000000080040000-0x000000008007ffff M: (R,W) S/U: ()
    Domain0 Region03            : 0x0000000008000000-0x00000000080fffff M: (I,R,W) S/U: ()
    Domain0 Region04            : 0x0000000000000000-0xffffffffffffffff M: () S/U: (R,W,X)
    Domain0 Next Address        : 0x0000000080200000
    Domain0 Next Arg1           : 0x0000000082200000
    Domain0 Next Mode           : S-mode
    Domain0 SysReset            : yes
    Domain0 SysSuspend          : yes
    
    Boot HART ID                : 0
    Boot HART Domain            : root
    Boot HART Priv Version      : v1.12
    Boot HART Base ISA          : rv64imafdchx
    Boot HART ISA Extensions    : zicntr,zihpm
    Boot HART PMP Count         : 4
    Boot HART PMP Granularity   : 2 bits
    Boot HART PMP Address Bits  : 42
    Boot HART MHPM Info         : 6 (0x000001f8)
    Boot HART Debug Triggers    : 0 triggers
    Boot HART MIDELEG           : 0x0000000000000666
    Boot HART MEDELEG           : 0x0000000000f0b509
    
    Test payload running
    ssi_version_id=4.03*
    fifo length is 64
    heap: [0x002acb28 - 0x042acb28]
    
     \ | /
    - RT -     Thread Smart Operating System
     / | \     5.2.1 build May 28 2025 08:24:41
     2006 - 2024 Copyright by RT-Thread team
    [I/drivers.serial] Using /dev/ttyS0 as default console
    Mount "/dev/sd0p1" on "/"
    Hello RT-Thread
    msh />
    / # 
    

    6. 联系人信息

    zhangjing@ultrarisc.com