当前位置: 首页 > news >正文

飞腾D3000PBF和UBOOT配置说明

1、背景介绍

目前调试飞腾D3000模块,针对pbf配置以及uboot中的相关配置积累了一些知识点,留作备份。

2、pbf ddr配置

D3000目前支持DDR4和DDR5的配置,目前采用镁光的DDR4或DDR5,配置参数如下:

  • DDR4

  • DDR5

3、uboot启动参数配置

D3000 UBOOT中可以通过三种方式启动linux操作系统,分别为NVME,USB和SATA

启动命令如下:

  • SATA
setenv bootargs "console=ttyAMA1,115200 quiet root=/dev/sda2 audit=0 devmem=relaxed net"setenv load_booti "booti 0x90100000 0x95000000:0x2000000 0x90000000"
setenv load_fdt "ext4load scsi 0:1 0x90000000 d3000_linux.dtb"
setenv load_initrd "ext4load scsi 0:1 0x95000000 initramfs-64k.img"
setenv load_kernel "ext4load scsi 0:1 0x90100000 Image_64k"setenv distro_bootcmd "scsi scan;run load_fdt;run load_kernel;run load_initrd;run load_booti"



scsi 0:1为第一个盘的第一个分区,默认都是分区1存放启动文件,包含设备树,系统内核以及文件系统

root=/dev/sda2 代码文件系统挂载点,默认都是第二个分区

  • USB
setenv bootargs "console=ttyAMA1,115200 quiet root=/dev/sdb2 audit=0 devmem=relaxed net"setenv load_booti "booti 0x90100000 0x95000000:0x2000000 0x90000000"
setenv load_fdt "ext4load usb 0:1 0x90000000 d3000_linux.dtb"
setenv load_initrd "ext4load usb 0:1 0x95000000 initramfs-64k.img"
setenv load_kernel "ext4load usb 0:1 0x90100000 Image_64k"setenv distro_bootcmd "usb start;run load_fdt;run load_kernel;run load_initrd;run load_booti"


USB一般是通过转换器实现USB转NVME盘,这里是usb,也是第一个分区,类似。

  • NVME
setenv bootargs "console=ttyAMA1,115200 root=/dev/nvme0n1p2 net.ifnames=0 biosdevname=0 rw selinux=0"setenv load_booti "booti 0x90100000 0x95000000:0x2000000 0x90000000"
setenv load_fdt "ext4load nvme 0:1 0x90000000 d3000.dtb"
setenv load_initramfs "ext4load nvme 0:1 0x95000000 initramfs.img"
setenv load_kernel_ft "ext4load nvme 0:1 0x90100000 lmage"setenv distro_bootcmd "nvme scan;run load_fdt;run load_kernel;run load_initrd;run load_booti"


nvme是板子上面贴的nvme盘,使用nvme 0:1代表 第一个nvme盘的第一个分区

4、uboot中关闭设备的iommu

有些PCIE设备需要关闭iommu,可以在uboot启动参数中配置

setenv bootargs "console=ttyAMA1,115200 quiet root=/dev/sda2 audit=0 devmem=relaxed net iommu.passthrough=1 smmu.bypassdev=0x10ee:0x903f"

D3000中UBOOT中可以用启动配置参数关闭某些PCIE设备的IOMMU

iommu.passthrough=1 smmu.bypassdev=0x10ee:0x903f 最后的这个0x10ee:0x903f代表设备PCIE节点名称
如果需要添加多个设备,可以继续增加
smmu.bypassdev=0x10ee:0x903f,0x10ee:0x7038
或者复制多份

smmu.bypassdev=0x10ee:0x903f smmu.bypassdev=0x10ee:0x7038

http://www.dtcms.com/a/296603.html

相关文章:

  • Android15或AndroidU广播的发送流程
  • 阿里云ECS坑之dnf-makecache系统软件更新检测服务
  • Java面试宝典:Spring专题二
  • Access开发一键删除Excel指定工作表
  • Golang实现 - 实现只有表头的 Excel 模板,并在指定列添加了下拉框功能。生成的 Excel 文件在打开时,指定列的单元格会显示下拉选项
  • 笔记/使用Excel进行财务预测
  • 【超完整图文】在 Ubuntu 环境下安装 Qt Creator 4.7.0(较旧版本)
  • 亿级流量短剧平台架构演进:高并发场景下的微服务设计与性能调优
  • IP 证书全面解析:功能、类型与申请指南
  • 神经网络实战案例:用户情感分析模型
  • iview 部分用法
  • PyTorch常用Tensor形状变换函数详解
  • Spring中的循环依赖:解密、破局与架构启示
  • 第21章 常用的用户调查分析方法
  • 08 rk3568 模拟smi mdio RTL8367RB
  • 详解FreeRTOS开发过程(五)-- 系统内核控制函数及任务相关API函数
  • 遥感滑坡识别分割数据集labelme格式1893张1类别
  • 【java计算日期属于本月第几周通用方法】
  • 用生成模型解开视网膜图像的表征|文献速递-医学影像算法文献分享
  • 黄山派lvgl8学习笔记(3)导入陀螺仪传感器数据
  • 解决VSCode中“#include错误,请更新includePath“问题
  • 深度分析Java内存结构
  • 基础NLP | 01 机器学习 深度学习基础介绍
  • JavaScript 文件在页面渲染中的加载机制详解
  • CF每日5题(1500-1600)
  • Unity3D + VR头显 × RTSP|RTMP播放器:构建沉浸式远程诊疗系统的技术实践
  • Springboot宠物用品商城的设计与实现
  • 深入理解 eMMC RPMB 与 OP-TEE 在 Linux 系统中的应用开发
  • 云祺容灾备份系统AWS S3对象存储备份与恢复实操手册
  • 字符串匹配经典问题整理