| 标题 |
作者 |
阅读数 |
发布时间 |
|
|
adsfmil |
3483 |
2007-8-13 |
|
微软在操作系统领域共有3大分支,其中之一是已经成为历史的DOS/Win9X,而另一分支则是正在桌面环境上发光发热的NT架构,最新一代产品为Vista,而CE这一分支算是微软针对个人计算机以外的产品所开发的操作系统家族统称,使用在PDA或智能型手机上的就称为Windows Mobile,要使用这个名称必需要通过微软认证,而应用在其它用途,如机上盒、VoIP电话、收银机等则维持Windows CE的名称,不需通过认证,但是在授权费用方面则是有所不同。基本上,不同名称只是在于启用元件的不同而已,基本核心都完全一样。而我们将在这篇所讨论的,就是基于CE架构之下的行动装置操作系统架构。图说:Windows CE的发展历程。(资料来源:微软)手持式智能型装置市场动态目前占较大比例的Windows嵌入式应用,仍在行动装置方面,根据Gartner最新的调查显示,虽然2006年全年的智能型手机及PDA的销售量,相较起2005年将会有超过75%的成长,成长力道大多集中于智能型手机上,PDA方面没有明显的增长。而根据IDC的调查,2006年第三季的手持式智能装置的销售量却呈现减少的趋势,IDC将其归咎于缺乏新产品线,使得厂商在营销上缺乏动力,比如说,占销售比例最大的依然是Palm,约有4成左右,但...
>> 阅读全文
|
|
adsfmil |
5923 |
2007-8-13 |
|
微软发布的其最新版本的嵌入式操作系统Windows CE 6.0。最大的变化就是一个全新的内核,克服了先前版本32 process和32MB virtual memory的限制。而且还将开发环境集成进Visual Studio 2005中,为开发者提供全新的一流的开发体验。下面列出一些我觉得非常有用的资源链接。Blog:The CE6 OS differences in a nutshell The CE6 tools differences in a nutshell CE6 Drivers: What you need to know Application Compatibility in Windows CE 6.0 What''''s new in Windows CE Platform Builder''''s System Debugger 6.0 CE6 OAL: What you need to know Webcast:CE 6.0 OverviewWindows Embedded CE 6.0 Kernel_Memory_ArchitectureWindows Embedded CE_6.0 ToolsAppilcation_Development For Windows Embedded CE 6.0Developing Device Drivers_For Windows Embedded CE 6.0Virtual Lab:Windows Embedded CE 6.0 Debugging/Profiling Windows Embedded CE 6.0 Platform Builder Tools Windows Embedded CE 6.0 Test Kit (CETK) Windows Embedded CE 6.0 Writing C# Managed Applications Windows Embedded CE 6.0 Writing MFC/Nati...
>> 阅读全文
|
|
adsfmil |
47094 |
2007-8-11 |
|
微软正式发布了自己的第六代嵌入式系统工具套装:Windows Embedded CE 6.0,并完全开放了其核心源代码。在Linux不断夺取嵌入式系统市场、生产商对透明度的要求越来越高的今天,微软不但发布了自己的新系统,还宣布向消费者和BSquare、 Centrality、Micros Systems等嵌入式厂商完全开放CE 6.0的核心源代码,并提供Visual Studio 2005 Professional的免费拷贝,并使现有的Platform Builder集成开发环境(IDE)成为VS2005的一个插件。Windows CE 5.0发布的时候,微软根据资源共享计划公开了56%的核心源代码,而到了Windows CE 6.0,微软将这一比例提高到了100%,不过是核心源代码,而不是整个CE 6.0工具套装。Windows CE 6.0的新核心经过了重新设计,在性能上的改善非常明显,如并发进程数从32个猛增至32000个、每个进程的最大虚拟内存利用量高达2GB、可提供实时数据连接等,还有组件可以利用Windows Vista内建的新功能来遥控桌面并在投影仪上显示给观众,另外还增强了对多媒体的支持。Windows CE 6.0工具套装目前已经开始提供给有需要的客户,预计相关设备会在未来9-12个月内出现,Unitech、Commodore、Advantec...
>> 阅读全文
|
|
adsfmil |
2169 |
2007-7-19 |
|
Windows CE与平台开发 Windows CE是微软为嵌入式设备打造的操作系统,而嵌入式设备可谓多种多样,这就要求CE操作系统必须是可定制的,所以微软将Windows CE设计为模块化的操作系统。说简单点,我们可以把Windows CE想像成一盒积木,你可以用积木搭建出任何物体,但不一定要把所有的积木都用上。Windows CE搭建出来的物体就是平台,是适应某种有固定标准的嵌入式设备的操作系统子集,最著名的平台就是Pocket PC了,是提供给没有键盘的掌上电脑使用的平台。由于平台和硬件的一致性,所以有时候我们也用平台的名称来称呼整个系统——硬件与操作系统的总和。我们也可以自己开发平台,开发工具是微软提供的Platform Builder,Platform Builder的版本号是和Windows CE的版本号一致的。更多程序员关心的是应用程序的开发,而应用程序开发是针对特定平台的,我们在开发之前必须安装目标平台的SDK,才能够开发出适应目标平台的开发工具。Windows CE开发环境综述初学者另外一个比较糊涂的概念是版本的问题,现在市面上能够见到Windows CE的两代产品,它们的内核分别基于Windows CE 3.0和Windows CE.NET(即4.0)。微软将今年刚面世的Pocket PC 2003和Smart Phone 2003统称为Windows M...
>> 阅读全文
|
|
adsfmil |
2518 |
2007-7-19 |
|
许多开发人员都尝试了基于无线装置的软件编程,然而这些思想达于成功的关键之处在于他们能否深入了解Windows CE的功能和缺点。本文就此介绍了Windows CE的一些基本特性,并指出过渡到基于无线装置的软件开发所应具备的知识。 开始Windows CE操作系统支持很多特性,并能被很多一系列不同的CPU编译。她支持多线程,包含多种可选择的GUI。诸如她的堂兄弟一样,Windows CE也具有台式计算机操作系统的特性,所以开发人员无需花太多的时间就可以很容易地进行基于Windows CE的软件开发。在这一小节中,我们关注的是如何在基于Windows CE的Pocket PC和Pocket PC2002平台的开发。这两个平台都是通过Windows CE3.0实现的。微软也发布了一套新式的Windows CE版本,即Windows CE.NET,也就是常说的Windows CE4.0。Pocket PC2002对象平台需要下载一套新SDK,但她集成在eMbedded Tools 3.0软件中,当编写代码时和使用Pocket PC很类似,但是她还有以下几方面的改进。1.通讯改进新的连接管理器 支持对象交换(OBEX)电话API2.可用性改进新的消息响应系统当前屏幕外壳敏锐的最小化特色3.网络浏览器的新特性4.新的HTM...
>> 阅读全文
|
|
adsfmil |
3096 |
2007-7-19 |
|
长达10多天的windows embedded ce 6.0之路可以告一段落了。ce6.0刚出没几天,找不到下载再正常不过了,他不像vista那么热门。不过关键是,我要用。其实有学校的正版ce 5.0的,很不错的版本,可惜我用不上,因为它和我装的vista不兼容。最后只能到微软的官方网站下评估版来装了。评估版并没什么不好的,不过它要网络安装,其实网络安装也是很正常的,在百兆甚至千兆带宽的今天。但是,这可是个好几g的软件阿。无所谓了,就网络安装吧。分组件安装,一次装1个,避免断线失败。历时1个下午,装完了,可惜,没有看到platform builder的图标,找遍整个目录也找不到。以为是有些组件没装的缘故,于是把1个用不到的组建也网络安装了。还是没有,执行修复,未果,接近崩溃了。再找ce6.0的下载还是没找到,但是发现了可以把安装文件下到本地安装,就这么做了,用迅雷批量下载,3.75g阿,而且我还怀疑并没有完全下完,因为我后来并没有安装所有组建,而且按软件的计算,把所有组建装完要约20G的磁盘空间啊,什么世道。下载装完后,很明显结果和之前是一样的,去寻找缘由,才知道platform builder已经被作为插件整...
>> 阅读全文
|
|
adsfmil |
964 |
2007-7-19 |
|
最近金日隧道广告系统的通信系统要升级,用Moxa的DA66x设备取代原先的Moxa5630通信模块,由于DA66x内嵌了WinCE5.0系统,系统的功能可以有很大的发挥余地。DA66x这款产品功能很强,可以说WinCE5.0在工业通信领域被用到了极致(2个10/100M的Tcp/IP通信口,16+1个高波特率串口)我更为喜欢的是,它给PC机提供了多种渠道去控制该设备,内建了Web服务器,可以通过网页进行各种配置,开启了ftp服务,可以通过ftp上传下载文件,此外我更为喜欢的是提供了Pocket CMD 5.0(如下图),可以通过超级终端进行控制(和DOS界面没有什么区别,很早的时候,我开发AB PLC的一个接口板程序时,就是用到类似的东西)。 通过Moxa提供的SDK,我还是学了不少.net的技术,比如静态构造函数的使用,以前是不知道的,所以以后直接使用静态函数的时候,知道在哪里初始化变量了(题外话:在msdn查静态构造函数的时候,意外的发现在VS2005目录里有好东西,VS2005安装目录\VC#\Specifications\2052下面有两个中文版的C#规范的word文件,很是详细,值得一看)。此外还学到了向API函数传结构体的技术,如:[StructLayout(LayoutKind.Sequential)] >> 阅读全文
|
| 标题 |
作者 |
阅读数 |
发布时间 |
|
|
mermaid |
13851 |
2009-7-2 |
|
汇编语言是CPU二进制指令的可读写版本。我们在后面将有单独的一章来讲述汇编语 言。从来没有接触过汇编语言的读者在阅读本书时可能会有一些迷惑 。 大多数MIPS汇编语言都是非常古板的,都是一些寄存器号码。但是工具链(toolchains)可 以使得使用微处理机语言变得简单。工具链至少允许程序员引用一些助记符,而严 格的汇编语言要求严格的数字编码。大多我们都是用比较熟悉的C预处理器。C预处 理器会把C风格的注解去掉,而得到一个可用的汇编代码。 有C预处理器的帮助,MIPS汇编程序都是用助记符来表示寄存器。助记符同时也代表 了每个寄存器的用法(我们将在2.2节介绍这一点) 对於熟悉汇编语言但不熟悉MIPS的读者,下面是一些例子。 /* this is a comment */ #so is this entrypoint: #this''s a label addu $1, $2, $3 # (registers) $1 = $2 + $3 与大多数汇编语言一样, MIPS汇编语言也是以行为单位的。每一行的结束是一个指 令的结束,并且忽略任何“#”之后的内容,认为是注释。在一行里可以有多条指令。 指令之间要用分号“;”隔开。 一个符号(label)是一个后面跟着冒号“:”的字。符号可以是任何字符串的组合。 符号被用来定义一段代码的入口和定义数据段的一个存储...
>> 阅读全文
|
|
mermaid |
701 |
2009-6-25 |
|
中国软件行业协会嵌入式系统分会2009年暑期项目实战训练营之师资培训班正在招募中,训练营以项目实战的形式,基于行业热门的应用案例,融拓展游戏、项目小组竞赛等方式,增加相关企业参观、工程师联谊等活动,让老师从教学实践、最新咨询、行业应用等各个方面得到收获。具体安排如下,欢迎老师选择相应模块报名。课程模块课程名称起止时间上课地点剩余名额课程价格模块A实战项目(Linux)师训班--基于Web远程控制系统(I)7月8日-15日(5天)北京额满2200模块B实战项目(WinCE)师训班--基于PMP电子相册应用案例7月11日-16日(6天)天津20人2500模块C实战项目(WinCE)师训班--基于PMP物流配送系统7月27日-8月7日(12天)上海少量余额5800(赠送PMP实训包一套)模块D实战项目(Linux)师训班--基于Web的远程控制系统(II)7月27日-8月7日(12天)上海少量余额5800(赠送WebServer实训包一套)模块E实战项目(WinCE)师训班--基于PMP电子相册应用案例8月23日—28日(6天)福州20人2500备注:1.考核合格发放中国软件行业协会嵌入式系统分会结业证书2.费用包括免费午餐、培训资料(模块C、D赠送相应实训包设备)、嵌入式相关企业参观一次、工程师联谊聚餐一次3.具体课程介绍见附件
>> 阅读全文
|
|
mermaid |
2492 |
2009-6-24 |
|
LIB = $(obj)libdrivers.a-COBJS = 3c589.o 5701rls.o ali512x.o atmel_usart.o \+COBJS = 3c589.o 5701rls.o adm51xx_switch.o ali512x.o atmel_usart.o \ bcm570x.o bcm570x_autoneg.o cfb_console.o cfi_flash.o \ cs8900.o ct69000.o dataflash.o dc2114x.o dm9000x.o \ e1000.o eepro100.o \diff --git a/drivers/adm51xx_switch.c b/drivers/adm51xx_switch.cnew file mode 100755index 0000000..dfdf17f--- /dev/null+++ b/drivers/adm51xx_switch.c@@ -0,0 +1,592 @@+/*+ * adm51xx_eth.c -- Ethernet driver for ADM5120, ADM5106 (untested)+ * and possibly more SoCs+ *+ * Copyright (c) 2006 SATO Masuhiro thomas@fenix.ne.jp>+ *+ * See file CREDITS for list of people who contributed to this+ * project.+ *+ * This program is free software; you can redistribute it and/or+ * modify it under the ter...
>> 阅读全文
|
|
mermaid |
1477 |
2009-6-24 |
|
diff --git a/MAKEALL b/MAKEALLindex 74bf383..033b077 100755--- a/MAKEALL+++ b/MAKEALL@@ -249,7 +249,7 @@ ########################################## MIPS Systems (little endian)#########################################################################-LIST_mips4kc_el=""+LIST_mips4kc_el="adm5120"LIST_mips5kc_el=""diff --git a/Makefile b/Makefileindex d2534ab..592fd50 100644--- a/Makefile+++ b/Makefile@@ -2121,6 +2121,11 @@ incaip_config: unconfigtb0229_config: unconfig @$(MKCONFIG) $(@:_config=) mips mips tb0229+adm5120_config: unconfig+ @mkdir -p $(obj)include+ @ >$(obj)include/config.h+ @$(MKCONFIG) $(@:_config=) mips mips adm5120+########################################################################### MIPS32 AU1X00#########################################################################diff --git a/board/adm5120/Makefile b/board/adm5120/Makefilenew file mode 100644index 0000000..20ef1be--- /dev/null+++...
>> 阅读全文
|
|
博文视点(北京) |
3832 |
2009-6-9 |
|
C语言程序的段段的分类 根据C语言的特点,每一个源程序生成的目标代码将包含源程序所需要表达的所有信息和功能。目标代码中各段生成情况如下:1.代码段(Code) 代码段由程序中的各个函数产生,函数的每一个语句将最终经过编译和汇编生成二进制机器代码(具体生成哪种体系结构的机器代码由编译器决定)。 ? 顺序代码 基本数学运算(+,-),逻辑运算(&&,||),位运算(&,|,^)等都属于顺序代码。 ? 选择代码 >> 阅读全文
|
|
博文视点(北京) |
760 |
2009-6-8 |
|
注意事项 数据库引擎问题 如果你要将现有的数据库转移到MySQL集群中,那么请将数据表的格式由MyISAM或InnoDB改为NDBCLUSTER。转换的方法,请阅读MySQL的官方文档:http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-multi-load-data-queries.html 否则,可能会遇到意想不到的问题,比如要添加MySQL用户,就必须在每个NDB节点上添加,等等。 内存问题 NDB把所有数据存放在内存中,所以你需要为NDB节点配备较大的内存。一般情况下,换算比例为1:1.1,也就是说,如果你有1GB数据库,至少要配备1.1GB内存;如果你的数据库会增长到8GB,就需要至少为服务器配备8.8GB内存。而且每个NDB节点都要做如此配置。 安全问题 该集群的MGM节点,其管理服务运行在1186端口上;NDB节点的...
>> 阅读全文
|
|
博文视点(北京) |
4173 |
2009-6-8 |
|
集群连接状态测试 首先,我们回到管理节点(mysql-mgm.mtest.com)上。在该服务器上,执行下面的命令:$ ndb_mgm 命令执行后,就会进入MGM的客户端界面,并显示mgm提示符:-- NDB Cluster -- Management Client --ndb_mgm> 在该提示符下,输入show命令,来查看当前连接状态:ndb_mgm> show 在正常情况下,应该显示如下内容:Connected to Management Server at: localhost:1186Cluster Configuration---------------------[ndbd(NDB)] 2 node(s)id=2 @192.168.1.13 (Version: 5.0.51, Nodegroup: 0)id=3 @192.168.1.14 (Version: 5.0.51,...
>> 阅读全文
|
|
博文视点(北京) |
481 |
2009-6-5 |
|
安装MySQL 在mysql-data1和mysql-data2两台服务器上,分别安装MySQL服务器: $ sudo apt-get update install mysql-server 安装时,安装程序会要求你设置MySQL的root口令。请设置好,并记住该口令。 程序安装完成后,请先停止MySQL服务: $ sudo /etc/init.d/mysql stop 配置my.cnf 在mysql-data1和mysql-data2两台服务器上,要执行相同的操作。 首先,备份原有的/etc/mysql/my.cnf: >> 阅读全文
|
|
博文视点(北京) |
1140 |
2009-6-5 |
|
本书是第一本全面介绍Ubuntu Linux Server的中文书籍,是作者10多年实战经验的结晶;从构思到出版,花费作者近3年时间。无论您是初学者还是Linux高手,都能从中获益。 在内容上,本书基本上涉猎到了Linux服务器的各方面常见应用。“最佳方案”是本书的特色。对于每一种应用,作者都不是泛泛而谈,而是推荐一个“最佳方案”——从硬件服务器的选型到Linux入门,从LAMP到Tomcat,从代理服务器到邮件服务器,从DHCP到DNS,从Samba到虚拟化,从负载均衡到远程控制,从RAID到LVM再到系统安全——不管您是在校学生还是在职Linux管理员,不管您是小公司还是大企业,都可以直接复制本书内容,在最短的时间内您就可以架设起自己的最佳Linux服务器。 拥有本书,您就拥有了一位具有10年经验的资深Linux管理员和开发者的最佳实战方案,有如专家亲临现场、全程陪护,让您在工作中胸有成竹,...
>> 阅读全文
|
|
博文视点(北京) |
4733 |
2009-6-5 |
|
如何设计方案?”前 言“我们的服务器用的软RAID,现在硬盘不够了,需要添加新硬盘,请问应该怎么做?”“我们发现服务器被入侵了,请问应该怎么做?”“目前Web和数据库在同一台服务器上,可是由于我们的企业发展得太快,现在服务器不够用了,计划增加两台服务器,请问您如何设计方案?”——面试“Linux系统管理员”时可能会被问到的问题近年来,Linux(尤其是Ubuntu)一直保持上升势头,据说目前中国的Linux人才缺口已经达到120万!在2008年开始的全球经济大萧条中,虽然各大公司都在裁员,但是我相信,一个真正优秀的Linux系统管理员,是任何公司都不可能轻易解聘的;不知有多少大大小小的公司,正在如饥似渴地募求Linux人才,却常常慨叹一才难求!我在帮助朋友的公司招聘Linux系统管理员时,发现一个问题:很多人只是对桌面系统很熟悉,却不熟悉Linux服务器;有的人虽然熟悉,却不深入,不精通。本书正是帮助您迅速提高Linux服务器管理技能和经验的绝佳教材。本书的特色您拨打家电服务电话时,可能会听到下面的语音:“普通话请按1,English press 2。”“个人服务请按1,企业客户请按2。”“小家电请按1,电冰箱请按2,空调器请...
>> 阅读全文
|
|
博文视点(北京) |
388 |
2009-6-5 |
|
一年后的今天重读《梦断代码》有感 一年之前的今天我在书店看到了《梦断代码》这本书,这本很早就在网上关注过的图书,当即就买下了,经过几天的挑灯夜读算是完成了第一遍的阅读,在余味未尽之时读了第二遍,对于书中说到的故事,看似说的是一个软件,其实说的大千软件,看似说一事,其实是说百事,作为软件开发行业的人员是深有体会的。 前两天在整理自己的书柜时,又翻到了这本曾经让自己彻夜挑灯夜读的书——《梦断代码》,回忆起当时自己第一次阅读到本书的时候的心情,当时是多么的激动和感慨。 花费了那么多的时间和经历,人力、财力及物力,换到的却是最终的失败,让人甚是惋惜和同情。想想发生在自己身边的事情,何尝不是如此的,虽然不如书中主人翁那样的花费,但是作为个人而言,有些事情的失败就已经可以是致命的了。 在整理书柜的时候,我又把这本书放到我们的书桌上,这几天又花了一点时...
>> 阅读全文
|
|
博文视点(北京) |
1992 |
2009-6-4 |
|
完整的代码3.3.1 完整的分发函数 下面基于前面的描述,我们再尝试编写一个分发函数。这个函数处理所有串口的写请求,所有从串口输出的数据都用DbgPrint打印出来。也就是说,读者打开DbgView.exe,就可以看到串口的输出数据了。这当然不如一些比较专业的串口嗅探软件好,但是读者可以以这个例子为基础开发更专业的工具。NTSTATUS ccpDispatch(PDEVICE_OBJECT device,PIRP irp){ PIO_STACK_LOCATION irpsp = IoGetCurrentIrpStackLocation(irp); NTSTATUS status; ULONG i,j; // 首先要知道发送给了哪个设备。设备最多一共有CCP_MAX_COM_ID // 个,是前面的代码保存好的,都在s_fltobj中 for(i=0;i { if(s_flto...
>> 阅读全文
|
|
博文视点(北京) |
7145 |
2009-6-4 |
|
设备绑定的内核API之一 进行过滤的最主要的方法是对一个设备对象(Device Object)进行绑定。读者可以想象,Windows系统之所以可以运作,是因为Windows中已经存在许多提供了各种功能的设备对象。这些设备对象接收请求,并完成实际硬件的功能。我们可以首先认为:一个真实的设备对应一个设备对象(虽然实际对应关系可能复杂得多)。通过编程可以生成一个虚拟的设备对象,并“绑定”(Attach)在一个真实的设备上。一旦绑定,则本来操作系统发送给真实设备的请求,就会首先发送到这个虚拟设备。 下面结合代码进行讲解。读者可能希望编译执行这些代码,驱动的初学者请先阅读本书第1章,以便学会如何安装开发环境、编译代码和调试程序。 在WDK中,有多个内核API能实现绑定功能。下面是其中一个函数的原型:NTSTATUS IoAttachDevice( >> 阅读全文
|
|
博文视点(北京) |
1427 |
2009-6-3 |
|
无处不在的内核模块 位于高2G空间内的操作系统内核,并非做死的一个巨大程序。因为计算机硬件种类繁多,不可能做出一个能支持所有硬件的巨大内核。 内核是有接口的,微软提供规定的格式,让硬件驱动的编程人员,能按照规定的格式编写“驱动程序”。这些驱动程序能够作为模块加载到内核中,成为内核的一部分,这样内核只要简单地安装驱动程序,就可以适应各种不同的硬件了。 本书中的大部分例子都是编译成内核模块的,实际上也可以称为驱动程序(Driver)。但是它们大部分并不驱动任何硬件,有人称之为“软件驱动”。但是笔者认为这不够贴切,所以本书使用Linux程序员们的叫法,称之为内核模块(Kernel module)。也许这样要更贴切一些,驱动程序可以看成内核模块的一种(少量的应用层驱动程序除外)。 内核模块...
>> 阅读全文
|
|
博文视点(北京) |
596 |
2009-6-3 |
|
编写程序也需要在实战中成长本文摘自青软实训《在实战中成长》丛 书 序 前几天,应青软实训技术研发中心老师的邀请为青软实训《在实战中成长》丛书写序,让我想起了三年前的这个时候。当时,为了更好地解决大学生的动手实践能力与企业需求之间存在差距的问题,在相关政府、高校、软件企业等各方的协助及大力支持下,成立了青软实训。 现在,从青软实训走出的学员遍布了北京、上海、大连、青岛等全国各地的软件企业,我和我的同仁在体会到快乐的同时,也感受到了深深的责任感。我们发现,虽然学员在实训中学习的时间只有短短的几个月,但我们带给学员的技术课程、对学员进行的综合素养的训练、与学员的沟通交流以及指导学员完成的项目等都有会对他们今后的职业发展产生影响。 正是基于这样的责任感,才让我们不断地思考,通过什么样的方式才能让作为初学者的学员学好软件开发技术。青软实训的讲师都是...
>> 阅读全文
|