Newbie build question/error?

Nov 17, 2009 at 2:28 AM

I've followed the build steps [to the letter I hope] and encounter an error during the blddemo clean -q process.

The build stops with the error (from build.err)

BUILD: [Thrd:Sequence:Type  ] Message
BUILD: [01:0000000072:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\DRIVERS\PM\DLL\.\pmdisplay.cpp(28) : error C2143: syntax error : missing ',' before '*'

 

I went back to the building dependencies section of the documentation, and modified builddeps.bat to:

 

pushd .
cd %_PLATFORMROOT%\%_TGTPLAT%\SRC\DRIVERS\BLOCK\NAND\BOOT
build -c
cd %_PLATFORMROOT%\%_TGTPLAT%\SRC\DRIVERS\BLOCK\ONENAND\BOOT
build -c
cd %_PLATFORMROOT%\%_TGTPLAT%\SRC\DRIVERS\LCD\VGA\BOOT
build -c
cd %_PLATFORMROOT%\%_TGTPLAT%\SRC\DRIVERS\PM\DLL
build -c
popd

..and ran it.

Sure enough the last line fails.

 

pmdisplay.cpp begins with:

#include <pmimpl.h>
#include <wingdi.h>

// disable PREFAST warning for use of EXCEPTION_EXECUTE_HANDLER
#pragma warning (disable: 6320)

typedef HDC (WINAPI *PFN_CreateDCW)(LPCWSTR, LPCWSTR , LPCWSTR , CONST DEVMODEW *);  <<<---- Line 28

 

To me it looks like the problem is with #include <wingdi.h>

 

Is there some very basic flag that I have not set?  (this was all attempted using the tiny kernel DEBUG script provided).

 

 

 

 

 

Nov 18, 2009 at 5:31 AM

Using the updated file sets, everything progresses fine:

 

Booatloader Steps (using RETAIL)

1. cleanbsp

2. blddemo clean -q

3. builddeps

4. blddemo -qbsp

5. cd %_PLATFORMROOT%\%_TGTPLAT%\SRC\BOOT\XLDR\SDMEMORY
6. build -c
7. romimage xldrsd.bib

MLO and EBOOTSD.nb0 created successfully.

 

Build NK.bin (using DEBUG)

1.  blddemo clean -q

produces a single error:

BUILD: [Thrd:Sequence:Type  ] Message
BUILD: [01:0000002195:ERRORE] NMAKE :  U1073: don't know how to make 'C:\WINCE600\platform\TI_EVM_3530\lib\ARMV4I\debug\lcd_vga_boot.lib'
BUILD: [01:0000002197:ERRORE] NMAKE.EXE TargetExeFiles  -i -c BUILDMSG=Stop.  BUILDROOT=C:\WINCE600\PLATFORM\TI_EVM_3530 CLEANBUILD=1 LINKONLY=1 NOPASS0=1 failed - rc = 2

2. builddeps

fails with the error

BUILD: [00:0000000013:PROGC ] Building COMPILE Pass in C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\ directory.
BUILD: [00:0000000014:PROG  ] 'NMAKE.EXE TargetCompilePass  -i -c BUILDMSG=Stop.  BUILDROOT=C:\WINCE600\PLATFORM\TI_EVM_3530 CLEANBUILD=1 NOLINK=1 NOPASS0=1'
BUILD: [01:0000000015:INFO  ] makefile.def: Including C:\WINCE600\public\common\oak\misc\Sources.default
BUILD: [01:0000000016:INFO  ] makefile.def: BUILDROOT is C:\WINCE600\PLATFORM\TI_EVM_3530
BUILD: [01:0000000017:INFO  ] makefile.def: Including C:\WINCE600\PLATFORM\TI_EVM_3530\sources.cmn
BUILD: [01:0000000018:INFO  ] makefile.def: Including C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\sources
BUILD: [01:0000000019:INFO  ] makefile.def: Including C:\WINCE600\public\common\oak\misc\Sources.CE
BUILD: [01:0000000020:INFO  ] Directory: C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL
BUILD: [01:0000000021:INFO  ] TARGETNAME: omap_shell
BUILD: [01:0000000022:INFO  ] makefile.def: Including C:\WINCE600\public\common\oak\misc\sources.ReleaseType_PLATFORM
BUILD: [01:0000000023:PROGC ] Compiling .\shell.cxx
BUILD: [01:0000000024:INFO  ] cl -nologo    -Foobj\ARMV4I\debug\shell.obj -c -IARM\ -I. -IC:\WINCE600\platform\TI_EVM_3530\src\inc -IC:\WINCE600\platform\COMMON\src\SOC\omap35xx_tps659xx_ti_v1\inc -IC:\WINCE600\platform\COMMON\src\SOC\omap35xx_tps659xx_ti_v1\omap\inc -IC:\WINCE600\platform\COMMON\src\SOC\omap35xx_tps659xx_ti_v1\omap35xx\inc -IC:\WINCE600\platform\COMMON\src\SOC\omap35xx_tps659xx_ti_v1\omap35xx\oal\inc -IC:\WINCE600\platform\common\src\inc -IC:\WINCE600\platform\TI_EVM_3530\src\test\common -IC:\WINCE600\public\CEBASE\cesysgen\sdk\inc -IC:\WINCE600\public\CEBASE\cesysgen\oak\inc -IC:\WINCE600\public\CEBASE\cesysgen\ddk\inc -IC:\WINCE600\sdk\CE\inc -I.\Resource\0409 -Od -GF -Zi -FdC:\WINCE600\platform\TI_EVM_3530\target\ARMV4I\debug\omap_shell.pdb -D_CRT_SECURE_NO_DEPRECATE -D_USE_32BIT_TIME_T -DUNICODE -D_UNICODE -DUNDER_CE=600 -D_WIN32_WCE=0x600 -DWINCEOEM -DWINCEINTERNAL -DWIN32 -DSTRICT -DARM -DARMV4I -D_ARM_ -DDEBUG=1  -DCEDDK_USEDDKMACRO -Dproject_CEBASE -D_WINCEOSVER=600 -DBSP_OPP_SELECT=5 -DBSP_DVI_640W_480H=1 -DBSP_DVI_ENABLE=1 -DBSP_DVI_NO_SWITCHING=1 -DCEDDK_USEDDKMACRO -DUSE_PMX_WRAPPER -DINTERNATIONAL -DINTLMSG_CODEPAGE=1252 -FAsc -Faobj\ARMV4I\debug\shell.cod -QRimplicit-import- -Zi  -Zc:wchar_t- -Zc:forScope- -wd4867 -wd4430 -MT -U_MT -W3    /GR- -QRarch4T -DTHUMBSUPPORT -QRinterwork-return  /GS C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx
BUILD: [01:0000000025:INFO  ] shell.cxx

BUILD: [Thrd:Sequence:Type  ] Message
BUILD: [01:0000000026:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1322) : error C2065: 'DEVMODE' : undeclared identifier
BUILD: [01:0000000027:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1322) : error C2146: syntax error : missing ';' before identifier 'devMode'
BUILD: [01:0000000028:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1322) : error C2065: 'devMode' : undeclared identifier
BUILD: [01:0000000029:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1326) : error C2228: left of '.dmSize' must have class/struct/union
BUILD: [01:0000000031:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1326) : error C2070: ''unknown-type'': illegal sizeof operand
BUILD: [01:0000000032:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1327) : error C2228: left of '.dmFields' must have class/struct/union
BUILD: [01:0000000034:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1327) : error C2065: 'DM_DISPLAYORIENTATION' : undeclared identifier
BUILD: [01:0000000035:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1328) : error C2228: left of '.dmDisplayOrientation' must have class/struct/union
BUILD: [01:0000000037:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1328) : error C2065: 'DMDO_0' : undeclared identifier
BUILD: [01:0000000038:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1329) : error C2065: 'CDS_TEST' : undeclared identifier
BUILD: [01:0000000039:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1329) : error C3861: 'ChangeDisplaySettingsEx': identifier not found
BUILD: [01:0000000040:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1339) : error C2228: left of '.dmDisplayOrientation' must have class/struct/union
BUILD: [01:0000000042:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1343) : error C2228: left of '.dmDisplayOrientation' must have class/struct/union
BUILD: [01:0000000044:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1343) : error C2065: 'DMDO_90' : undeclared identifier
BUILD: [01:0000000045:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1347) : error C2228: left of '.dmDisplayOrientation' must have class/struct/union
BUILD: [01:0000000047:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1347) : error C2065: 'DMDO_180' : undeclared identifier
BUILD: [01:0000000048:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1351) : error C2228: left of '.dmDisplayOrientation' must have class/struct/union
BUILD: [01:0000000050:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1351) : error C2065: 'DMDO_270' : undeclared identifier
BUILD: [01:0000000051:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1358) : error C2228: left of '.dmDisplayOrientation' must have class/struct/union
BUILD: [01:0000000053:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1360) : error C2051: case expression not constant
BUILD: [01:0000000054:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1361) : error C2228: left of '.dmDisplayOrientation' must have class/struct/union
BUILD: [01:0000000056:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1364) : error C2051: case expression not constant
BUILD: [01:0000000057:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1365) : error C2228: left of '.dmDisplayOrientation' must have class/struct/union
BUILD: [01:0000000059:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1368) : error C2051: case expression not constant
BUILD: [01:0000000060:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1369) : error C2228: left of '.dmDisplayOrientation' must have class/struct/union
BUILD: [01:0000000062:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1372) : error C2051: case expression not constant
BUILD: [01:0000000063:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1373) : error C2228: left of '.dmDisplayOrientation' must have class/struct/union
BUILD: [01:0000000066:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1379) : error C2228: left of '.dmSize' must have class/struct/union
BUILD: [01:0000000068:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1379) : error C2070: ''unknown-type'': illegal sizeof operand
BUILD: [01:0000000069:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1380) : error C2228: left of '.dmFields' must have class/struct/union
BUILD: [01:0000000071:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1381) : error C2065: 'CDS_RESET' : undeclared identifier
BUILD: [01:0000000072:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(1381) : error C3861: 'ChangeDisplaySettingsEx': identifier not found
BUILD: [01:0000000073:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(2833) : error C3861: 'ExtEscape': identifier not found
BUILD: [01:0000000074:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(2833) : error C3861: 'GetDC': identifier not found
BUILD: [01:0000000075:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(2886) : error C3861: 'GetDC': identifier not found
BUILD: [01:0000000076:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(2901) : error C3861: 'ExtEscape': identifier not found
BUILD: [01:0000000077:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(2909) : error C3861: 'ExtEscape': identifier not found
BUILD: [01:0000000078:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(2923) : error C3861: 'ReleaseDC': identifier not found
BUILD: [01:0000000079:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(2946) : error C3861: 'GetDC': identifier not found
BUILD: [01:0000000080:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(2955) : error C3861: 'ExtEscape': identifier not found
BUILD: [01:0000000081:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(2963) : error C3861: 'ExtEscape': identifier not found
BUILD: [01:0000000082:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(2969) : error C3861: 'ExtEscape': identifier not found
BUILD: [01:0000000083:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(3021) : error C3861: 'ExtEscape': identifier not found
BUILD: [01:0000000084:ERRORE] C:\WINCE600\PLATFORM\TI_EVM_3530\SRC\TEST\SHELL\.\shell.cxx(3033) : error C3861: 'ReleaseDC': identifier not found

 

It appears it doesn't like the SHELL directive in debug?

I have made no modifications to the scripts you provided.

 

 

 

 

Nov 22, 2009 at 9:28 PM

I just diffed shell.cxx to the orignal.  I commented out all the following GDI/Display dependent code:

1.   In the implementation of TouchScreenCalibrate() comment out call to TouchCalibrate().

2.   #IF 0/.../#ENDIF the implementation of ScreenRotate() - return TRUE.

3.   #IF 0/.../#ENDIF the implementation of SetContrast() - return TRUE.

4.   #IF 0/.../#ENDIF the implementation of Display() - return TRUE.

5.   #IF 0/.../#ENDIF the implementation of TvOut() - return TRUE.

Nov 22, 2009 at 9:49 PM

Bingo.  It is all the wingdi related stuff.