请教关于PXA270处理器的BSPmainstone3的问题

wangxin_801115 2010-03-02 09:16:46
请教各位:
关于PXA270处理器的BSP:mainstone3的问题:
我下载的是盛博的wince50---bsp :看文件夹结构应该是mainstone3的
这个BSP把C:\WINCE500\PLATFORM\COMMON 和 \WINCE500\PUBLIC\COMMON\OAK\CSP\ARM\INTEL\PXA27X
中用到的代码都提取出来放到一个文件夹csp_pxa27x中与palfrom\BSP共用

刚移植完boot,才发现BSP\DRIVER中并没有display驱动,(mainstone2中是有的)
再找发现在csp_pxa27x中有display的包含:PXA27X_LCD驱动,其实就是在路径
WINCE500\PUBLIC\COMMON\OAK\CSP\ARM\INTEL\PXA27X\DISPLAY\PXA27X_LCD中的这些源文件
但是看这个source发现其实是导出LIB
TARGETNAME=pxa27x_lcd_lib
TARGETTYPE=LIBRARY
RELEASETYPE=OAK
并不是DLL;
在生成的工程文件夹中找发现可以找到pxa27x_lcd.dll
目前没有找到这个DLL是哪生成的
请问做过这个的高手:这个DLL是哪里生成的呢????
...全文
206 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangxin_801115 2010-03-02
  • 打赏
  • 举报
回复
引用 3 楼 sunrain_hjb 的回复:
5.0的不太清楚了,6.0中MainstoneIII的显示驱动在
C:\WINCE600\PLATFORM\COMMON\SRC\SOC\PXA27X_MS_V1\DISPLAY\PXA27X_LCD
source的内容如下,
TARGETNAME=pxa27x_ms_v1_lcd
TARGETTYPE=DYNLINK
DLLENTRY=_DllMainCRTStartup
SYNCHRONIZE_DRAIN=1

TARGETDEFNAME=pxa27x_ms_v1_lcd
DEFFILE=pxa27x_lcd.def

我想5.0跟这个也差不多的。

跟您这个路径C:\WINCE600\PLATFORM\COMMON\SRC\SOC\PXA27X_MS_V1\DISPLAY\PXA27X_LCD
相似的地方,我的是在
C:\WINCE500\PUBLIC\COMMON\OAK\CSP\ARM\INTEL\PXA27X\DISPLAY\PXA27X_LCD
但是这个只提供LIB:
SOURCE内容:
TARGETNAME=pxa27x_lcd_lib
TARGETTYPE=LIBRARY
RELEASETYPE=OAK


TARGETDEFNAME=pxa27x_lcd
DEFFILE=pxa27x_lcd.def
WINCETARGETFILE0=$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\$(TARGETDEFNAME).def

CDEFINES=$(CDEFINES) -DDDI

!IF "$(FRAME_BUFFER_IN_SRAM)" == "1"
CDEFINES=$(CDEFINES) -DFRAME_BUFFER_IN_SRAM
!ENDIF

INCLUDES= \
$(_PUBLICROOT)\common\oak\csp\arm\intel\pxa27x\inc; \
$(_PUBLICROOT)\common\oak\csp\arm\intel\pxa27x\xllp\inc; \
$(_PUBLICROOT)\common\sdk\inc;$(_PUBLICROOT)\common\oak\inc

SOURCELIBS= \
$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\ddgpe.lib
wangxin_801115 2010-03-02
  • 打赏
  • 举报
回复
引用 2 楼 kyzf 的回复:
楼主 找下:

TARGETNAME=DDGPE
TARGETTYPE=LIBRARY

另外:
在WinCE中,Display驱动由GWES模块来管理。WinCE提供了两种架构的Display驱动模型,可以满足不同的硬件需求。一种是基于WinCE DDI的Display驱动模型,另一种是基于DirectDraw的Display驱动模型。
目前一般都是基于DirectDraw的Display驱动模型,

DirectDraw的真正实现代码都驻留在gwes.dll模块中,应用程序只是连接了一个小的客户端,被称为DDRAW.dll代理,该代理主要负责用户进程与系统之间的远程DirectDraw COM接口连接。这样,用户请求会被传送到内核的GWES模块中。针对DirectDraw,WinCE提供了一个名为DirectDraw的GPE库(DDGPE),它是从GPE类上面继承而来的。实际上,DirectDraw显示驱动是由DDGPE和DDHAL组成,而DDGPE中已经包含了DDHAL的功能。用户需要从DDGPE类继承并实现相关函数即可。GWES.dll模块中包含GDI和DDRAW两个组件,这两个组件会调用驱动中的DDGPE的相关接口完成对硬件的操作。


TARGETNAME=DDGPE
这个也没有!
您的意思是这个pxa27x_lcd.dll是gwes.dll中生成的??
不会啊,我以前用的BSP都是在driver中显示的有一个DISPLAY的驱动的
而现在我用到的这个就只提供LIB
如果gwes.dll还可以生成一个pxa27x_lcd.dll那么以前的BSP中(driver中带DISPLAY驱动的)不是会
有冲突了?


sunrain_hjb 2010-03-02
  • 打赏
  • 举报
回复
5.0的不太清楚了,6.0中MainstoneIII的显示驱动在
C:\WINCE600\PLATFORM\COMMON\SRC\SOC\PXA27X_MS_V1\DISPLAY\PXA27X_LCD
source的内容如下,
TARGETNAME=pxa27x_ms_v1_lcd
TARGETTYPE=DYNLINK
DLLENTRY=_DllMainCRTStartup
SYNCHRONIZE_DRAIN=1

TARGETDEFNAME=pxa27x_ms_v1_lcd
DEFFILE=pxa27x_lcd.def

我想5.0跟这个也差不多的。
kyzf 2010-03-02
  • 打赏
  • 举报
回复
楼主 找下:

TARGETNAME=DDGPE
TARGETTYPE=LIBRARY

另外:
在WinCE中,Display驱动由GWES模块来管理。WinCE提供了两种架构的Display驱动模型,可以满足不同的硬件需求。一种是基于WinCE DDI的Display驱动模型,另一种是基于DirectDraw的Display驱动模型。
目前一般都是基于DirectDraw的Display驱动模型,

DirectDraw的真正实现代码都驻留在gwes.dll模块中,应用程序只是连接了一个小的客户端,被称为DDRAW.dll代理,该代理主要负责用户进程与系统之间的远程DirectDraw COM接口连接。这样,用户请求会被传送到内核的GWES模块中。针对DirectDraw,WinCE提供了一个名为DirectDraw的GPE库(DDGPE),它是从GPE类上面继承而来的。实际上,DirectDraw显示驱动是由DDGPE和DDHAL组成,而DDGPE中已经包含了DDHAL的功能。用户需要从DDGPE类继承并实现相关函数即可。GWES.dll模块中包含GDI和DDRAW两个组件,这两个组件会调用驱动中的DDGPE的相关接口完成对硬件的操作。
wangxin_801115 2010-03-02
  • 打赏
  • 举报
回复
顶一下!顶一下!顶一下!顶一下!顶一下!顶一下!顶一下!顶一下!
wangxin_801115 2010-03-02
  • 打赏
  • 举报
回复
引用 8 楼 paul_chao 的回复:
MainstoneIII 的 BSP, 其 display driver 是在
%_WINCEROOT%\PUBLIC\csp_pxa27x\oak\pxa27x\display\pxa27x_lcd

一样是 library 的型式, 其 dll 会在 sysgen 时产生.

盛博的 BSP 没用过, 所以不知会放在哪.

Paul, Chao @ Techware


哦,是这样的!就是在csp_pxa27x中有个LIB的形式
我就是不知道DLL是怎么生成的

那这样看来是我的BSP进入到OEMInit后这个函数运行完了之后死掉了
因为我在%_WINCEROOT%\PUBLIC\csp_pxa27x\oak\pxa27x\display\pxa27x_lcd
中添加的打印信息没有出现
我还以为是DISPLAY的问题呢!
paul_chao 2010-03-02
  • 打赏
  • 举报
回复
MainstoneIII 的 BSP, 其 display driver 是在
%_WINCEROOT%\PUBLIC\csp_pxa27x\oak\pxa27x\display\pxa27x_lcd

一样是 library 的型式, 其 dll 会在 sysgen 时产生.

盛博的 BSP 没用过, 所以不知会放在哪.

Paul, Chao @ Techware
wangxin_801115 2010-03-02
  • 打赏
  • 举报
回复
恩, 可是貌似mainstoneiii就是这个结构
不知道它是怎么搞的
sunrain_hjb 2010-03-02
  • 打赏
  • 举报
回复
6.0的sources文件内容如下,
TARGETNAME=pxa27x_ms_v1_lcd
TARGETTYPE=DYNLINK
DLLENTRY=_DllMainCRTStartup
SYNCHRONIZE_DRAIN=1

TARGETDEFNAME=pxa27x_ms_v1_lcd
DEFFILE=pxa27x_lcd.def

CDEFINES=$(CDEFINES) -DDDI

!IF "$(FRAME_BUFFER_IN_SRAM)" == "1"
CDEFINES=$(CDEFINES) -DFRAME_BUFFER_IN_SRAM
!ENDIF

INCLUDES= \
$(INCLUDES);..\..\inc;..\..\xllp\inc \

TARGETLIBS= \
$(_COMMONSDKROOT)\lib\$(_CPUINDPATH)\coredll.lib \
$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\ceddk.lib \
$(_COMMONSDKROOT)\lib\$(_CPUINDPATH)\ddguid.lib \
$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\gperotate.lib \
$(_PLATCOMMONLIB)\$(_CPUINDPATH)\pxa27x_ms_v1_drvlib.lib \
$(_PLATCOMMONLIB)\$(_CPUINDPATH)\pxa27x_ms_v1_xllp.lib \

SOURCELIBS= \
$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\ddgpe.lib

SOURCES= \
sa2video.cpp \
dispdrvr.c \
dirtyRectDumpCore_ASM.s \
ebtext16_opt.s \
ebcccc_opt.s \
ebfill16_opt.s \
halcaps.cpp \

实在不行,你可以把显示驱动挪到BSP目录下,只需要修改sources文件就可以了.

19,504

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧