OEMEnumExtensionDRAM函数什么时候调用

ctstart 2011-11-04 10:43:09
我在winCE下用OEMEnumExtensionDRAM函数扩展内存,在OEMInit中对pNKEnumExtensionDRAM指针进行初始化

在OEMEnumExtensionDRAM函数中我打印了一些提示信息,但是OS烧到板上后发现串口并没有打印出这些信息

不知OEMEnumExtensionDRAM这个函数是否在OEM初始化时调用,望高手指点,感激不尽~~~
...全文
159 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ctstart 2011-11-04
  • 打赏
  • 举报
回复
哦!!谢谢啦!!!
九个太阳2023 2011-11-04
  • 打赏
  • 举报
回复
我的BSP里是这样赋值的:
g_pOemGlobal->pfnEnumExtensionDRAM = OEMEnumExtensionDRAM;
然后在BSP里有这两个函数:

static DWORD OEMEnumExtensionDRAM(
PMEMORY_SECTION pMemSections,
DWORD cMemSections)
{
DWORD cSections = 0;

//OALMSG(OAL_INFO, (L"[OAL]++OEMEnumExtensionDRAM\r\n"));
OALMSG(OAL_INFO, (L"[OAL]++OEMEnumExtensionDRAM\r\n"));
OALMSG(OAL_INFO, (L" cMemSections = %d \r\n",cMemSections));


if (cSections < cMemSections)
{
// DRAM0 Area
pMemSections[cSections].dwFlags = 0;
pMemSections[cSections].dwStart = DRAM0_BASE_CA_START; //0x88000000

pMemSections[cSections].dwLen = ONEDRAM_EXTSIZE_FOR_AP;
OALMSG(OAL_INFO, (L" DRAM0_BASE_CA_START = 0x%x \r\n",DRAM0_BASE_CA_START));
OALMSG(OAL_INFO, (L" pMemSections[cSections].dwStart = 0x%x \r\n",pMemSections[cSections].dwStart));
OALMSG(OAL_INFO, (L" Extension Size = 0x%x \r\n",pMemSections[cSections].dwLen));
cSections++;


// Extra DRAM1 Area 0x48000000, 106MB
pMemSections[cSections].dwFlags = 0;
pMemSections[cSections].dwStart = DRAM_EXTRA_BASE_CA_START; //0x99600000
pMemSections[cSections].dwLen = DRAM_EXTRA_SIZE;
OALMSG(OAL_INFO, (L" DRAM1_EXTRA_BASE_CA_START = 0x%x \r\n",DRAM_EXTRA_BASE_CA_START));
OALMSG(OAL_INFO, (L" pMemSections[cSections].dwStart = 0x%x \r\n",pMemSections[cSections].dwStart));
OALMSG(OAL_INFO, (L" Extension Size = 0x%x \r\n",pMemSections[cSections].dwLen));
cSections++;
}

OALMSG(OAL_INFO, (L"[OAL] --OEMEnumExtensionDRAM\r\n"));
return cSections;
}

BOOL
OEMGetExtensionDRAM( LPDWORD lpMemStart, LPDWORD lpMemLen )
{
OALMSG(OAL_INFO, (L"[OAL]++OEMGetExtensionDRAM\r\n"));

*lpMemStart = 0x88000000;
*lpMemLen = 0x08000000;

OALMSG(OAL_INFO, (L"[OAL]--OEMEnumExtensionDRAM\r\n"));
return TRUE;
}
ctstart 2011-11-04
  • 打赏
  • 举报
回复
我的pNKEnumExtensionDRAM指针确定初始化了,但就是调不到OEMEnumExtensionDRAM这个函数。另有个问题就是我在编译的时候会提示pNKEnumExtensionDRAM没有定义,所以我在BSP将pNKEnumExtensionDRAM指针的定义又给写了进去,这样会不会有问题啊!pNKEnumExtensionDRAM指针不是全局的吗,为啥我编译bsp的时候会说没有定义啊~

求教!!谢谢!!
九个太阳2023 2011-11-04
  • 打赏
  • 举报
回复
是的!
ctstart 2011-11-04
  • 打赏
  • 举报
回复
那是在OEM初始化的时候调用的吗?
九个太阳2023 2011-11-04
  • 打赏
  • 举报
回复
如果指针赋值了,应该会调用的!
不然就是调用OEMGetExtensionDRAM这个函数,你看看吧

19,503

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧