硬汉嵌入式论坛

 找回密码
 立即注册
查看: 5996|回复: 2
收起左侧

[有问必答] 请教下,enwin 设置外部的sdram ??

[复制链接]

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
发表于 2015-9-13 19:44:19 | 显示全部楼层 |阅读模式
/* Define the available number of bytes available for the GUI */
//#define GUI_NUMBYTES  (1024*70)
#define GUI_NUMBYTES  (1024*1024*2)
/* Define the average block size */
#define GUI_BLOCKSIZE 0x80



/*********************************************************************
*
*       GUI_X_Config
*
* Purpose:
*   Called during the initialization process in order to set up the
*   available memory for the GUI.
**********************************************************************
*/
void GUI_X_Config(void)
{
#if 0
    /* 32 bit aligned memory area */
    static U32 aMemory[GUI_NUMBYTES / 4];
   
    /*  Assign memory to emWin */
    GUI_ALLOC_AssignMemory(aMemory, GUI_NUMBYTES);
    GUI_ALLOC_SetAvBlockSize(GUI_BLOCKSIZE);
#else   
    static U32 *aMemory;
    aMemory = (U32 *)EXT_SRAM_ADDR;
    /*  Assign memory to emWin */
    GUI_ALLOC_AssignMemory(aMemory, GUI_NUMBYTES);
    GUI_ALLOC_SetAvBlockSize(GUI_BLOCKSIZE);
#endif
}   

我按照上面的方法更改后,运行enwin  时没有效果,请教还有哪里需要更改啊 ??
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107128
QQ
发表于 2015-9-14 08:55:14 | 显示全部楼层
emWin能够正常运行吗
回复

使用道具 举报

610

主题

3063

回帖

4913

积分

至尊会员

积分
4913
 楼主| 发表于 2015-9-15 10:09:35 | 显示全部楼层

回 eric2013 的帖子

eric2013:emWin能够正常运行吗 (2015-09-14 08:55)
你好,
void GUI_X_Config(void)
{
#if 0       // 吧此处改成1 是可以正常运行的
    /* 32 bit aligned memory area */
    static U32 aMemory[GUI_NUMBYTES / 4];
   
    /*  Assign memory to emWin */
    GUI_ALLOC_AssignMemory(aMemory, GUI_NUMBYTES);
    GUI_ALLOC_SetAvBlockSize(GUI_BLOCKSIZE);

#else   

    static U32 *aMemory;
    aMemory = (U32 *)EXT_SRAM_ADDR;
    /*  Assign memory to emWin */
    GUI_ALLOC_AssignMemory(aMemory, GUI_NUMBYTES);     // 这个地方貌似要 /4 才可以,是什么情况啊 ???
    GUI_ALLOC_SetAvBlockSize(GUI_BLOCKSIZE);
#endif
}




还有就是我想把外部2MByte 的最后100KByte 的存储空间分配 给emWin 使用,更改如下:


            static U32 *aMemory = (U32 *)(EXT_SRAM_ADDR + (((2*1024*1024) - (100*1024) ) / 4)  ) ;        // 把外部2MByte的最后100KByte 字节分配给 STemWin 使用
                                                                                             
            GUI_ALLOC_AssignMemory((U32 *)aMemory, (100*1024)/4);   
   
            GUI_ALLOC_SetAvBlockSize(GUI_BLOCKSIZE);
这样更改后是可以,但是我不明白的是 怎么要除以 4啊,还有 除以4后,那地址就变少了啊,



























回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-19 21:49 , Processed in 0.243766 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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