当前位置:首页 > 单片机 > 单片机
[导读]1 WINCE600\\PLATFORM\\COMMON\\SRC\\SOC\\ATMEL\\COMMON\\BOOTLOADERGernericEBOOT\\utils.c文件报error C2220: warning treated as error - no 'object' file generated错误解决办法:将该文件另存为unicode编译格

1 WINCE600PLATFORMCOMMONSRCSOCATMELCOMMONBOOTLOADER

GernericEBOOTutils.c文件报error C2220: warning treated as error - no 'object' file generated错误

解决办法:将该文件另存为unicode编译格式

2 WINCE600PLATFORMAT91SAM9261EKSRCBOOTLOADERFirstBootdbgu.h文件里的#define TIME_OUT_CHAR '?报error C2001: newline in constant错误

解决办法:将#define TIME_OUT_CHAR '?改为#define TIME_OUT_CHAR '?'



3 开机花屏

原因:在LCD驱动中只申请了地址空间,没有对显存进行初始化,代码在E:WINCE600PLATFORMAT91SAM9261EKsrcDRIVERSAT91SAM9261DisplayGraphic.cpp

GPE* GetGPE()函数的以下代码中

if ( RegQryValEx(hKey, L"VRAMAddress", 0, &dwType, (LPBYTE)&dwVideoMemStartAddress, &dwBLen) != ERROR_S?SS )

{

// Allocate a bfer in common SDRAM

dwVideoMemSize = dwVideoMemWidth * dwVideoMemHeight * dwBpp/8;

VA_VideoMem = HalAllocateCommonBfer(&myDmaAdapter, dwVideoMemSize, &PA_VideoMem, false);

dwVideoMemStartAddress = PA_VideoMem.LowPart;

DEBUGMSG(GPE_ZONE_HW, (TEXT("Video memory %d kB in SDRAM"), dwVideoMemSize /1024));

}


解决办法:

1)将if条件注掉,在大括号内初始化系统分配的显存


{

// Allocate a bfer in common SDRAM

dwVideoMemSize = dwVideoMemWidth * dwVideoMemHeight * dwBpp/8;

VA_VideoMem = HalAllocateCommonBfer(&myDmaAdapter, dwVideoMemSize, &PA_VideoMem, false);

dwVideoMemStartAddress = PA_VideoMem.LowPart;

DEBUGMSG(GPE_ZONE_HW, (TEXT("Video memory %d kB in SDRAM"), dwVideoMemSize /1024));

unsigned int cnt;

for(cnt=0;cnt

{

*(unsigned char*)((unsigned int)VA_VideoMem+cnt) = 0;

}

}

2)将注册表中的物理地址映射成虚拟地址,再初始化


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭