5.
在(
4
)中修改了
DISPLAY
显示缓冲区的开始地址
,
因此要在“
s2410.h
”中做相应的修改:
…/WINCE420/PLATFORM/SMDK2410/INC/s2410.h
#define DMA_BUFFER_BASE 0xAC000000
#define DMA_PHYSICAL_BASE 0x30000000
//#define FRAMEBUF_BASE (DMA_BUFFER_BASE + 0x00100000)
//#define FRAMEBUF_DMA_BASE (DMA_PHYSICAL_BASE + 0x00100000)
#define FRAMEBUF_BASE (DMA_BUFFER_BASE + 0x00060000)
#define FRAMEBUF_DMA_BASE (DMA_PHYSICAL_BASE + 0x00060000)
6. 在( 4 )中修改了 DISPLAY 显示缓冲区的大小 , 因此要在“ s 3c 2410disp.cpp ”中做相应的修改:
…/WINCE420/PLATFORM/SMDK2410/DRIVERS/DISPLAY/S 3C 2410LCD/s 3c 2410disp.cpp
红色部分为修改后的内容:
void S 3C 2410DISP::InitializeHardware (void)
{
*********
m_VirtualFrameBuffer = (DWORD)VirtualAlloc(0, (0x 1A 0000), MEM_RESERVE, PAGE_NOACCESS);
if (m_VirtualFrameBuffer == NULL)
{
RETAILMSG(0,(TEXT("m_VirtualFrameBuffer is not allocated/n/r")));
return;
}
else if (!VirtualCopy((PVOID)m_VirtualFrameBuffer, (PVOID)gdwLCDVirtualFrameBase, (0x 1A 0000), PAGE_READWRITE | PAGE_NOCACHE))
{
RETAILMSG(0, (TEXT("m_VirtualFrameBuffer is not mapped/n/r")));
VirtualFree((PVOID)m_VirtualFrameBuffer, 0, MEM_RELEASE);
return;
}
*********
}
7.
…/WINCE420/PLATFORM/SMDK2410/INC/s2410.h
#define DMA_BUFFER_BASE 0xAC000000
#define DMA_PHYSICAL_BASE 0x30000000
//#define FRAMEBUF_BASE (DMA_BUFFER_BASE + 0x00100000)
//#define FRAMEBUF_DMA_BASE (DMA_PHYSICAL_BASE + 0x00100000)
#define FRAMEBUF_BASE (DMA_BUFFER_BASE + 0x00060000)
#define FRAMEBUF_DMA_BASE (DMA_PHYSICAL_BASE + 0x00060000)
6. 在( 4 )中修改了 DISPLAY 显示缓冲区的大小 , 因此要在“ s 3c 2410disp.cpp ”中做相应的修改:
…/WINCE420/PLATFORM/SMDK2410/DRIVERS/DISPLAY/S 3C 2410LCD/s 3c 2410disp.cpp
红色部分为修改后的内容:
void S 3C 2410DISP::InitializeHardware (void)
{
*********
m_VirtualFrameBuffer = (DWORD)VirtualAlloc(0, (0x 1A 0000), MEM_RESERVE, PAGE_NOACCESS);
if (m_VirtualFrameBuffer == NULL)
{
RETAILMSG(0,(TEXT("m_VirtualFrameBuffer is not allocated/n/r")));
return;
}
else if (!VirtualCopy((PVOID)m_VirtualFrameBuffer, (PVOID)gdwLCDVirtualFrameBase, (0x 1A 0000), PAGE_READWRITE | PAGE_NOCACHE))
{
RETAILMSG(0, (TEXT("m_VirtualFrameBuffer is not mapped/n/r")));
VirtualFree((PVOID)m_VirtualFrameBuffer, 0, MEM_RELEASE);
return;
}
*********
}
在(
4
)中修改了
DISPLAY
显示缓冲区的开始地址
,
还要对注册表文件“
platform.reg
”做相应的修改:
…/ WINCE420/PLATFORM/SMDK2410/FILES/platform.reg
[HKEY_LOCAL_MACHINE/Drivers/Display/S 3C 2410/CONFIG]
"DisplayDll"="s 3c 2410disp.dll"
;"LCDVirtualFrameBase"=dword:ac100000
;"LCDPhysicalFrameBase"=dword:30100000
"LCDVirtualFrameBase"=dword:ac060000
"LCDPhysicalFrameBase"=dword:30060000
…/ WINCE420/PLATFORM/SMDK2410/FILES/platform.reg
[HKEY_LOCAL_MACHINE/Drivers/Display/S 3C 2410/CONFIG]
"DisplayDll"="s 3c 2410disp.dll"
;"LCDVirtualFrameBase"=dword:ac100000
;"LCDPhysicalFrameBase"=dword:30100000
"LCDVirtualFrameBase"=dword:ac060000
"LCDPhysicalFrameBase"=dword:30060000
7.