关于wince驱动中CDEFINES的一些认识

发布者:心愿成真最新更新时间:2025-02-05 来源: cnblogs 手机看文章 扫描二维码
随时随地手机看文章

 以前没有注意CDEFINES 这玩意,貌似在sources文件里面经常见,没注意这玩意这么强大,害的我迷茫了好一阵子,今天算是了解了他的一些作用。

【cool】学习wince 中的dirs 以及sources 文件
http://www.gooogleman.com/forum.php?mod=viewthread&tid=19552&fromuid=3

这篇文章也只是稍微的讲了一下

ADEFINES:指定汇编器要使用的参数

CDEFINES:指定编译器要使用的参数

看看PB帮助有啥说法

This macro definition specifies compiler DEFINE statements.

These DEFINE statements are added at the end of the standard DEFINE statements put in by Makefile.def.

The default value is NULL.

在S5PV210 的wince6.0摄像头驱动里面 有如下:

SRCDRIVERSCAMERAFILTERCAMERA_PDDsources(31):CDEFINES=$(CDEFINES) -DCAMERA_PORT=CAM_B_PORT

开始我傻乎乎的寻找DCAMERA_PORT 在代码中的位置,结果找不到正常了。因为DCAMERA_PORT表示define CAMERA_PORT o(∩_∩)o 哈哈真是累死人不偿命啊。

下面是为微软的例子

To include the security module, link with authcode.lib. Insert the following code into each of the sources files that build the kernel:.

!IF '$(MODULE_CERTIFY)' == '1' 
CDEFINES=$(CDEFINES) -DMODULE_CERTIFY 
SOURCELIBS=$(SOURCELIBS) $(_OSSVCSOAKROOT)lib$(_CPUDEPPATH)authcode.lib 
!ENDIF

Note that all of the code for the security module is wrapped in #ifdef MODULE_CERTIFY. The presence of MODULE_CERTIFY environment variable controls whether the flag is included or not. Smartfon.bat sets the environment variable MODULE_CERTIFY=1.


果然我在S5PV210 的wince6.0摄像头驱动里面找到了

// Get MDDContext Handler
int CameraInit(void *pData)
{
DBGMSG(CAMF_FUNC && CAMF_USR1,(TEXT('%s ++%s n'), DBG_MSG_HEADER, _T(__FUNCTION__)));

// Open Specified Raw Camera Driver
CAF_initialize_RAW_camera_driver();

// Call Raw Camera Driver Initialization
// Only need module initialization and Buffer initialization
DWORD dwBytes;


CAMERA_MODULE_DESC CamModuleInfo;
CamModuleInfo.CamPort = (CAMIF_INPUTPORT)CAMERA_PORT;————————————————————————————就是这里了!
CamModuleInfo.ModuleName = (MODULE_SENSOR)CAMERA_MODULE_NAME;

// Request Initialization Camera module and Buffer
if ( !DeviceIoControl(g_hPreviewCamera, IOCTL_CAM_INIT, &CamModuleInfo, sizeof(CAMERA_MODULE_DESC), NULL, 0, &dwBytes, NULL) )
{
DBGMSG(CAMF_FUNC && CAMF_USR1, (_T('%s --%s() : IOCTL_CAM_INIT Failednr'), DBG_MSG_HEADER, _T(__FUNCTION__)));
return FALSE;
}
if ( !DeviceIoControl(g_hVideoCamera, IOCTL_CAM_INIT, &CamModuleInfo, sizeof(CAMERA_MODULE_DESC), NULL, 0, &dwBytes, NULL) )
{
DBGMSG(CAMF_FUNC && CAMF_USR1, (_T('%s --%s() : IOCTL_CAM_INIT Failednr'), DBG_MSG_HEADER, _T(__FUNCTION__)));
return FALSE;
}

DBGMSG(CAMF_FUNC && CAMF_USR1,(TEXT('%s ++%s Succeededn'), DBG_MSG_HEADER, _T(__FUNCTION__)));
return TRUE;
}

结束!继续看wince6.0 摄像头驱动,具体的东西请看如下帖子:

S5PV210 wince6.0 摄像头的一些进展
http://www.gooogleman.com/forum.php?mod=viewthread&tid=19584&fromuid=3


引用地址:关于wince驱动中CDEFINES的一些认识

上一篇:三星S5-PV210内存初始化
下一篇:一步一步写miscdevice的驱动模块

推荐阅读最新更新时间:2026-03-21 00:49

wince 5.0/wince6.0 2440/6410/S5PV210 触摸屏驱动 滤波函数的介绍
以前曾经遇到过wince 手持机,POS机触摸屏 抖动,跳点,飞点的问题,其中起作用最大的就是触摸屏滤波函数,现在给大家介绍一下。 //----------------------------------------------------------------------------- //--函数介绍:触摸屏滤波函数,每次输入一个采集到的触摸屏点(x/y),然后进行滤波 //------------------------------------------------------------------------------ static BOOL Touch_Pen_Filtering(INT *px, INT *py
[单片机]
wince6.0+s3c6410摄像头驱动修改
这段时间开发一个图像识别的项目,基于WinCE6.0+s3c6410 系统,使用友坚恒天的6410 开发板。该开发板带有OV9650 摄像头接 口,但存在一个最大的问题,是摄像头获取的图像太小,只能看到320*240 的图像,我需要1280*1024 的图像,所以只能修改。本想驱动能提供接 口,可以在应用程序中修改像素,但仔细分析驱动源代码发现,摄像头的像素是在驱动中设置死的,所以只能修改驱动。修改驱动的过程中走了很多弯路,不过今天 终于成功了,可以成功显示640*480 和1280*1024 的图像。 驱动中需要修改的文件主要有:setting.h ,OV9650_MODUAL.cpp, sensorformat.h, s3
[单片机]
嵌入式WinCE中CAN总线控制器的驱动设计与实现
引 言   近年来,由于消费电子、计算机、通信(3c)一体化趋势日趋明显,嵌入式系统再度成为研究和应用的热点。嵌入式操作系统(:Real-time Embedded OperatingSystem,RTOs或EOs)作为一种实时的、支持嵌入式系统应用的操作系统软件,成为嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器Browser等。Windows CE操作系统就是微软公司从整体上为有限资源平台设计的多线程、完整优先权、多任务的操作系统Win CE支持各种处理器产品家族,包括x86,Xscale,ARM,MIPS和SH系列。它的模块化
[单片机]
嵌入式<font color='red'>WinCE</font>中CAN总线控制器的<font color='red'>驱动</font>设计与实现
ARM和WinCE6.0下nRF24L01的驱动设计
引言 nRF24L01是一款工作在2.4~2.5 GHz世界通用ISM频段的单片无线收发器芯片。它在无线数据通讯、无线门禁、遥感勘测、工业传感器和玩具中都有应用。 随着测控技术的发展,nRF24L01与单片机组成的系统进行无线测控的实例已经有很多,如基于nRF24L01的无线温度监测系统、基于nRF24 L01的近距离无线数据传输系统等等。近年来,随着ARM和嵌入式WinCE系统的迅速发展,由于在WinCE系统下nRF24L01和ARM的通信缺乏驱动,致使两者之间不能直接通信,一般的解决方法是借助于第三方单片机的串行口来进行两者的通信。这种方式的不足之处在于,由于要借助于第三方单片机,使得成本增加且通信速度下降。nRF24L0
[单片机]
ARM和<font color='red'>WinCE</font>6.0下nRF24L01的<font color='red'>驱动</font>设计
ARM和WinCE6.0下nRF24L01的驱动设计
引言 nRF24L01是一款工作在2.4~2.5 GHz世界通用ISM频段的单片无线收发器芯片。它在无线数据通讯、无线门禁、遥感勘测、工业传感器和玩具中都有应用。 随着测控技术的发展,nRF24L01与单片机组成的系统进行无线测控的实例已经有很多,如基于nRF24L01的无线温度监测系统、基于nRF24 L01的近距离无线数据传输系统等等。近年来,随着ARM和嵌入式WinCE系统的迅速发展,由于在WinCE系统下nRF24L01和ARM的通信缺乏驱动,致使两者之间不能直接通信,一般的解决方法是借助于第三方单片机的串行口来进行两者的通信。这种方式的不足之处在于,由于要借助于第三方单片机,使得成本增加且通信速度下降。nRF24
[电源管理]
ARM和<font color='red'>WinCE</font>6.0下nRF24L01的<font color='red'>驱动</font>设计
WinCE驱动程序模型分类
WinCE驱动程序模型分类 WinCE系统在驱动设计上有一个很方便的功能,就是原始设备制造商(OEMs)和独立硬件开发商(IHVs)可以自主开发设备驱动程序来支持他们的硬件。因此,在动手进行触摸屏驱动程序开发之前,深入了解WinCE系统驱动方式是非常有必要的。 (1)从驱动加载方式上的分类 要编写WinCE驱动程序首先要确定它是属于哪类驱动。一般来说,WinCE平台上使用的设备可分为两类:内建设备和可安装设备。因此,从驱动加载方式上WinCE可分为内建设备驱动(Built-In Driver)和可加载驱动(Loadable Driver)。 WinCE系统可直接使用内建设备,因为内建设备驱动程序是与WinCE的核心组件紧密相连的,也
[嵌入式]
WinCE EBOOT中的Boot Args与Driver Globals
在EBOOT中包含的一个重要的缓冲区叫Driver Globals,它用于在设备驱动和WinCE OS之间共享数据。而在EBOOT中会用到的启动参数结构被称为Boot Args,是指用于EBOOT和WinCE OS之间共享一些参数信息。一般来说Boot Args会在EBOOT运行的时候被赋值或者更新,最常用的就是网络设备的相关信息设置,比如IP地址,MAC地址,中断等信息。 Driver Globals包含了Boot Args,也就是说Driver Globals是一块内存缓冲区,其中里面也包含了Boot Args的内存缓冲区。这里要说明的是Driver Globals是一个可选用的功能,无非就是一块内存,在EBOOT和Win
[嵌入式]
MapPtrToProcess 用法 WINCE驱动分析3
以使用下面的应用程序代码测试这个driver,使用evc编译。 #include windows.h #include Windev.h #include stdio.h #include "objbase.h" #include "initguid.h" #include "foo.h" //char data1 ; int  WinMain(void) {     HANDLE hnd;     COPY_STRUCT cs ;     int i;     //static char data1 ;   auto char data1 ;     auto char
[嵌入式]
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved