기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

안녕하세요! 주말은 비오고, 어제는 날씨가 무지 좋더니 (헉~ 28도까지...) 오늘은 또 비님이 오시네요~! ㅎㅎ
요즘은 자주 질문을 올리게 되는군요! ㅠ;
 
WinCE에서 compile 하고 booting을 하면 아래와 같이 serial debug message에 checksum fail 이 나옴니다.
 
-----------------------------------------------------
[0]: Base Address=0x80114000  Length=0x1ea95ac
-----------------------------------------------------
RAM image
ERROR: Checksum failure (expected=0x109FC7C  computed=0xEA3DB7)
****** Checksum failure on record 208, ABORT!!! ******
 
이전에는 이런 message가 나오지 않고 잘 부팅이 되었는데, 아무 관계없는 code를 수정해도 이와 같이 나옵니다.
기존에 compile을 주로 "Build Current BSP and Subprojects" 를 많이 사용하였는데,
 
수정하지 않은 버전도  "솔루션 다시 빌드"를 해 보면 다시 위와 같은 현상이 발생합니다.
 
bootloader에서 뿌리는 message인것 같긴한데... 먼가 원천적인 문제가 있는것 같은데...
도무지 감이 잡히지 않네요! ㅠㅠ;;
고수님들의 high 조언을 부탁 드립니다.
 
감사합니다. 꾸뻑~!!
 
ps) S3C6410 보드를 사용하고 있습니다. 당연히 WinCE 6.0 이고요!!

goofhy

2012.04.27 19:39:32
*.120.87.141

제가 기억하기로는 타이밍 문제로 아래와 같이 debug를 출력하여 약간의 delay를 주어 해결하였습니다.

정확한 원인은 알 수 없구요.        


//blcommon.c


KITLOutputDebugString("+");

        if (dwRecLen == sizeof(ROMHDR) && (*(LPDWORD) OEMMapMemAddr(pCurDownloadFile->dwRegionStart, pCurDownloadFile->dwRegionStart + ROM_SIGNATURE_OFFSET) == ROM_SIGNATURE))

        {

            DWORD dwTempOffset = (dwRecAddr - *(LPDWORD)OEMMapMemAddr(pCurDownloadFile->dwRegionStart, pCurDownloadFile->dwRegionStart + ROM_SIGNATURE_OFFSET + sizeof(ULONG)));

            ROMHDR *pROMHdr = (ROMHDR *)lpDest;


            // Check to make sure this record really contains the ROMHDR.

            //

            if ((pROMHdr->physfirst == (pCurDownloadFile->dwRegionStart - dwTempOffset)) &&

                (pROMHdr->physlast  == (pCurDownloadFile->dwRegionStart - dwTempOffset + pCurDownloadFile->dwRegionLength)) &&

                (DWORD)(HIWORD(pROMHdr->dllfirst << 16) <= pROMHdr->dlllast) &&

                (DWORD)(LOWORD(pROMHdr->dllfirst << 16) <= pROMHdr->dlllast))

            {

                g_dwROMOffset = dwTempOffset;

                KITLOutputDebugString("rom_offset=0x%x.\r\n", g_dwROMOffset); 

            }

        }

KITLOutputDebugString("-");

List of Articles
번호 제목 글쓴이 날짜 조회 수

사용자 로그인