龙芯LS3A5000固件PMON开发实战

2024-03-08 23:28

本文主要是介绍龙芯LS3A5000固件PMON开发实战,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、LS3A5000+7A2000工业开发板

1.1 硬件信息

  • ls3a5000处理器配置:2.5GHz
  • 内存配置:2路DIMM槽、频率3200Mbps
  • HT频率配置:CPU和7A2000的HT均配置最高速率3200MHz
  • 桥片显存配置:2颗x16的DDR4颗粒,容量共计1GB,速率2400Mbps
  • PCIE:
F0F1HG0
4个X11个X42个X41个X8
  • USB:USB2.0、USB3.0全部使用
  • 显示: HDMI0用作HDMI、VGA使用;HDMI1转换为DP信号,芯片使用LT6711
  • 音频:音频使用I2S信号,codec使用ES8388, codes配置通过7A IIC0 地址0x10
  • UART/CAN:UART与CAN复用,GPIO控制切换通道
  • 温度传感器: 接7A IIC0 地址0X48
  • 看门狗:CPU_GPIO6看门狗使能

1.2 硬件结构图

在这里插入图片描述

二、固件开发准备工作

2.1 资源获取

  • 源码从龙芯获取
  • 交叉工具链 使用最新版本 (rc1.2) , 工具链放到系统 /opt 目录下

2.2 首次编译安装依赖

  • 安装makedepand、make、iasl、gawk
    sudo apt-get install xutils-dev make iasl gawk
  • 安装pmoncfg (可以不操作)
    sudo apt-get install bison flex build-essential patch
    cd pmon-loongarch/tools/pmoncfg
    make
    sudo cp pmoncfg /usr/bin

2.3 创建编译脚本

  • Pmon采用交叉编译,在源码pmon-loongarch目录下创建编译脚本cmd.sh,操作如下:
    vim cmd.sh
  • 将下面内容写到cmd.sh文件里
	#!/bin/bashcd zloader.3a5000_7aexport PATH=/opt/loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.2/bin:$PATHmake cfg make all tgt=rom  CROSS_COMPILE=loongarch64-linux-gnu- DEBUG=-g
  • 修改cmd.sh执行权限
    sudo chmod 777 cmd.sh
  • 执行脚本编译pmon
    ./cmd.sh

备注:编译完成生成二进制文件 编译完成后在pmon源码目录下的zloader.3a5000_7a/目录下生成gzrom.bin

三、固件PMON配置

3.1 频率配置

在这里插入图片描述

3.2 LS3A5000和LS3A6000差异

在这里插入图片描述

3.3 桥片选择

在这里插入图片描述

3.4 看门狗

在这里插入图片描述

3.5 峰鸣器

在这里插入图片描述

3.6 内存配置

在这里插入图片描述

3.6.1 板贴内存颗粒参数

在这里插入图片描述

3.6.2 板贴内存颗粒举例

在这里插入图片描述

3.7 关闭未使用设备

在这里插入图片描述

3.8 PCIE配置

在这里插入图片描述

3.9 时钟配置

3.9.1 时钟架构图

在这里插入图片描述

3.9.2 时钟计算方式

在这里插入图片描述

3.9.3 显存频率

在这里插入图片描述

3.10 网络PHY配置

在这里插入图片描述

3.11 I2S音频配置

在这里插入图片描述

3.12 温度传感器

在这里插入图片描述

3.13 制作vbios

板卡使用的是集显,使用默认设计,开发时不需要修改vbios。

在这里插入图片描述

参考:龙芯VBIOS生成工具

3.13.1 vbios格式转化

在这里插入图片描述

四、固件PMON更新

首次更新,只能通过JTAG或烧录器更新

4.1 JTAG烧录

在这里插入图片描述

4.2 在线更新

在这里插入图片描述

五、调试板卡常见问题

5.1 JTAG使用问题

  1. 判断ejtag是否有链接到处理器上
    jtagregs d8 1 1 #读取的值是”000000005a5a5a5a ZZZZ…” 表示链接成功
  2. ejtag链接不上处理器,可以尝试降ejtag频率
    jtag_clk 4
  3. ejtag软件版本
    a、win系统(win7、win10)版本
    b、linux(ubuntu)版本
    c、龙芯(la架构)版本

备注: ejtag使用文档详见ejtag软件目录下doc里的ejtag1.pdf

5.2 上电没有反应

板卡上电后,串口没有任何输出,此时检查硬件电源、时钟以及上电时序是否正常

5.3 卡在HT初始化,报crc错误

检查ht部分硬件电源、时钟

5.4 开机后不断重启

板卡上有硬件看门狗,可以尝试将硬件看门狗关闭掉

5.5 板贴内存颗粒,启动卡死内存训练位置

  1. 内存颗粒信息配置与板卡实际不符
  2. 走线太差

5.6 统信或麒麟系统无法安装

确认系统镜像是否支持pmon引导,与系统厂商申请可以pmon引导的系统镜像文件

5.7 PMON下有显示,系统下没有显示

  1. 系统下可能没有获取到屏幕的EDID信息,导致没有显示输出
  2. vbios信息与板卡实际信息不符

这篇关于龙芯LS3A5000固件PMON开发实战的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/788766

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

滚雪球学Java(87):Java事务处理:JDBC的ACID属性与实战技巧!真有两下子!

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE啦,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~ 🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!! 环境说明:Windows 10