
我手上有一块 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; |
版主 能不能把PSRAM当显存的配置放出来造福一下坛友啊,我用L4R9搞DSI都要吐血了 感谢感谢