怎么用32L4R9IDISCOVERY开发板上的PSRAM做显存?
我手上有一块 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; // 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;
刚好有个朋友玩过:P。因为STM32L4R9-DISCO板上的PSRAM,DEMO中初始化为异步模式,读写速率较慢,直接用作framebuffer会出现带宽不匹配的问题,需要优化PSRAM参数配置,比如配置为burst mode,或同步模式,访问速率会大提高,同时也要结合LTDC配置,使PSRAM带宽与LTDC带宽需求相匹配。希望能帮到你:) butterflyspring 发表于 2020-1-6 16:16
刚好有个朋友玩过。因为STM32L4R9-DISCO板上的PSRAM,DEMO中初始化为异步模式,读写速率较慢,直接用作fr ...
版主能不能把PSRAM当显存的配置放出来造福一下坛友啊,我用L4R9搞DSI都要吐血了感谢感谢:P 巧了,刚好又碰到他,所以问了一下。不过有个不好的消息,他说这个板子上的PSRAM 不支持同步模式,只能在极低速下运行,不超过4M下还能跑。所以想用PSRAM当FRAMEBUFFER的话需要用到支持同步模式的PSRAM才行:(
页:
[1]