个人心得:wince学习路线

嵌入式新手学习路线,嵌入式课程学习 嵌入式开发就是指在嵌入式操作系统下进行开发,一般常用的系统有WinCE,ucos,vxworks,linux,android等。另外,用c,c++或汇编开发;用高级处理器,arm7,arm9,arm11,powerpc,mips,mipsel等,或加上操作系统也属于嵌入式的开发。想学习嵌入式,你得先了解嵌入式是什么。有一份完整的嵌入式课程学习路线图才能更好的去学习这门技术。 嵌入式系统(Embedded System)是指以应用为中心、以计算机技术为基础,软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体 阅读详情
个人心得: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)。微机原理,组成原理,操作系统……,
Q:学习Windows CE如何达到快速入门"
快速入门唯一的办法是参加嵌入式培训班,比如海同嵌入式培训班(www.iotek.com.cn),这样有老师手把手的指导学习,同时学习关键的项目实训,所以学习重要是勤动手,多问问题。
Q:目前有哪些比较好的参考书?
由于Windows CE最近几年才开始流行,所以市场上的参考书并不是很多,最好的资料还是Windows CE自带的帮助文档。下面几本书可以读一下:
《Windows CE内核定制及应用程序开发》:以Windows CE 4.2为蓝本,基本上是一本platform builder的用户手册。可以熟悉PB,对熟悉内核和驱动帮助不大。
《Windows CE嵌入式开发入门--基于Xscale架构》:看目录非常不错,但是我没有看过书的具体内容。
《WINDOWS CE实用开发技术》:作者是北京交通大学的张冬全老师,张老师在国内Win CE培训方面很有名气,可惜我也没有读过这本书,看目录很好。
《Windows CE.NET系统分析及实验教程》陈向群老师的作品,主要是分析Windows CE开放的部分的源代码,适合想知道CE底层的人阅读。
来源:
http://bbs.ic37.com/bbsview-1605.htm
wince学习教程(中文) wince学习教程wince学习教程wince学习教程wince学习教程wince学习教程 立即下载

相关推荐

MDK开发篇:基于立创逻辑派FPGA-G1与Cortex-M1软核的按键控制LED实战

本文详细介绍了基于立创逻辑派FPGA-G1开发板与高云Cortex-M1软核的完整开发流程。通过Gowin云源软件配置软核系统与GPIO外设,并在Keil MDK环境中编写按键控制LED的C程序,最终实现程序固化与上电自启动。教程涵盖硬件配置、软件开发、在线调试与固化部署全步骤,帮助STM32开发者快速上手FPGA软核开发。

weixin_42103128的博客 149

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

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

轩辕剑仙的专栏 1188

SAP BASIS运维之三方SSL证书导入

事情的起因是我司SAP使用的SSL证书即将要到期了(上一个的SAP BASIS也辞职了),需要进行证书的更换。如上图所示,我司的证书有效期到2024年4月30日到期,需要提前预防并更换,防止过期后导致接口和访问出现问题。9.在弹出的框中,选择我们在第5个步骤中导出的转换结果存储地址,并选择导出的转换文件,点打开。12.最后一步也是关键的一步,不然就会无法更新证书,再点击左上角的个人安全环境,点另存为。10.在打开后的弹窗中,输入我们在第4个步骤中设置的密码。6.经过以上步骤后,我们获得了最终的证书文件。

fegda的专栏 1885

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

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

wmqdn的专栏 6185

【硬件开源实战】STM32G070RBT6开发板从设计到避坑全解析

本文全面解析了STM32G070RBT6开发板从硬件设计到避坑的实战经验。详细介绍了电源设计、时钟电路、PCB布局等关键环节,分享了成本控制、焊接测试、软件开发和外设驱动的实用技巧,帮助开发者高效完成项目开发。

weixin_26897585的博客 239

pi/4QPSK调制解调原理

文章目录1. π/4\pi/4π/4QPSK 信号的调制原理2. 匹配滤波器与成形滤波器 1. π/4\pi/4π/4QPSK 信号的调制原理 减小相位突变量的QPSK由偏置键控QPSK(OK-QPSK)和 π/4\pi/4π/4偏置的QPSK( π/4\pi/4π/4QPSK)。由于 π/4\pi/4π/4QPSK是用差分相位编码产生的(因此也叫做 π/4\pi/4π/4DQPSK),能有效地进行差分解调和鉴频器解调,在一些不易提取相干载波的场合很有用。 在常规的QPSK中,输入数据经过串/并变换后,分成

gemengxia的博客 2万+

WinCE学习路线

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

昔日之的专栏 1550

AD9371实战:如何用ZCU106搭建JESD204B TX时钟链(含关键参数计算)

本文详细解析了如何基于Xilinx ZCU106开发板为AD9371搭建JESD204B TX时钟链。文章从系统需求出发,逐步推导出从IQ采样率到GTH线速率的关键参数计算公式,并提供了在Vivado中配置GTH收发器(包括QPLL选择、分频比设置)的实战步骤与调试技巧,旨在帮助硬件工程师快速实现稳定可靠的JESD204B高速数据传输链路。

weixin_29164843的博客 293

wince学习路线

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

wuan584974722的专栏 550

医疗器械软件测试输出内容(1)

*单元测试(Unit Testing):**单元测试是软件测试的最底层,用于验证软件中最小的可测试单元——函数、方法或模块。系统测试是在集成测试之后进行的,它对整个系统进行测试,验证系统在不同部分集成在一起后是否满足需求和规格。: 集成测试是在单元测试之后进行的,它关注不同单元之间的交互和集成。对于不同安全级别的软件(IEC 62304 A类、B类、C类),在体系上要求输出的文件内容有所区别。**说明:**将集成测试和软件系统测试合并为一项单一的计划和一组活动是可接收的。

ct745363083的博客 1867

Vue 网络处理 - axios 异步请求的使用,请求响应拦截器(最佳实践)

axios 用来在前端页面发起一个异步请求,请求之后页面不动,响应回来刷新局部.1.为什么不使用 ajax 呢?官方:在 jQuery 中推荐使用 ajax 技术, Vue 里面不推荐使用 jQuery 框架,因此 Vue 更推荐使用 axiox 异步请求库(axios并不是 vue 官方库).2.axios 特性可以从浏览器中创建 XMLHttpRequests可以从 node.js 中创建 http 请求.支持 Promise API.支持拦截请求和响应.转换请求数据和响应数据.

CYK_byte的博客 1万+

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

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

weixin_39830303的博客 227

虚拟网络的“隐形盾”:C#如何用代码把DDoS踢出门?

本文分享了如何用C#防御DDoS攻击的实战经验。通过三种核心防御策略:1)基于IP的速率限制中间件,使用滑动时间窗口算法控制请求流量;2)自动IP封禁服务,通过特征检测识别恶意IP并加入黑名单;3)优化数据库连接池和HTTP客户端连接池,合理配置资源参数。文中提供了详细的C#代码实现,包括限流中间件、IP封禁服务和连接池优化方案,并分享了生产环境中的调优经验,如配合Redis实现分布式限流、使用fail2ban自动封禁等技巧,帮助开发者构建更健壮的防御体系。

墨夶的博客 329

Android Input事件分发全链路解析:从硬件中断到MotionEvent

Input事件是Android交互体验的底层基石,其本质是将硬件产生的原始输入信号(如触摸、按键)经内核驱动、HAL层、Native服务、Java框架,最终转化为应用可处理的MotionEvent或KeyEvent。该过程涉及Linux input子系统、InputReader事件采集、InputDispatcher窗口路由、ViewRootImpl跨进程投递及View体系分发等核心机制。理解其五层架构与时间敏感性(如16ms采样周期、VSYNC对齐),对解决触摸延迟、手势冲突、ANR及定制化输入行为(如游

weixin_33842304的博客 227

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

嵌入式学习路线

☞☞☞点击查看更多优秀Python博客☜☜☜    Hello大家好,我是你们的朋友JamesBin这篇文章我们一起学习一下学习Python到爬虫的一个基本框架。 嵌入式学习路线推荐路线ARM+LINUX路线方法步骤   嵌入式学习是一个循序渐进的过程,如果是希望向嵌入式软件方向发展的话,目前最常见的是嵌入式Linux方向,关注这个方向,我认为大概分3个阶段: (1) 嵌入式Li...

让技术没有门槛 5003

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

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

一点一滴学开发M8程序(一)--------初如WinCE

学习M8程序的开发,入门说低很底,说高很高,为什么这么说吗?如果你是一个有过VC++开发经验的人(如果还会MFC),那相对简单,简直可以说是没什么可学的了,如果没有,呵呵~那就学习下面的内容:1C++语言2VC++(VC.net也一样)3M8 API从上面就可以看出其实M8开发,就是Window的开发(是移动版本)。M8是一个由MZ 封装了WinCE系统得来的系统,叫MyMob

香烟草堂 797

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

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

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

weixin_39851457的博客 68

学习路线

<br />1:这个星期熟悉完candence软件(业余时间)<br />2:下个星期学习candence的布线规则(业余时间)<br />3:着手高数pcb的布线,画一个400mhz的电路板基于AT91SAM9G20CU的cpu(业余时间)<br />4:了解原理图 画出漂亮的pcb 向高速进军(业余时间)<br />5:好好深入研究wince (上班时间)有时间搞搞linux (业余时间)<br />6:提高在csdn的专家威信 做好我的第二经济职业 打破僵局<br />7:提高外语水平<br />8:

工匠 669

学习 WinCE 的路线

正在虚拟机上安装VS2010,得空看看优快云论坛上的文章,这篇关于WinCe的学习路线的文章有益与想接触WinCe的人士。我也是在前段时间做过一些WinCE的工作。特此转帖。与桌面操作系统和服务器操作系统下的软件开发不同,为嵌入式操作系统开发软件可不只是写写应用程序那么简单。我们常常要深入到内核,甚至要深入到硬件。根据不同的开发层面,我们把Windows CE 下的嵌入式软件开发者分为下面三

FroSuccess的专栏 443

新手怎么学习嵌入式?分享嵌入式的开发学习路线

作为新人,要如何学习嵌入式Linux?首先您要具备基本的C语言基础,然后,您要想好学习嵌入式Linux目标是什么,是想做底层系统、还是应用开发。如果是关于底层开发,是学习Linux驱动,还是项目应用。嵌入式Linux包含4大板块bootloader,内核, 驱动程序、根文件系统,应该如...

chuigui5762的博客 254

ARM+LINUX嵌入式学习路线

以上只不过是大概的框架,在实际的开发中还会涉及很多东西,比如:交叉编译、makefile、shell脚本等等,所以说学习嵌入式的周期较长,门槛较高,自学的话更是需要较强的学习能力和专业功底。单片机还是比较简单的,等到学好之后,开始学习arm的时候,你就接触的多了,什么操作系统啊、驱动编写啊、内核移植啊、应用程序的添加啊、上位机的编写啊,,那个就多了,,不过到时候你就全知道了。不要一味钻研技术,虽然挤出时间是很难做到的,但还是要留点余地去完善其他的爱好,比如宇宙,素描、机械、管理,心理学、游戏、科幻电影。

嵌入式Linux内核的博客 5922

想学嵌入式开发怎么学?看这份超详细的嵌入式学习路线

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

qq_43311315的博客 1103
上一篇: Android高通平台处理器间通讯驱动
下一篇: 如何编写linux下nand flash驱动
beyondioi
博客等级 码龄17年 111粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值