启明智显技术分享|HMI工业级芯片Model3(简称M3芯片)PSRAM使用指南及PSRAM溢出如何进行问题定位

 Model3芯片简介:

启明智显发布的HMI工业级芯片Model3(简称M3芯片)是一款高性能的显示交互和智能控制 MCU,采用国产自主高算力 RISC-V 内核,内置片上 1MB 大容量 SRAM 以及 64Mb PSRAM,并提供丰富的互联外设接口,配备了 2D 图像加速引擎和 PNG 解码/JPEG 编 解码引擎,可以满足各类交互设计场景和多媒体互动需求,具有高可靠性、高安全性、高开放性的特点,使得它在工业自动化控制、HMI人机交互、工业HMI、智慧家居、家电、串口屏、彩屏仪表、86中控面板等众多领域都展现出了强大的应用潜力。

Model3(简称M3芯片)PSRAM使用指南及PSRAM溢出如何进行问题定位:

术语定义

概述

本篇应用XSPI模块,本模块的功能主要实现了外部并行总线Xccela、HyperBus、OPI、1/2/4/8线SPI。 本总线模块可用于与外部PSRAM、FLASH等元器件实现连接。 

功能特性

  • 支持Xccela协议

  • 支持HyperBus协议

  • 支持OPI协议

  • 支持1/2/4/8线SPI

  • 支持200MHz DDR/SDR采样

  • 支持XIP

  • 支持中断以及DMA

  • 支持两片并行读写数据

  • 支持单片16bit读写数据

  • 具有16x32bit TXFIFO以及RXFIFO

  • 具有512MB 内存映射空间

原理框图 

Model3(简称M3芯片)方案

实现OPI方式与PSRAM通信,采用双边沿采样,支持parallel(两片PSRAM)/single(一片PSRAM)驱动PSRAM。

参数配置

驱动配置

使能 XSPI 相关的驱动,在 ZX-RTT 根目录下执行 source onestep.sh 并lunch相关bootloader配置文件, 再执行 scons --menuconfig,进入menuconfig的功能配置,在 SDK 的配置界面中,进行下列的选择:

Bootloader options  --->
    Drivers  --->
    [*] PSRAM support
        PSRAM Parameter  --->
        (0) XSPI CS0 data PIN remap
        (0) XSPI CS1 data PIN remap
        (198000000) XSPI CLK config, range 50MHz-200MHz

M3 PSRAM 合封在芯片的方案中,PSRAM是属于芯片封装一起的, data引脚复用已经固定,无需配置,用户可调整CLK 。

备注

  • 198000000 XSPI CLK config, range 50MHz-200MHz 是针对XSPI控制器的时钟配置,同时也是输出到PSRAM模块的时钟配置, M3方案中使用的PSRAM最大支持200MHz。

<<<<< 以下内容仅供内部使用

  • (0) XSPI CS0 data PIN remap 是针对CS0组对应的data引脚的复用配置,是32bit的16进制数字,详细查看XSPI寄存器手册的 XSPI_CS0_SEQUENCEXSPI_CS1_SEQUENCE 配置。

  • (0) XSPI CS1 data PIN remap 是针对CS1组对应的data引脚的复用配置,是32bit的16进制数字,详细查看XSPI寄存器手册的 XSPI_CS0_SEQUENCEXSPI_CS1_SEQUENCE 配置。

LDO使能

在 ZX-RTT 根目录下执行 source onestep.sh, 分别依次对bootloader和rtos配置文件选中 执行 scons --menuconfig,进入menuconfig的功能配置,在 SDK 的配置界面中,进行下列的选择:

Board options  --->
[*] Using Syscfg
      Syscfg Parameter  --->
      -*- SYSCFG LDO18 enable  --->
      (7)   LDO18 voltage value level <0-7>

LDO18使能并配置1.92V,给PSRAM提供电源,需要根据实际硬件来决定是否使能,上述参数为芯片特性参数, 保持默认值即可。

 

备注

在M3方案中,使用的PSRAM使用1.92V拥有更好的性能,LDO18属于SYSCFG模块下的配置,共有8档可调电压,分别

  • 0:LDO18_VAL_1_71V 对应 1.71V

  • 1:LDO18_VAL_1_74V 对应 1.74V

  • 2:LDO18_VAL_1_77V 对应 1.77V

  • 3:LDO18_VAL_1_80V 对应 1.80V

  • 4:LDO18_VAL_1_83V 对应 1.83V

  • 5:LDO18_VAL_1_86V 对应 1.86V

  • 6:LDO18_VAL_1_89V 对应 1.89V

  • 7:LDO18_VAL_1_92V 对应 1.92V

测试指南 

相关数据

备注

290MB/s,CLK 200MHz, DDR, parallel模式下XSPI有效传输数据实测带宽值,其中有协议损耗。 此测试为CPU带宽测试,转换效率取决于CPU cache line长度,传输burst越长XSPI转换效率越高。

 bootloader测试开关

在 ZX-RTT 根目录下执行 source onestep.sh 并lunch相关bootloader配置文件, 再执行 scons --menuconfig,进入menuconfig的功能配置界面,按如下选择:

Bootloader options  --->
    Bootloader commands  --->
        [*] psram memory test

使能 psram memory test 选项后:

bootloader的cmd中,会支持test_psram命令。

 

RTOS下测试

RTOS下memory测试

RTOS默认配置使能memory测试, 通过:

mem_test 0x100000 // 从psram中malloc 0x100000空间大小作为测试
mem_test 0x40780000 0x10000 // 指定 0x40780000起始地址, 0x10000空间大小作为测试
RTOS下带宽测试
使能 test_stream:
-> Local packages options
    -> Third-party packages options
    -> BenchMark Tests
    [*] STREAM : a benchmark that measures the sustained memory bandwidth.  --->
        (262144) Stream test array size.

关闭部分APP,释放psram空间:

Board options  --->
    [ ] Using Display Engine (DE)
    [ ] Using Graphics Engine (GE)
    [ ] Using Video Engine (VE)
Application options  --->
    [ ] ZX lvgl demo  ----
Local packages options  --->
    Third-party packages options  --->
    [ ] LVGL (official): powerful and easy-to-use embedded GUI library  ----
    ZX packages options  --->
    [ ] aic-mpp  ----

在RTOS的console中输入:

// 查看psram空间情况
aic/> free
memheap           pool size  max used size available size
---------------- ---------- ------------- --------------
heap_cma         8388608    48            8388560
heap_sys         751264     19628         733852

// 执行测试
aic/> test_stream

常见问题

LDO电压配置失效

现象:以M3 PSRAM 合封在芯片的方案为例,配置且关闭LDO18, 探测LDO18电压,发现LDO18仍有电压输出。

解决办法:

  1. 确认探测点是否正确。

  2. 确认是否 bootloader和rtos的defconfig配置都统一选择关闭LDO18

工程编译中,出现 PSRAM_SW 溢出: 

解决办法:

  1. 具体原因:工程代码中,全局变量或静态变量的大小超过了预设的 PSRAM_SW 大小
  2. 解决方法:在menuconfig中,根据所需要用到的内存大小,适当调整 PSRAM_SW 大小
Board options  --->
    Mem Options  --->
      (0x100000) Software size in PSRAM

小技巧

具体的内存配置可以查看 bsp/zx/sys/m3c/link_script/gcc_aic.ld.S ,不当分配 PSRAM_SW 大小,会导致 CMA 内存不足,无法动态分配内存。

 

【启明智显】,作为一家专注于HMI和AIoT解决方案的公司,我们致力于为用户提供创新、可靠且高效的产品和解决方案。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/551298.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

李彦宏官宣第二届“文心杯”创业大赛,最高投资奖励翻5倍达5000万

4月16日&#xff0c;百度创始人、董事长兼首席执行官李彦宏在Create 2024百度AI开发者大会上宣布&#xff0c;第二届“文心杯”创业大赛正式启动&#xff0c;参赛选手有机会获得最高5000万人民币投资。 李彦宏在Create 2024百度AI开发者大会的演讲主题是“人人都是开发者”&…

伦敦站:电子科技大学2024年全球人才推介会诚邀学者报名参会!

2024年4月24日&#xff0c;电子科技大学访英代表团一行将在伦敦举办人才推介交流会。届时&#xff0c;电子科技大学嘉宾将现场推介学校办学和人才队伍建设情况&#xff0c;宣讲学校人才引进政策&#xff0c;并与参会学者进行互动交流与洽谈。现热忱欢迎伦敦及周边地区学者报名参…

怎么申请OV证书

不同于DV SSL证书申请只需要验证域名所有权&#xff0c;申请OV SSL证书除了会验证域名之外&#xff0c;同时还会对申请企业的组织信息进行验证。本篇就给大家介绍一下如何申请OV SSL证书。 目前DV SSL证书和OV SSL证书的区别还是比较大的&#xff0c;DV和OV的区别&#xff1a;…

红帽认证考试流程指导

参加红帽认证考试涉及以下三个流程帐号和证件的准备 考试信息的填写 证书关联与下载 帐号和证件的准备RHN 帐号注册 在参加红帽官方培训和认证考试前需要您提前注册好红帽帐号(RHN) 访问 此页面 &#xff0c;随后点击 Register for a Red Hat account 链接进行注册 注册时以下条…

BoostCompass( 查找功能实现 )

阅读导航 一、查找功能基本思路二、详细代码三、代码介绍四、运行结果 一、查找功能基本思路 通过实现一个基于倒排索引的搜索引擎&#xff0c;来提供高效、准确的搜索服务。其核心在于快速准确地从大量文档中检索出与用户查询关键词相关的文档&#xff0c;并按照相关性对结果…

【计算机考研】「软件工程」VS「电子信息」专硕有什么不同?

就今年的24国考来说&#xff0c;计算机技术&#xff08;085404&#xff09;能报的只是比计算机科学与技术少那么一点点&#xff08;因为“计算机类”它都可以报&#xff0c;只有写计算机科学与技术的报不了&#xff09;相对于其他天坑专业来说还是好很多的&#xff01; 本人双…

制造企业研发设计资源用共享云桌面集中管控有哪些优势?

在制造企业上云的过程中&#xff0c;因为它们多用3D设计软件&#xff0c;所以选择一款高效、稳定、安全的云桌面产品显得尤为重要。云飞云共享云桌面作为一种新型的云桌面产品&#xff0c;正逐渐受到越来越多制造企业的青睐。那么&#xff0c;制造企业为什么要选云飞云共享云桌…

PaddleOCR训练自己模型(2)----参数配置及训练

一、介绍 paddleocr分为文字定位(Det)和文字识别(Rec)两个部分 二、定位模型训练 &#xff08;1&#xff09;Det预训练模型下载&#xff1a;https://paddleocr.bj.bcebos.com/PP-OCRv4/chinese/ch_PP-OCRv4_det_train.tar &#xff08;2&#xff09;下载完之后&#xff0c;…

(十一)C++自制植物大战僵尸游戏客户端更新实现

植物大战僵尸游戏开发教程专栏地址http://t.csdnimg.cn/cFP3z 更新检查 游戏启动后会下载服务器中的版本号然后与本地版本号进行对比&#xff0c;如果本地版本号小于服务器版本号就会弹出更新提示。让用户选择是否更新客户端。 在弹出的更新对话框中有显示最新版本更新的内容…

React-hooks:useRef

useRef文档 useRef 是一个ReactHook&#xff0c;它能帮助引用一个不需要渲染的值。 const ref useRef(initialValue)参数 initialValue&#xff1a;ref对象的 current 属性的初始值&#xff0c;可以是任意类型的值&#xff0c;这个参数在首次渲染后被忽略。 返回值 useRe…

Day99:云上攻防-云原生篇K8s安全实战场景攻击Pod污点Taint横向移动容器逃逸

目录 云原生-K8s安全-横向移动-污点Taint 云原生-K8s安全-Kubernetes实战场景 知识点&#xff1a; 1、云原生-K8s安全-横向移动-污点Taint 2、云原生-K8s安全-Kubernetes实战场景 云原生-K8s安全-横向移动-污点Taint 如何判断实战中能否利用污点Taint&#xff1f; 设置污点…

Java中的装箱和拆箱

本文先讲述装箱和拆箱最基本的东西&#xff0c;再来看一下面试笔试中经常遇到的与装箱、拆箱相关的问题。 目录&#xff1a; 装箱和拆箱概念 装箱和拆箱是如何实现的 面试中相关的问题 装箱和拆箱概念 Java为每种基本数据类型都提供了对应的包装器类型&#xff0c;至于为…

Xshell无法输入命令输入命令卡顿

Xshell是一款功能强大的终端模拟软件&#xff0c;可以让用户通过SSH、Telnet、Rlogin、SFTP等协议远程连接到Linux、Unix、Windows等服务器。然而&#xff0c;在使用Xshell的过程中&#xff0c;我们可能会遇到一些问题。比如输入不了命令&#xff0c;或者输入命令很卡。这些问题…

React-Redux(二)

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;React篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来React篇专栏内容:React-Redux&#xff08;二&#xff09; 目录 react-redux 模块化 redux-thunk react-redu…

【pyhon】while语句的题目

1.计算1至100的偶数之和 sum_even 0 # 初始化偶数之和为0 i 1 # 从1开始循环 while i < 100: # 当i小于或等于100时&#xff0c;继续循环 if i % 2 0: # 如果i是偶数 sum_even i # 将i加到偶数之和上 i 1 # i自增1 print(“1至100的偶数之和为:”, sum_even) 给出乘…

SpringBoot源码解析-02

5. 模板引擎 由于 SpringBoot 使用了嵌入式 Servlet 容器 (tomca)。所以 JSP 默认是不能使用的。如果需要服务端页面渲染&#xff0c;优先考虑使用 模板引擎。 模板引擎页面默认放在 src/main/resources/templates SpringBoot 包含以下模板引擎的自动配置 FreeMarkerGroov…

Java NIO,高效操作I/O流的必备技能

Java IO在工作中其实不常用到&#xff0c;更别提NIO了。但NIO却是高效操作I/O流的必备技能&#xff0c;如顶级开源项目Kafka、Netty、RocketMQ等都采用了NIO技术&#xff0c;NIO也是大多数面试官必考的体系知识。虽然骨头有点难啃&#xff0c;但还是要慢慢消耗知识、学以致用哈…

设计模式:观察者模式(Observer)

设计模式&#xff1a;观察者模式&#xff08;Observer&#xff09; 设计模式&#xff1a;观察者模式&#xff08;Observer&#xff09;模式动机模式定义模式结构时序图模式实现观察者模式在单线程环境下的测试观察者模式在多线程环境下的测试多线程下的观察者模式模式分析优缺点…

计算机不联网是否有IP地址

计算机不联网是否会有IP地址&#xff0c;这个问题涉及到计算机网络的基础知识。要深入探讨这个问题&#xff0c;我们需要从IP地址的定义、作用&#xff0c;以及计算机在不联网状态下的网络配置等多个方面进行分析。 首先&#xff0c;IP地址&#xff08;Internet Protocol Addre…

HCIA--综合实验(超详细)

要求&#xff1a; 1. 使用172.16.0.0/16划分网络 2.使用ospf协议合理规划区域保证更新安全 3.加快收敛速度 4. r1为DR没有BDR 5.PC2&#xff0c;3&#xff0c;4&#xff0c;5自动获取IP地址&#xff1b;PC1为外网&#xff0c;PC要求可用互相访问 6.r7为运营商&#xff0c;只能配…