当前位置:首页 > 嵌入式 > 嵌入式软件
[导读] 本文将不择手段搜集WINCE PB的各种编译不过的错误并给出解决方案或是相关思路,搜集资料来源:本人编译出错后得到解决后的学习笔记,网上搜集的资料,朋友的教导等,后面将会详

 本文将不择手段搜集WINCE PB的各种编译不过的错误并给出解决方案或是相关思路,搜集资料来源:本人编译出错后得到解决后的学习笔记,网上搜集的资料,朋友的教导等,后面将会详细备注,大家一起交流.

一:不能sysgen,sysgen变灰色

检查BSP包的命名,所建工程的命名是否正确!

二:*(LPDWORD) OEMMapMemAddr (dwImageStart, dwImageStart + ROM_SIGNATURE_OFFSET)函数不等于“CECE”

如下函数不执行:[ROM_SIGNATURE=“CECE”]

if (*(LPDWORD) OEMMapMemAddr (dwImageStart, dwImageStart + ROM_SIGNATURE_OFFSET) == ROM_SIGNATURE)

{

//added by lqm,2009.07.11

//EdbgOutputDebugString(“*OEMMapMemAddr() = 0x%xrn”,*(LPDWORD) OEMMapMemAddr (dwImageStart, dwImageStart + ROM_SIGNATURE_OFFSET));

EdbgOutputDebugString(“*OEMMapMemAddr() = 0x%xrn”,*(LPDWORD) OEMMapMemAddr (0x80200000,0x80200040));

EdbgOutputDebugString(“dwImageStart:0x%xrn”,dwImageStart);

EdbgOutputDebugString(“ROM_SIGNATURE_OFFSET:0x%xrn”,ROM_SIGNATURE_OFFSET);

EdbgOutputDebugString(“ROM_SIGNATURE:0x%xrn”,ROM_SIGNATURE);

// 紧接着存放CECE的后面就是TOC,里面存有NK.exe的地址.其中sizeof(ULONG)用于顺延存放CECE的四个字节区域

dwpToc = *(LPDWORD) OEMMapMemAddr (dwImageStart, dwImageStart + ROM_SIGNATURE_OFFSET + sizeof(ULONG));

// 为了修正指针,需要再次映射一次

// need to map the content again since the pointer is going to be in a fixup address

dwpToc = (DWORD) OEMMapMemAddr (dwImageStart, dwpToc + g_dwROMOffset);

EdbgOutputDebugString (“ROMHDR at Address 0x%Xrn”, dwImageStart + ROM_SIGNATURE_OFFSET + sizeof (DWORD)); // right after signature

}

一起以为是没找着TOP里面的“CECE”,后来经魏公公指点,原来是之前生成的XIP.bin不是XIP模式的.

将processbib.exe,preromimage.bat两个文件放到D:WINCE500PLATFORMSMDK2450Files目录下,先copy files to release,

再make一下,生成的xip.bin就是xip模式的了.

三:PB编译时提示spawn failed:invalid argument错误

每次编译出错信息还不一样!

这次提示如下错误:

BUILD: [01:0000000836:PROGC ] Compiling .arcdlg.cpp

BUILD: [01:0000000839:PROGC ] Compiling .connectingdlg.cpp

BUILD: [01:0000000842:PROGC ] Compiling .dlgbase.cpp

BUILD: [01:0000000845:PROGC ] Compiling .events.cpp

BUILD: [01:0000000848:PROGC ] Compiling .mainwnd.cpp

BUILD: [01:0000000851:PROGC ] Compiling .rdrwarndlg.cpp

BUILD: [01:0000000854:PROGC ] Compiling .settings.cpp

BUILD: [01:0000000857:PROGC ] Compiling .utils.cpp

BUILD: [01:0000000860:PROGC ] Linking C:WINCE500publicrdpoaklibA

RMV4Iretailcetscbase.lib

BUILD: [00:0000000865:PROGC ] Compiling WINCE500PUBLICRDPOAKUITCETSCCLIP directory.

BUILD: [01:0000000872:PROGC ] Compiling .tscclip.cpp

BUILD: [01:0000000875:PROGC ] Linking C:WINCE500publicrdpoaklibarmV4Iretailcetscclip.lib

BUILD: [00:0000000878:PROGC ] Compiling WINCE500PUBLICRDPOAKUITCETSCUI directory.

BUILD: [01:0000000885:PROGC ] Compiling .tscui.cpp

BUILD: [01:0000000888:PROGC ] Compiling .maindlg.cpp

BUILD: [01:0000000891:PROGC ] Compiling .propdisplay.cpp

BUILD: [01:0000000894:PROGC ] Compiling .propgeneral.cpp

BUILD: [01:0000000897:PROGC ] Compiling .proplocalres.cpp

BUILD: [01:0000000900:ERRORE] NMAKE : U1045: spawn failed : Invalid argument

BUILD: [01:0000000903:ERRORE] NMAKE.EXE -i -c BUILDMSG=Stop. NOLINK=1 NOPASS0=1 failed - rc = 2

下面还有一个错误:

BUILD: [00:0000000101:PROGC ] Scan WINCE500PUBLICWCESHELLFEOAKWATSONDWUI

BUILD: [00:0000000106:PROGC ] Scan WINCE500PUBLICWCESHELLFEOAKWATSONDWCTLPNL

BUILD: [00:0000000109:PROGC ] Saving C:WINCE500PUBLICWCESHELLFEBuild.dat.

BUILD: [00:0000000111:PROGC ] Total of 0 pass zero files to compile in 14 directories.

BUILD: [00:0000000112:PROGC ] Building generated files in WINCE500PUBLICWCESHELLFEOAKCTLPNLcplmain.

BUILD: [00:0000000119:PROGC ] Building generated files in WINCE500PUBLICWCESHELLFEOAKCTLPNLADVBACKLIGHT.

BUILD: [00:0000000126:PROGC ] Building generated files in WINCE500PUBLICWCESHELLFEOAKCTLPNLCONNPNL.

BUILD: [01:0000000129:ERRORE] NMAKE.EXE -i -c BUILDMSG=Stop. NOLINK=1 PASS0ONLY=1 CLEANBUILD=1 failed - rc = 1

BUILD: [00:0000000130:PROGC ] Files Warnings Errors

BUILD: [00:0000000131:PROGC ] Midl 0 0 0

BUILD: [00:0000000132:PROGC ] Resource 0 0 0

BUILD: [00:0000000133:PROGC ] Message 0 0 0

BUILD: [00:0000000134:PROGC ] Precomp Header 0 0 0

BUILD: [00:0000000135:PROGC ] C/Cpp/Cxx 0 0 0

BUILD: [00:0000000136:PROGC ] Assembler 0 0 0

BUILD: [00:0000000137:PROGC ] Static Libraries 0 0 0

BUILD: [00:0000000138:PROGC ] Dll's 0 0 0

BUILD: [00:0000000139:PROGC ] Exe's 0 0 0

BUILD: [00:0000000140:PROGC ] Resx 0 0 0

BUILD: [00:0000000141:PROGC ] Csharp Targets 0 0 0[!--empirenews.page--]

BUILD: [00:0000000142:PROGC ] Other 0 0 1

BUILD: [00:0000000143:PROGC ]

BUILD: [00:0000000144:PROGC ] Total 0 0 1

BUILD: [00:0000000145:PROGC ]

BUILD: [00:0000000146:PROGC ] 0 Warnings, 1 Errors

最后提示的错误:

Build for Windows CE (Release) (Built on Apr 14 2005 13:54:39)

File names: Build.log Build.wrn Build.err Build.dat

CEBUILD: Running sysgen -p wceshellfe preproc

Starting sysgen phase for project ( wceshellfe )

Sysgening platform C:WINCE500platformsmdk2450

Sysgening platform C:WINCE500platformsmdk2450

WINCE500build.err

C:WINCE500build.err

C:WINCE500build.log

C:WINCE500build.wrn

已复制 3 个文件.

BLDDEMO: There were errors building 2450_p900

2450_p900 - 3 error(s), 10 warning(s)

这个问题比较麻烦,我通过重装系统(换用另外一张堞装,非ghost),成功过一次,换用台式机,也成功过.但是笔记本上后来又不行了,原因不明.

四:PB编译提示don't know how to make.........................

编译2450 bootloader出错,编译driver没错,

编译Eboot错误如下:

BUILD: [01:0000000039:PROGC ] Compiling .debug.c

BUILD: [01:0000000042:PROGC ] Compiling .ether.c

BUILD: [01:0000000045:PROGC ] Compiling .flash.c

BUILD: [01:0000000048:PROGC ] Compiling .nand.cpp

BUILD: [01:0000000051:PROGC ] Compiling .usb.c

BUILD: [01:0000000054:PROGC ] Assembling .usbs.s

BUILD: [00:0000000060:PROGC ] Linking WINCE500PLATFORMSMDK2450SrcBootloaderEboot.Whimory directory.

BUILD: [01:0000000067:ERRORE] NMAKE : U1073: don't know how to make 'E:WINCE500platformsmdk2450libarmV4Iretailoal_memory_s3c2450.lib'

BUILD: [01:0000000069:ERRORE] NMAKE.EXE -i -c BUILDMSG=Stop. LINKONLY=1 NOPASS0=1 failed - rc = 2

BUILD: [00:0000000070:PROGC ] Files Warnings Errors

BUILD: [00:0000000071:PROGC ] Midl 0 0 0

BUILD: [00:0000000072:PROGC ] Resource 0 0 0

BUILD: [00:0000000073:PROGC ] Message 0 0 0

BUILD: [00:0000000074:PROGC ] Precomp Header 0 0 0

BUILD: [00:0000000075:PROGC ] C/Cpp/Cxx 6 2 0

BUILD: [00:0000000076:PROGC ] Assembler 3 0 0

BUILD: [00:0000000077:PROGC ] Static Libraries 0 0 0

BUILD: [00:0000000078:PROGC ] Dll's 0 0 0

BUILD: [00:0000000079:PROGC ] Exe's 0 0 0

BUILD: [00:0000000080:PROGC ] Resx 0 0 0

BUILD: [00:0000000081:PROGC ] Csharp Targets 0 0 0

BUILD: [00:0000000082:PROGC ] Other 0 0 2

BUILD: [00:0000000083:PROGC ]

BUILD: [00:0000000084:PROGC ] Total 9 2 2

BUILD: [00:0000000085:PROGC ]

BUILD: [00:0000000086:PROGC ] 2 Warnings, 2 Errors

Build for Windows CE (Release) (Built on Apr 14 2005 13:54:39)

File names: Build.log Build.wrn Build.err Build.dat

2450_p900 - 2 error(s), 2 warning(s)

我按照提示的路径找不着这个静态库,oal_memory_s3c2450.lib

难道这个静态库PB装时给漏掉了?

后来重装WINCE,打04,05,06,07年的补丁,问题依旧.看来还是没经验啊,感谢CSDN的高手Veabol,编译SrcCommon后,果真生成了oal_memory_s3c2450.lib.

可是又出来一个CS8900*.lib的静态库,后面的字符不记得了,看来还有其他地方要生成该库.编译整个SMDK2450工程,看提示估计是该静态库是生成了,但是又

弹出另外一个对话框,提示某文件无法编译,该文件为我已前做好的备份文件,有中文名.删除该文件后,再编译,仍然提示该错,将BSP根目录的build.dat删除,

再编译,问题彻底解决.

看来很多静态库不是PB装好后本身就有的,而需要编译一些代码才能生成.

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

北京2024年8月8日 /美通社/ -- 近日,软通动力T6司库管理系统、票据管理系统IDMS、医共体一体化管理平台三款产品获鲲鹏原生开发认证(Kunpeng NATIVE)。这是软通动力自年初正式启动鲲鹏原生开发以来,...

关键字: PEN 编译 DEVKIT 操作系统

KeilμVision4是Keil软件公司为8051系列微控制器及其兼容产品设计的集成式软件开发环境。μVision4集成了C51编译器和A51汇编器,其界面类似于Microsoft VS,支持C语言和汇编语言程序的编写...

关键字: 程序 编译 链接

第五届中国国际进口博览会,丹纳赫集团携手中国健康传媒集团,在创新技术在疫苗、细胞治疗药物、中药研发以及质量控制中的应用等领域签署战略合作。同时,双方将共同编译并出版《生物制药工艺》等书籍,以支持相关领域国际前沿技术工具在...

关键字: 编译 质量控制

(全球TMT2022年9月27日讯)新思科技近日宣布推出业内首款基于其ZeBu® EP1硬件仿真系统的硬件仿真与原型验证统一硬件系统,致力为SoC验证和前期软件开发提供更高水平的性能和灵活性。新思科技ZeBu...

关键字: 硬件仿真 新思科技 硬件系统 编译

3个SystemVerilog新特性!01`begin_keyword`end_keyword硬件描述语言中有很多特殊的编译或者综合等工具的预执行指令,在某些场景下我们可以利用一下HDL之外的语法去指导工具,而不是信马由...

关键字: SYSTEMVERILOG DEFINE PACKAGE 编译

你知道,为什么在C中使用了pow函数不需要链接libm库吗?什么情况需要指定链接库?在解释之前,先回顾一下。//来源:公众号【编程珠玑】//https://www.yanbinghu.com#include#includ...

关键字: 编译 POW IBM TEST

    关注、星标公众号,直达精彩内容作者:hguisu一、地址概念和程序如何运行在多道程序环境下,要使程序运行,必须先为之创建进程。而创建进程的第一件事,便是将程序和数据装入内存。如何将一个用户源程序变为一个可在内存中...

关键字: 编译

作 者:道哥,10年嵌入式开发老兵,专注于:C/C、嵌入式、Linux。关注下方公众号,回复【书籍】,获取Linux、嵌入式领域经典书籍;回复【PDF】,获取所有原创文章(PDF格式)。目录学习的困惑实践环境编译进内核编...

关键字: 内核 编译 驱动程序

摘 要:启动装载程序是嵌入式系统的重要组成部分。文章结合在ARM平台上广泛使用的U-Boot,详细讨论了Boot Loader开发中用到的主要技术,分析引导程序的执行流程,提出了WinCE和Linux在ARM平台下...

关键字: 启动装载程序 U-Boot 嵌入式系统 WinCE Linux

摘 要:火车货运在高速发展的同时,也带来了越来越多的不安全因素,货运物资被盗是铁路货运事故的主要原因之一。 基于此,设计和实现了基于ZigBee和WinCE技术的火车货运防盗预警系统,用于解决站停、待编、待卸和运行途中...

关键字: 火车货运 智能防盗 Zigbee WinCE PDA软件
关闭