RAM_D1 (0x24000000) 中的帧缓冲区一切正常。
这就是我尝试将帧缓冲区移动到 RAM_D2 (0x30000000) 所做的工作:
- 我已经将 .ld 文件中的“TouchGFX_Framebuffer”设置为 RAM_D2
TouchGFX_Framebuffer :
{
*(TouchGFX_Framebuffer)
*(TouchGFX_Framebuffer*)
. =对齐(4);
} >RAM_D2
- 我在 main() 的开头启用 RAM_D2 时钟
__HAL_RCC_D2SRAM1_CLK_ENABLE();
__HAL_RCC_D2SRAM2_CLK_ENABLE();
__HAL_RCC_D2SRAM3_CLK_ENABLE();
- 配置 MPU,将 RAM_D2 区域设置为与 RAM_D1 区域相同
我错过了什么才能使它起作用?