Windows on ARM,又能咋样

- 微软

年前天MVP的内部讨论组里面就在疯传Windows for ARM已经就绪了,马上就来了。Windows CE的末日到了。

这次的CES上,果不其然,验证了。下面这张是传说的ARM Windows还可以连接打印机进行打印的图。

就算能跑,又能怎么样呢?

能打败iPad?显然不可能,成千上万的Windows就是为了鼠标键盘设计的,不符合触摸习惯。

能装在你的手机上么? 短时间不可能,Desktop Windows的电源管理模块,显然需要时间完善。

做服务器合适。ARM Server将来可以运行ASP.NET等Server,不过这个跟最终用户关系不大。你上网,你管后台服务器是linux还是windows还是arm还是x64?

做上网本合适。不过要求所有的程序都重新编译一遍,以后装软件的时候可要看仔细了:x86版,x64版,ARM版。还有可能有ARM Cortex A8版,A9版,将来的64位ARM版…看来.NET以后要大行其道了。要想写个程序都能跑,就用.NET吧,虽然性能比native差一些。

最后,Windows CE怎么办 …

more ...

另起炉灶的Windows Phone 7

  • 微软
  • 软件

作为MVP,在MIX会议还没有召开之前,就第一时间知道了微软MIX会议的内容。以及Windows Phone 7系列的最新消息。虽然之前在iPhone, Android等后起之秀的群起而攻之下,谣言四起,当事实真的来临时,不免还是唏嘘不已。

软件新版本发布中,“推倒重来,另起炉灶”和“缝缝补补又三年”是两种最常见的模式。对微软这种大公司,软件版本动辄就可以做到10以上,推倒重来的案例还真的不是很多。Windows NT这么多年了,还依然在不断发布;Office也是与以前的版本一脉相承;Visual Studio等也是一样。这次的Windows Phone 7是个例外。

从Stinger起,我就一直关注微软在手机领域的作为,并且从那时起就认定这必定是未来发展的方向,将近10年过去了。这十年中见证了无数的足迹,Pocket PC, Pocket PC phone edition, smartphone, Windows Mobile, Windows Mobile Classic/Standard/Professional …

more ...

Windows CE,你妈吗喊你在多核上玩玩

  • 嵌入式
  • 软件

众所周知,CE的内核是完全重新写的,与9x根nt没有任何关系,这给CE带来了较好的实时性及灵活性。从诞生之日起,CE的内核改过两次,第一次是3.0,极大的增强了实时性,第二次是6.0,去除了内存/应用32 / 32的限制。如此看来,貌似已经比较完美了。从6.0发布以来,我一直乐观的觉得6.0的内核应该可以至少再顶三个版本了,下次更新内核大概要到CE 9.0了(猴年马月….)。但是计划不如变化快,信息产业瞬息万变,很多预言都会被证明是很可笑的。我的这个“预言”也不例外(对在08年TechEd上听我演讲的听众说声抱歉,当时我还极力鼓吹多余的Kernel feature都是没必要的)。短短几年时间,如果现在你再问我新版本的CE要不要改内核。我会一口咬定,改,最好马上改。

个人观点,欠改的地方有两个,内存映射和SMP支持。

首先说内存映射。CE从诞生之日起就在Kernel的3GB起始处映射了2个512MB的虚拟地址。一个是有cache的,一个是没cache的。这使得CE最大的物理内存就只有512MB,512已经是理论极限了,再多了就不认了 …

more ...

.net Micro Framework拥抱开源

  • 嵌入式
  • 程序员

首先引新浪:

————————————–

11月16日消息,据国外媒体报道,微软今日在洛杉矶微软专业开发者大会(PDC)上发布了.NET Micro Framework 4.0版本,这款产品是开源的,基于Apache 2.0许可发布,并将广泛使用到嵌入式领域。

  在.NET Micro Framework的环境下,开发和执行环境资源限制的设备,最初是由微软内部的业务加速器启动,但最近移到开发部,以便更密切地与微软的发展努力的方向一致。

  这样可使.NET Micro Framework成为一个无缝的体验,使开发人员为一个单一的解决方案的广度编程模型和工具链,从小型智能设备,服务器和云。

  其中包括几乎所有的产品的源代码,包括.NET Micro Framework和CLR代码本身,开发人员都可以访问基类库那些实施了。

  不过嵌入式领域的程序员们无需高兴的太早,完整的代码并没有提供,例如关键的来自第三方EBSNet的TCP/IP协议栈以及密码系统库都无法被释放。至于Cyptography库,目前并不包括在源代码内,微软表示,因为它们的使用超出了.NET Micro Framework的范围 …

more ...

最近我在干什么?

  • 嵌入式
  • 软件

有网友反映,好久没有看到我在写关于嵌入式的技术贴了。是不是技术已经荒废了?

呵呵,最近事情的确比较多,只是抽空写一些比较短的blog,今天么,下午睡觉睡多了,晚上睡不着了。就写一些跟技术相关的东西吧。有些东西暂时处于保密阶段,就无法写的很详细了。

最近我在干什么呢?现在山寨举国横行肆虐,在“农业学大寨,工业学山寨”的号召下,俺也开始了山寨之旅。俺现在在做一个山寨版的软件,山寨的是某hu公司的某引擎。目标是把在这个引擎下能跑的小东东,都能够在Windows CE上跑起来。如果能够百分百支持的话,肯定还是有不小的市场的,至少能吸引不少眼球。

东西做了几个月了,无论自己写的,别人移植的,积攒了几十MB的代码了,完全编译一下也要5分钟了…虽然目前bug一大堆,但是还是比较有成就感的。有不少很酷的小玩意已经可以跑起来了,按套话说,填补了国内空白,达到了“国内一流,国际领先”水平。

具体coding了么,遇到的技术问题肯定不少。但是仔细想想,跟Windows CE相关的还真不多。因为几乎整个东西的架构,算法 …

more ...

第三场webcast讲座

第三场webcast了,地址如下:

MSDN Webcast – Windows Embedded从入门到精通系列课程(40):深度探索Windows CE的内存管理机制(Level 300)

http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032412283&Culture=zh-CN

这次由于没有跟MS的人沟通好,结果临时没有在美罗订到位子。只能临时在学院里面讲座了。找了个电话,结果那天不巧学院居然楼上有人装修,就通过webcast全国广播出去了…………汗……

more ...

Programming Microsoft Windows Embedded CE中文版面世!

  • 嵌入式
  • 软件

在同济大学软件学院Windows CE俱乐部同学们的大力支持下,在微软马丹同学的协助下,这本书经过一年的努力,终于出版了!!这是本人参与翻译的第一本书。

目前为止,本人著作译作一共三本,离“著作等身”还很远呢(看来武大郎著作等身最容易,个子矮在这方面有优势)。它们分别是:

1.《Windows CE嵌入式系统》第一本独立编写的技术书籍

http://www.china-pub.com/32406

2.《嵌入式软件开发导论》为了完成教育部十一五教材项目而编写的基础书籍。内容很简单。

http://www.china-pub.com/44881

  1. 《Windows CE 6.0开发者参考》,翻译的书。这本书还是挺贵的:

http://www.china-pub.com/195314

本书封面:

test

PS:如果你觉得书籍的名字翻译的都成问题,抱歉,那不是我的错 …

more ...

第二场webcast讲座

我的第二场webcast讲座。不过时间已经结束了,抱歉。还可以在线看录音录像。
Windows CE 6.0下的驱动程序新特性
其实这整个系列的讲座都挺不错的,把系列讲座的地址一起发给大家,感兴趣的同仁,可以从头挺起。
more ...

我将要在TechED上做的讲座

受MS的邀请,我将在今年的TechED上做一场关于Windows Embedded CE的报告。唉,可惜第二天还有课,否则听一天讲座多好啊。工作了,身不由己啊!
时间:2008年11月04日 星期二
地点:上海国际贵都大饭店

教您如何成为一个Windows CE开发者,在一个小时的时间里,将会系统的讲解Windows CE的背景知识、体系结构、内存架构和驱动程序,还有Windows CE的实时性、中断处理和线程优先级等高级话题的介绍。

<div>
</div>

<div>
  <a href="http://www.microsoft.com/china/technet/teched/agenda_sh.aspx">http://www.microsoft.com/china/technet …
more ...

Windows CE 6.x驱动程序的新特性

好久又没有更新博客了。这次发表一篇古文,当然不是古典文言文,只是已经在我的硬盘上放了很长时间的文章,介绍Windows CE 6的驱动程序跟以前相比的新特性。


1           
访问检查

访问检查是用来检查函数的调用者是否有足够的权限去访问传递给这个函数的内存。访问检查是很必要的,它可以防止恶意的应用程序利用驱动程序去完成需要特权才能访问的资源。设备驱动程序由于在Windows Embedded CE 6.0中处于内核空间所以是一种特权程序,可以访问很多系统的资源。而工作在用户态的应用程序却不是。如果一个应用程序利用设备驱动程序去读写系统的内存,那么设备驱动程序实际上就相当于是授予了这个应用程序高的访问权限。所以在设备驱动程序中进行访问检查可以保护操作系统的内存不受恶意应用程序的破坏。

 

Windows CE 5.0中,设备驱动程序是通过MapCallerPtr API来对指针参数和嵌套的指针参数进行访问检查的。

struct MyStruct { UCHAR *pEmbedded; DWORD dwSize; };

 

// Windows CE 5.0 and prior versions

// In XXX_IOControl…

 

MyStuct …

more ...