学习 WinCE 的路线

wince学习教程(中文) wince学习教程wince学习教程wince学习教程wince学习教程wince学习教程 立即下载

正在虚拟机上安装VS2010,得空看看优快云论坛上的文章,这篇关于WinCe的学习路线的文章有益与想接触WinCe的人士。我也是在前段时间做过一些WinCE的工作。特此转帖。

与桌面操作系统和服务器操作系统下的软件开发不同,为嵌入式操作系统开发软件可不只是写写应用程序那么简单。我们常常要深入到内核,甚至要深入到硬件。根据不同的开发层面,我们把Windows CE 下的嵌入式软件开发者分为下面三类:

第一类我们称之为应用程序开发者。
此类开发人员与传统的通用操作系统下的应用开发人员比较相似。他们通常是利用操作系统提供的API(Application Programming Interface,应用程序编写接口),应用程序库(例如C 运行时库,Visual Basic 运行时库)或应用开发框架(例如J2EE 与.NET Framework)来编写代码。他们开发的代码通常运行在用户态,无需直接对硬件进行操作。他们所关注的是通常是应用功能和业务逻辑的实现。此外,他们的程序通常是直接与最终用户打交道的。

第二类是操作系统平台的提供者。
此类开发人员的主要职责是针对具体的应用环境,对嵌入式操作系统进行裁减,向第一类开发人员提供应用程序运行的平台。他们通常要对所裁减的操作系统的各个模块的功能了如指掌,这样才可以针对具体的应用环境,搭建出合适的平台,使资源达到最节省。例如,一个运行在自动取款机上的嵌入式操作系统应不应该加入MPEG4 播放模块,管理数码相机的嵌入式操作系统中“蓝牙”网络协议栈是否必要……。此外,为了满足应用需求,他们有可能还需要对所裁减的嵌入式操作系统进行一些扩充,增加嵌入式操作系统所不支持的功能,编写一些比较上层的驱动程序通常是必要的。例如,用于视频会议的嵌入式系统要用到USB 摄像头的支持,如果该嵌入式系统没有提供USB 摄像头的驱动程序,就需要此类开发者来提供。在现实的世界中,除了微软向外界提供Windows Mobile和Windows Automotive,还没有发现有公司专门定制操作系统。一般这类角色通常都由第一类或第三类开发人员兼任。

第三类是内核/驱动开发者。
嵌入式操作系统与通用操作系统最显著的区别之一是它的可移植性。一款嵌入式操作系统通常可以运行在不同体系结构的处理器和开发板上。为了使嵌入式操作系统可以在某块具体的开发板上运行,嵌入式操作系统的编写者通常无法一次性完成整个操作系统的代码,而把一部份与具体硬件设备相关的代码作为抽象的接口保留出来,给提供硬件的OEM 厂商来完成。这样才可以保证整个操作系统的可移植性。这些代码通常是BSP(Board Support Package,板级支持包)的一部分。例如,不同的处理器和开发板通常都会提供时钟支持,用来得到当前的时间日期,但是时钟的实现方式却不胜枚举,如何告诉嵌入式操作系统当前的时间,就是此类开发人员要解决的任务。这一类开发人员不但要对嵌入式操作系统提供的硬件接口了如指掌,还要对操作系统运行的硬件有极为深入的了解。有可能此类开发人员会同时身兼软件工程师和硬件工程师双种身份——让嵌入式操作系统在自己设计的硬件平台上运行起来。

通常第一类软件开发者的数目最多,第三类软件开发者的数目最为稀少。从软件角度来看,一般把应用开发称作上层开发,而把驱动等系统开发称作底层开发。所以,这三类软件开发者的结构通常呈现出“倒三角型”。

就目前国内市场上来看,无论是应用开发还是内核/驱动开发都有良好的前途(钱途)。国内基于Windows CE的应用程序开发主要集中在Windows Mobile这一块,也就是给Pocket PC和Smartphone开发应用程序。此外,还会有一些公司需要开发Windows CE的BSP和驱动程序。从报酬来看自然是后者要高于前者,这个与开发难度是成正比的。
但是应用开发与内核/驱动开发都有自己的知识体系,而且它们的交集并不多。如果两者兼顾可能需要花费大量的时间与精力。建议学习Windows CE的人根据自己的喜好对这两者进行选择,对自己的能力有12分自信的则可以“通吃”。

Q:学习Windows CE需要哪些基础知识?"
根据学习方向的不同,基础知识的要求也不同。
如果立志做一个优秀的Windows CE下的应用开发人员,则不需要了解太多的硬件,关键是要对应用程序开发接口,包含Win32 API,.NET Compact Framework等有详尽的了解。因此,如果有桌面Windows开发的经验自然是最好的。例如C / C++语言,Windows程序设计经验。.NET开发经验等等。
如果要做一个内核/驱动开发人员,则一方面需要了解操作系统的基本原理,另一方面需要了解一些硬件的工作原理等知识。因为无论是编写BSP还是编写驱动程序,都需要直接对硬件打交道。具体而言,可能有如下一些知识:汇编语言(ARM,X86)。微机原理,组成原理,操作系统……,

手把手教你:在openEuler 22.03上离线搞定OpenSSH 9.8升级(CentOS 7.9通用) 本文详细介绍了在openEuler 22.03和CentOS 7.9系统上离线升级OpenSSH 9.8的完整流程,包括准备工作、离线包获取、安装步骤、服务管理及回滚方案。特别针对无外网环境的企业服务器,提供安全可靠的离线升级解决方案,帮助运维人员有效提升系统安全性。 阅读详情

相关推荐

REALTEK PKE8710ECF开发板入手试玩(一)

REALTEK PKE8710ECF开发板入手试玩

lbqhope的专栏 691

介绍一下Windows CE的学习路线 (转)

Q:学习Windows CE的方向有哪些?与桌面操作系统和服务器操作系统下的软件开发不同,为嵌入式操作系统开发软件可不只是写写应用程序那么简单。我们常常要深入到内核,甚至要深入到硬件。根据不同的开发层面,我们把Windows CE 下的嵌入式软件开发者分为下面三类:第一类我们称之为应用程序开发者。此类开发人员与传统的通用操作系统下的应用开发人员比较相似。他们通常是利用操作系统提供的API(Appl

轩辕剑仙的专栏 1188

揭秘N531:这颗不到2毛钱的国产栅极驱动器,如何成为功率开关的“全能搭档”?

本文深入解析了国产栅极驱动器N531如何成为功率开关的“全能搭档”。针对MOSFET和IGBT等电压驱动器件在实际应用中需要大电流实现快速开关的核心痛点,N531凭借±500mA的强劲驱动能力、宽电压供电及高兼容性,有效降低开关损耗,提升系统效率与可靠性。文章通过实战案例与设计指南,阐述了这颗高性价比芯片在简化设计、降低成本方面的显著优势。

z5a6b的博客 620

解读vs2003、vs2005、vs2008开发Windows CE环境、默认SDK开发包及测试

转载自: http://swanmsg.i.sohu.com/blog/view/184427819.htm 以前做过一些嵌入式开发,那么从以前做产品、做项目设计到嵌入式的开发,零碎时间累计到现在也有一年载已。本人对技术总结有点懒散,常常学过的东西,并没有很快的总结或者写出来,以便以后查阅使用;经常项目需要时,临时抱佛脚,到处乱找以前做过的东西或总结的东西,实在惭愧。 在真正开始讲解

wmqdn的专栏 6185

山东大学FPGA课程实验一 加法器设计

电子设计自动化与FPGA设计,实验一 加法器设计

2503_91283667的博客 869

BAPI_REPMANCONF1_CREATE_MTS实战:从MFBF事务码到精准零件反冲的代码级解析

本文深入解析了如何通过BAPI_REPMANCONF1_CREATE_MTS函数实现SAP生产模块中的零件反冲自动化。文章对比了MFBF事务码的手动操作与BAPI编程的优劣,详细拆解了函数的核心参数、数据结构、调用流程及事务控制,并提供了从数据准备到凭证获取的完整代码示例与避坑指南,帮助开发者实现高效、精准的批量投料过账。

weixin_29240343的博客 189

WinCE学习路线

使用WinCE ---> WinCE系统编程开发 ---> WinCE驱动开发、分析WinCE内核使用WinCE:基本上与Windows系统相同的环境。WinCE系统编程开发:eMbedded Visual C++ 4.0,与VC++6.0几乎一模一样的集成开发环境,可进行基于嵌入式的WinCE平台的应用软件开发。WinCE驱动开发、分析WinCE内核:Plat

昔日之的专栏 1549

[DDR5]DDR5 SDRAM 状态图 和 基本功能

DDR5 SDRAM的读写操作以突发(burst mode)为导向,从选定的位置开始,并按照编程顺序进行16个突发长度或8个“切片”突发长度的操作。从ACTIVATE命令开始,然后是读取或写入命令。

串起点滴 1200

WINCE学习路线图

首先,WinCE要跑在硬件上,所以我建议一定要学习ARM的体系结构,弄明白里面的一些基本原理,比如处理器模式、寄存器设置、异常系统以及存储系统等等。 参考书籍:《ARM体系结构与编程》---杜春雷                     《ARM嵌入式系统开发:软件设计与优化》--大牛推荐         其次,学习WinCE的应用程序编程,了解Win32的系统架构,这部分只要了

feilongzaitianhehe的专栏 624

SIWAVE+ADS提取PCB走线寄生参数

本文将介绍一种很适合PCB走线提取寄生电感等参数的方法,即是通过SIWAVE将PCB走线的S参数提取出来,再通过ADS将S参数转换成电感、电容值。

sinat_15150363的博客 1764

用Virtuoso和Abstract完成gds2lef

需要用到的工具有virtuoso和abstract。 数模混合的项目通常需要模拟完成模块设计,把接去数字的pin打上label(text),数字的floorplan才能正式开始。 如果只需要简单的数字PR boundary和pin点位置,那么只使用virtuoso就够了,还想把模拟版图都转成lef就要用到abstract工具。 1.PR boundary+pin 1)在virtuoso中打开layout a) Gui操作: Create->P&R Objects->

m0_61544122的博客 8738

wince学习路线

学习wince也是有段时间了,现在我从懵懵懂懂到现在一知半解,我想给自己安排点学习的路线,这样我就会不想再茫茫的大海上迷失了方向。首先我觉得应该学点应用程序的东西,我们要是做底层的懂是给应用层使用,对应用不了解,你怎么知道你的底层程序写的能不能使用呢?通过应用程序要调用什么,要操作什么,注册表了读了什么。我们到时候写驱动的时候就要提供什么。   要是做底层,我感觉硬件是逼不可少的。我的操作是基于

wuan584974722的专栏 550

03 - AMDGPU驱动架构概览

本文介绍了AMDGPU驱动的整体架构,重点分析其图形驱动(AMDGPU)和计算驱动(KFD)的双重结构。KFD驱动作为HSA架构的核心组件,包含进程管理、设备管理等模块,其中SVM功能在kfd_svm.c实现。文章详细解析了KFD的核心组件、初始化流程及字符设备接口,并阐述了TTM框架在GPU内存管理中的作用。通过架构图和代码片段展示了AMDGPU与KFD的协作机制,为后续深入理解SVM实现奠定基础。

图形/计算GPU的驱动与虚拟化技术分享园地 3362

个人心得:wince学习路线

个人心得:wince学习路线与桌面操作系统和服务器操作系统下的软件开发不同,为嵌入式操作系统开发软件可不只是写写应用程序那么简单。我们常常要深入到内核,甚至要深入到硬件。根据不同的开发层面,我们把Windows CE 下的嵌入式软件开发者分为下面三类: 第一类我们称之为应用程序开发者。 此类开发人员与传统的通用操作系统下的应用开发人员比较相似。他们通常是利用操作系统提供的API(Applica

北落师门'的专栏 1126

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

wince 软件_我的嵌入式软件学习路线

嵌入式学习是一个循序渐进的过程,如果是希望往嵌入式软件方向发展的话,目前最常见的是嵌入式Linux方向,关于这个方向,信盈达工程师认为大概分3个阶段1嵌入式Linux上层应用,包括QT的GUI开发2嵌入式Linux系统开发3嵌入式Linux驱动嵌入式目前主要面向的几个操作系统是,Linux,WINCE、VxWorks等等。Linux是开源免费的,而且其源代码是开放的,更加适...

weixin_39830303的博客 227

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

wince 软件_嵌入式软件学习路线图

嵌入式学习是一个循序渐进的过程,如果是希望向嵌入式软件方向发展的话,目前最常见的是嵌入式Linux方向,关注这个方向,信盈达工程师认为大概分3个阶段:(1) 嵌入式Linux上层应用,包括QT的GUI开发(2) 嵌入式Linux系统开发(3) 嵌入式Linux驱动嵌入式目前主要面向的几个操作系统是,Linux,WINCE、VxWorks等等。Linux是开源免费的,而且其源代码是开放的,更加适合我...

weixin_39851457的博客 68

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

想成为嵌入式软件工程师的新手可以看看

时下有非常多时髦的名词,嵌入式工程师,3G开发工程师,ANDROID开发工程师等等。 这些名词我想十有八九是一些培训机构发明的。不是说培训机构不好,培训机构针对市场的要求提出一个名词,然后有针对性的开相应的课程没有啥不对。 但是我知道,大家,尤其是想进入软件开发这张门而尚未进入的新手,很容易被一些花哨的名词给搞混。 在这里我给大家说说我个人的看法。 首谈嵌入式了: 其实剥掉外面这层华丽的...

javababy1 178

关于嵌入式系统的学习路线图

来源:本文乃同济大学软件学院王院长(JacksonWan)在同济网论坛发表的帖子《谈谈软件学院高年级同学的学习方向》的第二部分。三部分依次为:一、关于企业计算方向;二、关于嵌入式系统方向;三、关于游戏软件方向。 嵌入式系统方向 嵌入式系统无疑是当前最热门最有发展前

kevinhg的博客 2万+

嵌入式软件学习路线图

嵌入式学习是一个循序渐进的过程,如果是希望向嵌入式软件方向发展的话,目前最常见的是嵌入式Linux方向,关注这个方向,我认为大概分3个阶段: 1、嵌入式Linux上层应用,包括QT的GUI开发 2、嵌入式Linux系统开发 3、嵌入式Linux驱动 嵌入式目前主要面向的几个操作系统是,Linux,WINCE、VxWorks等等。 Linux是开源免费的,而且其源代码是开放的,...

manyouxianfeng的专栏 886

天呐!java从键盘给数组赋值

开头 该文档在Github上收获5K+star的Java核心神技(这参数,质量多高就不用我多说了吧)非常全面,包含基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty 与RPC 、Kafka、日记、设计模式、Java算法、数据库、Zookeeper、分布式缓存、数据结构等等内容非常丰富,已经帮很多人拿下互联网一线公司的offer。 关于程序员,除了做项目来提高自身的技术之外,还有一种提升自己的专业技能就是:多!看!书! 好好吃透消化,让你面试跳槽不再心慌! 由于细节内容实在

m0_57771875的博客 1286

嵌入式软件学习路线图!

嵌入式学习是一个循序渐进的过程,如果是希望向嵌入式软件方向发展的话,目前最常见的是嵌入式Linux方向,关注这个方向,我认为大概分3个阶段: 1、嵌入式Linux上层应用,包括QT的GUI开发 2、嵌入式Linux系统开发 3、嵌入式Linux驱动   嵌入式目前主要面向的几个操作系统是,Linux,WINCE、VxWorks等等。   Linux是开源免费的,而且其源代码是开放的,

dilireba的博客 7990

车载导航WINCE6.0通刷包:轻松升级车载导航系统

车载导航WINCE6.0通刷包:轻松升级车载导航系统 【下载地址】车载导航WINCE6.0通刷包 这是一款专为纽曼车机设计的WINCE6.0通用刷机包,旨在帮助用户轻松升级或修复车载导航设备。刷机包简单易用,只需确保设备支持WINCE6.0系统,按照步骤操作即可完成刷机。刷机过程需谨慎,建议备份重要数据,并在专业人士指导...

gitblog_06743的博客 3361
上一篇: 接触DriverStudio第一天。
下一篇: 初次接触WinDriver
FroSuccess
博客等级 码龄15年 4粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值