zyzs50

    1. SDRAM运行速率问题? 6/5299 NXP MCU 2016-07-29
      本帖最后由 zyzs50 于 2016-7-29 16:12 编辑 各位不好意思,问题描述的是有点模糊,现纠正一下。 问题: 硬件平台,处理器为lpc1788,片内有512KB的flash,外接有32MB的SDRAM。软件使用的emwin图像库设计的一个用户界面。生成的可执行文件如果下载到片内flash运行,界面显示和切换比较流畅,一切正常。问题是,我要把可执行文件直接加载到片外SDRAM运行,就出现了界面切换有延时出现,界面有明显的从上到下刷新的痕迹。 主要是因为我的可执行程序超过了512KB,片内flash放不下了,所以才想到加载到外部SDRAM运行,但是发现放到片外的运行效率比片内要低。所以想请教有什么办法可以优化。 我的理解是,在片内flash运行时,使用的是内核时钟,取指令,译码都是访问的片内flash,取数据访问的是片外SDRAM. 如果可执行程序全部加载到SDRAM,这时候,取指令,取数据,都是在SDRAM里面。外部SDRAM的时钟频率和性能应该没有片内flash高效,所以在取指,译码,执行方面,SDRAM效率会低一点。
    2. 本帖最后由 zyzs50 于 2016-7-22 11:53 编辑
      zhaojun_xf 发表于 2016-7-22 10:10 很少用分散加载文件,可以找一下,周工的例程看看,有说到分散加载文件。
      我是用的lpc1788,片内FALSH只有512KB,我的可执行文件已经超过了512KB,片内放不下,所以想放到片外SDRAM运行。因此在编写sct文件时出了问题,如果直接把运行地址改为0xA0000000.跳转的时候没有运行。所以感觉SCT文件写的有问题 我的sct文件这样写: LR_IROM1 0xA0000000 0x00080000  {    ; load region size_region   ER_IROM1 0xA0000000 0x00080000  {  ; load address = execution address    *.o (RESET, +First)    *(InRoot$$Sections)    .ANY (+RO)   }   RW_IRAM1 0x10000000 0x00010000  {  ; RW data    .ANY (+RW +ZI)   }   RW_RAM1 0xA0080000 UNINIT 0x02000000  {  ; RW data    * (VRAM, GUI_RAM, GUIDEMO_STACK, FS_RAM, IP_RAM, USB_RAM)   } }

最近访客

< 1/1 >

统计信息

已有12人来访过

  • 芯积分:--
  • 好友:--
  • 主题:3
  • 回复:2

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言