你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

怎么用32L4R9IDISCOVERY开发板上的PSRAM做显存?

[复制链接]
aaaaaabcai 提问时间:2019-12-25 09:32 /
我手上有一块 32L4R9IDISCOVERY
然后,我在DEMO程序STM32Cube_FW_L4_V1.14.0\Projects\32L4R9IDISCOVERY\Examples\DSI\DSI_CmdMode_SingleBuffer基础上,添加了PSRAM初始化。PSRAM工作正常,并可以作为堆使用。
但当我把显存设置到PSRAM上的时候。
发现系统会进入到LTDC Error中断
LTDC_ER_IRQHandler


请问大大有测试过类似的问题吗?
谢谢


附:代码
显存配置
//__attribute__((section(".FrameBufferSection")))
__attribute__((section(".XRAMSection")))
__align(16) uint32_t PhysFrameBuffer[91260]; // 5 char buffer, 5*16 = 80 pixer

PSRAM初始化
/* PSRAM device configuration */
  /* Timing configuration derived from system clock (up to 120Mhz)
  for 60Mhz as PSRAM clock frequency */
  Timing.AddressSetupTime   = 4;
  Timing.AddressHoldTime    = 2;
  Timing.DataSetupTime     = 6;
  Timing.BusTurnAroundDuration = 1;
  Timing.CLKDivision      = 2;
  Timing.DataLatency      = 2;
  Timing.AccessMode    = FMC_ACCESS_MODE_A; //FMC_ACCESS_MODE_A;
  psramHandle.Init.NSBank       = FMC_NORSRAM_BANK1;
  psramHandle.Init.DataAddressMux   = FMC_DATA_ADDRESS_MUX_DISABLE;
  psramHandle.Init.MemoryType     = FMC_MEMORY_TYPE_PSRAM;
  psramHandle.Init.MemoryDataWidth  = FMC_NORSRAM_MEM_BUS_WIDTH_16;
  psramHandle.Init.BurstAccessMode  = FMC_BURST_ACCESS_MODE_DISABLE;
  psramHandle.Init.WaitSignalPolarity = FMC_WAIT_SIGNAL_POLARITY_HIGH;
  psramHandle.Init.WaitSignalActive  = FMC_WAIT_TIMING_BEFORE_WS;
  psramHandle.Init.WriteOperation   = FMC_WRITE_OPERATION_ENABLE;
  psramHandle.Init.WaitSignal     = FMC_WAIT_SIGNAL_DISABLE;
  psramHandle.Init.ExtendedMode    = FMC_EXTENDED_MODE_DISABLE;
  psramHandle.Init.AsynchronousWait  = FMC_ASYNCHRONOUS_WAIT_DISABLE;
  psramHandle.Init.WriteBurst     = FMC_WRITE_BURST_DISABLE;
  psramHandle.Init.ContinuousClock  = FMC_CONTINUOUS_CLOCK_SYNC_ASYNC;
  psramHandle.Init.WriteFifo     = FMC_WRITE_FIFO_DISABLE;
  psramHandle.Init.NBLSetupTime    = 0;
  psramHandle.Init.PageSize      = FMC_PAGE_SIZE_NONE;
  psramHandle.Instance = FMC_NORSRAM_DEVICE;
  psramHandle.Extended = FMC_NORSRAM_EXTENDED_DEVICE;

收藏 评论4 发布时间:2019-12-25 09:32

举报

4个回答
butterflyspring 回答时间:2020-1-6 16:16:06
刚好有个朋友玩过。因为STM32L4R9-DISCO板上的PSRAM,DEMO中初始化为异步模式,读写速率较慢,直接用作framebuffer会出现带宽不匹配的问题,需要优化PSRAM参数配置,比如配置为burst mode,或同步模式,访问速率会大提高,同时也要结合LTDC配置,使PSRAM带宽与LTDC带宽需求相匹配。希望能帮到你
l271918434 回答时间:2020-9-22 18:38:39
butterflyspring 发表于 2020-1-6 16:16
刚好有个朋友玩过。因为STM32L4R9-DISCO板上的PSRAM,DEMO中初始化为异步模式,读写速率较慢,直接用作fr ...

版主  能不能把PSRAM当显存的配置放出来造福一下坛友啊,我用L4R9搞DSI都要吐血了  感谢感谢
butterflyspring 回答时间:2020-9-25 15:29:37
巧了,刚好又碰到他,所以问了一下。不过有个不好的消息,他说这个板子上的PSRAM 不支持同步模式,只能在极低速下运行,不超过4M下还能跑。所以想用PSRAM当FRAMEBUFFER的话需要用到支持同步模式的PSRAM才行
Simon.Tao 回答时间:2024-6-12 09:44:17
内存不够需要外扩 LY的SPI PSRAM,联系陶13764140309
内存不够需要外扩 LY的SPI PSRAM,联系陶13764140309

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版