查看: 4708|回复: 3

[已解决] LPC54608 外部SDRAM如何分配frame buffer

[复制链接]

该用户从未签到

61

主题

233

帖子

7

高级会员

Rank: 4

积分
750
最后登录
2021-1-25
发表于 2017-11-2 09:57:59 | 显示全部楼层 |阅读模式
大家好,最新做一个显示更大颜色深度比如24bpp图片的工程。基于SDK_2.2_LPC54608J512\boards\lpcxpresso54608\driver_examples\lcdc\lcdc_tft。例子里面是直接写到framebuffer的。这个与我要求颜色深度更大就不符合,内部RAM也大小不够。我想在外部SDRAM分配一个更大的frame buffer 。这个应该怎么分配,有例子参考吗?



最佳答案

首先,在分配之前必须初始化函数,且需要linker file做出对应的调整,而且不同的IDE,定义存储在RAM的方式不同,你最好搜索一下各个IDE的用户手册,里面都是有介绍的 ...
回复

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24871
最后登录
2025-7-18
发表于 2017-11-2 11:18:05 | 显示全部楼层
首先,在分配之前必须初始化函数,且需要linker file做出对应的调整,而且不同的IDE,定义存储在RAM的方式不同,你最好搜索一下各个IDE的用户手册,里面都是有介绍的
回复 支持 反对

使用道具 举报

该用户从未签到

61

主题

233

帖子

7

高级会员

Rank: 4

积分
750
最后登录
2021-1-25
 楼主| 发表于 2017-11-2 16:08:56 | 显示全部楼层
小恩GG 发表于 2017-11-2 11:18
首先,在分配之前必须初始化函数,且需要linker file做出对应的调整,而且不同的IDE,定义存储在RAM的方式 ...

你好,这样定义可以吗?
1.在scf文件里如下定义
#define m_data_sdram_start                 0xa0000000
#define m_data_sdram_size                  0x07FFFFFF



  RW_m_data m_data_start m_data_size-Stack_Size-Heap_Size { ; RW data
    .ANY (+RW +ZI)
  }
  
  //×Ô¶¨ÒåSDRAM
RW_m_data2 m_data_sdram_start m_data_sdram_size { ; RW data
     .ANY (IN_SDRAM)
  }

  
  ARM_LIB_HEAP +0 EMPTY Heap_Size {    ; Heap region growing up
  }
  ARM_LIB_STACK m_data_start+m_data_size EMPTY -Stack_Size { ; Stack region growing down
  }
}
.....


主函数中如下定义buffer:
__attribute__((section("IN_SDRAM"))) static uint8_t s_frameBuf[LCD_HEIGHT][LCD_HEIGHT];



回复 支持 反对

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24871
最后登录
2025-7-18
发表于 2017-11-2 17:45:34 | 显示全部楼层
可以的,你还可以参考这个帖子看看
http://www.stmcu.org/module/forum/thread-589933-1-1.html
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-19 23:26 , Processed in 0.090218 second(s), 25 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表