1.å¦ä½å®å¶VxWorksï¼
2.开发板现状和趋势
3.Wind River产品与服务
4.å¦ä½å¦ä¹ åµå
¥å¼
5.VxWorks下设备驱动程序及BSP开发指南内容简介
å¦ä½å®å¶VxWorksï¼
VxWorksæ¯ç±ç¾å½Wind River å ¬å¸æ¨åºçä¸ç§å¼ºåµå ¥å¼å®æ¶æä½ç³»ç»ï¼RTOSï¼ãå®éç¨å¾®å æ ¸ç»æï¼å ·æé«å¯é æ§ãå®æ¶æ§ãå¯è£åæ§çç¹ç¹ï¼èä¸æ¯æå¤ç§CPUãVxWorksçä¸ä¸ªéè¦ç¹ç¹æ¯å®çå¯ç§»æ¤æ§ï¼åºç¨ç¨åºç¼ç å¨å¾å¤§ç¨åº¦ä¸ä¸ç®æ æ¿ç硬件åç»ææ å ³ãå®æææç¹å®ç硬件åè½é½éæå¨ä¸ä¸ªç§°ä¹ä¸ºæ¿çº§æ¯æå BSPï¼Board Support Packageï¼çåºä¸ã
ç®å为æ¢Wind Riverå ¬å¸æä¾çåºäºæä¸CPU è¯ä¼°æ¿çBSP è¶ è¿ä¸ªï¼å½ç¨æ·å¼åèªå·±ç®æ æ¿çBSPæ¶ï¼æ¯è¾ç®åçæ¹æ³æ¯ä»ææä¾çBSPä¸éä¸ä¸ªææ¥è¿çæ¥ä¿®æ¹ãè¿éæå°çBSPç设计就æ¯æè¿ç§æ¿çº§ç对ä¾èµäºç¡¬ä»¶çæºä»£ç åå¿ è¦çä¿®æ¹ãå¢å æå é¤ï¼ä»¥æ»¡è¶³ç¹å®ç硬件ç¯å¢ã
1 BSPçæ¦å¿µ
BSP(Board Support Package,包源ââæ¿çº§æ¯æå )æ¯ä»äºåºå±ç¡¬ä»¶åä¸å±è½¯ä»¶ä¹é´çåºå±è½¯ä»¶å¼åå ï¼è¿æºäºåµå ¥å¼æä½ç³»ç»ä¸ç¡¬ä»¶æ å ³ç设计ææ³ãå¦ä»çåç§åµå ¥å¼ç³»ç»,é½éç¨äºåå±ç设计æ¹æ³ãå®å°ç³»ç»ä¸ä¸ç¡¬ä»¶ç´æ¥ç¸å ³çä¸å±è½¯ä»¶ç¬ç«åºæ¥,称ä¹ä¸ºæ¿çº§æ¯æå (BSP)ãè¿éBSPç主è¦åè½ä¸ºå±è½ç¡¬ä»¶ï¼æä¾æä½ç³»ç»ç驱å¨å硬件驱å¨ï¼å ·ä½åè½å æ¬ï¼
(1)ç®æ æ¿ç¡¬ä»¶åå§åï¼ä¸»è¦æ¯CPUçåå§åï¼ä¸ºæ´ä¸ªç³»ç»æä¾åºå±ç¡¬ä»¶æ¯æï¼
(2)为æä½ç³»ç»æä¾è®¾å¤é©±å¨ç¨åºåç³»ç»ä¸ææå¡ç¨åºï¼
(3)å®å¶æä½ç³»ç»çåè½ï¼ä¸ºè½¯ä»¶ç³»ç»æä¾ä¸ä¸ªå®æ¶å¤ä»»å¡çè¿è¡ç¯å¢ï¼
(4)åå§åæä½ç³»ç»ï¼ä¸ºæä½ç³»ç»çæ£å¸¸è¿è¡å好åå¤ï¼æ 线SOCå¼åå¹³å°å S3CB0 ARM7å¼åæ¿å S3C ARM9å¼åæ¿å ATSAM7S ARM7 åçæºå¼åæ¿ä¹çââELITE-Iåçæºå¦ä¹ å¼åç³»ç»å S3C ARM9å¼åæ¿(II) å EPMTC CPLDå¼åæ¿ å
2 BSPæ件ç»æååè½
BSPä¸å æ¬æºä»£ç ã头æ件ãMAKEæ件ãæ´¾çæ件以åäºè¿å¶é©±å¨ç¨åºæ¨¡åãå¨VxWorks ä¸ç¡¬ä»¶é©±å¨ç¨åºå为éç¨æ§åBSPä¸ç¨æ§ä¸¤ç±»ãå¨å¼åBSPæ¶ï¼æ¢è¦å¯¹BSPä¸ç¨ç驱å¨ç¨åºæä¾æ¯æï¼è¿è¦å°éç¨ç设å¤é©±å¨ç¨åºéæå¨ä¸èµ·ãå æ¤ï¼ç¼åç设å¤é©±å¨ç¨åºï¼å¯æ ¹æ®å ·ä½æ åµæ¾å¨BSPä¸çåéä½ç½®ã
BSPæä»¶å¨ VxWorks /target /config /allåVxWorks /target /config / bspnameæ件夹éãå ¶ä¸ï¼allæ件夹éçæ件æ¯ææBSPçéç¨æ件ï¼bspnameæ件夹çæ件æ¯ç¨æ·èªå·±å®å¶çBSPæ件[1]ãç»è¿ç¼è¯ãé¾æ¥ï¼å¹¶å¨makefileådepend.bspnameçæ件çæ§å¶ä¸ï¼åç¨åºæåå°çæéåãBSPçç»æå主è¦æ件åè½å¦ä¸ã
(1)Tornado\target\config\all\ç®å½ä¸çæ件ãå æ¬bootConfig.cï¼bootInit.cï¼usrConfig.cçï¼å®ä»¬æ¯ææBSPå ±äº«çï¼ä¸»è¦æ¯ç¼ºçå®ä¹äºææVxWorksé 置以åBoot Romçåå§åæ§å¶ä»£ç ï¼æ以ä¸æ¯ç¹å«éè¦ä¸è¦æ´æ¹éé¢çä»»ä½æ件ã
(2)Tornado\target\config\bspname\ç®å½ä¸çæ件ãå æ¬makefileï¼depend.bspnameï¼config.hï¼bspname.hï¼romInit.sï¼sysALib.sï¼sysLib.cï¼sysSerial.cçï¼å ¶ä¸config.hä¸å å«ç¹å®CPUæ¿çææå å«æ件åå®ä¹ã
VxWorksæ¯æå¤ç§å¤çå¨å¹³å°ï¼ç¨æ·å¯ä»¥é对ä¸åçç®æ ç³»ç»ï¼éè¿ä¿®æ¹è¿äºæ件æ¥å®æBSPä¸ VxWorkså¨ä¸åå¹³å°ä¸ç移æ¤ã
3 Vxworksæ ååç±»åå ¶å¯å¨è¿ç¨
3.1 VxWorksæ ååå ¶åç±»
VxWorkså¨å¯å¨è¿ç¨ä¸æ¶åå°ä¸¤ä¸ªæ åæ件ï¼bootromæ ååVxWorksæ åãè¿ä¸¤ä¸ªæ åæ件é½è¦ä½¿ç¨BSP代ç ãbootromæ件æ¯ä»ROMå¼å¯¼VxWorksçå¼å¯¼ç®æ 模åï¼ç¨äºå¯¹ç®æ æ¿è¿è¡åå§åï¼å è½½VxWorksæä½ç³»ç»æ åãVxWorks imageå å«VxWorks OSï¼æç»è¿è¡äºç®æ æ¿ä¸ãVxWorksæ åæå 载类åå¯å为ï¼å¯ä¸è½½æ ååå¯å¼å¯¼æ åï¼æè¿è¡æ¹å¼å为å¨ROMä¸åå¨RAMä¸ä¸¤ç§ã
å¯ä¸è½½æ åï¼Loadable Imageï¼ï¼å®å®é å æ¬ä¸¤é¨åï¼ä¸æ¯VxWorksï¼äºæ¯boot ROMï¼ä¸¤é¨åæ¯ç¬ç«å建çãå¯å¼å¯¼æ å(Bootable Image)æ¯å°å¼å¯¼ç¨åºåVxWorksè为ä¸ä½çæ åï¼ä¸è¬ä¸ºæç»äº§åï¼å æ¬ä¸é©»çROMçæ ååé©»çROMçæ å两ç§ç±»å[2]ã
VxWorkså¨ROMä¸è¿è¡ï¼åªè¦æVxWorks imageçdata段å¤å¶å°RAMçRAM-LOW-ADRSï¼texté¨åçå¨ROM并å¨ROMæ§è¡ãå¨ROMä¸è¿è¡VxWorkså¯ä»¥èçRAM空é´ï¼æå©äºåºç¨ç¨åºææ´å¤§ç空é´è¿è¡ï¼ä½æ¯è¿è¡é度ç¸å¯¹è¾æ ¢ãVxWorkså¨RAMä¸è¿è¡ï¼åå ¥ROMä¸çbootæVxWorks imageæ¯å缩çï¼éå 解å并å¤å¶ææçtextædataå°RAMçRAM-LOW-ADRS,å¨RAMä¸è¿è¡ã
开发板现状和趋势
在信息时代,嵌入式产品随着数字技术的码v码快速发展迎来了广阔的发展前景,同时也对厂商提出了新的源代技术挑战。未来的包源嵌入式系统呈现出以下几个重要趋势: 首先,嵌入式开发不再是码v码孤立的行为,而是源代源码后门查杀系统集成的一部分。厂商不仅要提供硬件和软件系统,包源还需配套强大的码v码开发工具。例如,源代三星在推广ARM芯片的包源同时,提供了开发板、码v码BSP支持,源代而Windows CE则提供Embedded VC++开发工具。包源Vxworks的码v码Tonado环境和DeltaOS的Lambda编译环境也是这一趋势的体现,市场竞争推动了这一集成开发环境的源代完善。 其次,网络化和信息化需求日益增强,嵌入式设备功能日益复杂。qq离线挂机源码设计师通过采用更强大的处理器,如/位RISC或DSP,以及集成更多功能接口,如USB和CAN BUS,来满足应用升级。软件上,实时多任务编程和交叉开发工具被广泛应用,以简化设计,提高软件质量和缩短开发周期,如HP的解决方案。 网络互联是不可逆的发展方向。未来的嵌入式设备需要内置网络接口,支持TCP/IP协议以及多种通信标准,如IEEE、USB、CAN、蓝牙或IrDA。ios webkit 源码下载软件上,系统内核需支持网络模块,甚至嵌入Web浏览器,以实现设备间的无缝互联。 为了降低成本和功耗,精简系统内核和优化算法成为关键。设计者需选择高效的编程模型和改进算法,同时要求软件人员具备硬件知识,发展先进的嵌入式软件技术,如Java、Web和WAP等。 最后,提供友好的多媒体人机界面是吸引用户的关键。嵌入式设备需要直观易用的图形界面和灵活的交互方式,如汉字输入、语音功能和彩色图形。尽管高级PDA已经实现了部分功能,thinkphp个人网站源码但普通的嵌入式设备仍有很长的提升空间。扩展资料
开发板(demoboard)是用来进行嵌入式系统开发的电路板,包括中央处理器、存储器、输入设备、输出设备、数据通路/总线和外部资源接口等一系列硬件组件。开发板一般由嵌入式系统开发者根据开发需求自己订制,也可由用户自行研究设计。开发板是为初学者了解和学习系统的硬件和软件,同时部分开发板也提供的基础集成开发环境和软件源代码和硬件原理图等。常见的开发板有、ARM、FPGA、DSP开发板。Wind River产品与服务
Wind River公司为了适应设备软件优化策略(DSO),采用了双操作系统(Vxworks & Linux)的安卓翻译源码解决方案。Workbench作为强大的集成开发环境,适用于多种目标机OS平台,包括Bootloader的开发、BSP/Driver的开发、上层应用程序的开发、测试和生产,直至产品的售后服务,贯穿产品生命周期的全过程。
GPP-LE产品集成了WindRiver验证过的开源软件,包括2.6内核和应用程序,以及相关补丁包。该产品还带有针对当前主流处理器体系结构的交叉编译工具链,使得用户能够编译出在目标机上运行的代码。
PNE-LE产品遵循OSDL CGL工作组的CGL specification V2.0,集成了超过个网络应用程序包和其他应用程序包。它以稳定的、验证过的Linux-2.6.作为内核。
PCD-LE产品具备动态电源管理技术(DPM)、基于FLASH的鲁棒文件系统(cramfs)、快速的系统启动时间以及较小的内核footprint。最小系统资源需求为k的flash和k的RAM。
Workbench作为开发工具,采用了基于Eclipse开放标准架构,可以方便集成第三方插件。支持多种目标机操作系统,如Linux、Vxworks、ThreadX等,覆盖硬件板子调试、BSP/Driver开发、应用软件开发和产品测试等全生命周期阶段。支持多种架构的目标机处理器,包括ARM、XScale、MIPS、PPC和X等。Workbench还支持源代码的静态符号解析,允许用户进行交叉代码浏览。
Workbench演示展示了其强大的功能和易用性,为开发者提供了高效的工作流程和丰富的资源。
å¦ä½å¦ä¹ åµå ¥å¼
ä½è ï¼å¿åç¨æ·
é¾æ¥ï¼/question//answer/
æ¥æºï¼ç¥ä¹
èä½æå½ä½è ææãåä¸è½¬è½½è¯·èç³»ä½è è·å¾ææï¼éåä¸è½¬è½½è¯·æ³¨æåºå¤ã
å¦ä¹ åµå ¥å¼ç³»ç»ï¼é¦å åºè¯¥æç¡®ä»ä¹æ¯åµå ¥å¼ç³»ç»ï¼å¦åè´¹åå»å¦ï¼å´ä¸ç¥æå¦ä¸ºä½ç©ï¼å²ä¸æç¶ï¼åµå ¥å¼ç³»ç»çå®ä¹å¾å¤ï¼è¿ä¹æ¯å°æ°åµå ¥å¼ç³»ç»å¦ä¹ çä¸ä¸ªå ç´ ãç¬è æ ¹æ®èªå·±å¼ååæå¦è¿ç¨ä¸çç解ï¼ä»¥å对åç§åµå ¥å¼ç³»ç»çåºç¨è¿è¡æ»ç»ï¼æåºäºåµå ¥å¼ç³»ç»çç®åå®ä¹ï¼åµå ¥å¼ç³»ç»æ¯åµå ¥å¼è®¡ç®æºç³»ç»çç®ç§°ï¼è¿ä¸ªå®ä¹çªåºåµå ¥å¼è®¡ç®æºç³»ç»åæ®é计ç®æºç³»ç»çå ±æ§ãä¸è¡¨ååºäºåµå ¥å¼ç³»ç»çä¸äºå ¸åçåºç¨ï¼
æºè½æºå¨äººï¼S D R 4ï¼ç«æç»é车ï¼
娱ä¹åæ¶è´¹çµåï¼Gameboy Advanceï¼SonyPSPï¼
ç½ç»é信产åï¼Smartphoneï¼
åç¨è®¾å¤ï¼åç¨PDA ï¼
汽车ï¼è½¦è½½å¯¼èªï¼èªå¨é©¾é©¶ï¼å¨±ä¹ç³»ç»ï¼
æºè½ä»ªå¨ï¼èæ仪å¨ï¼
å®å ¨é²æ¤ï¼é²ç«ï¼é²çï¼
ç¯å¢ä¿æ¤ï¼æ¢ç©ºæ°çï¼
é¶è¡ååä¸æ¶è´¹ï¼ATMï¼
以ç«æç»é车为ä¾æ¥åæä¸ä¸åµå ¥å¼ç³»ç»çå®ä¹ãç«æç»é车è½ç¶å¬èµ·æ¥æè§å¨ææ¯ä¸æäºé«ä¸å¯æµï¼ä½æ¯æ¬è´¨å°±æ¯åµå ¥å¼è®¡ç®æºç³»ç»çåºç¨ï¼å ¶æ ¸å¿å°±æ¯ä¸ä¸ªè®¡ç®æºç³»ç»ï¼èè¿ä¸ªè®¡ç®æºç³»ç»çç»æåä¼ ç»ç计ç®æºç³»ç»å¨æ¬è´¨ä¸æ²¡æä»ä¹å·®å«ã两è çæ¾èä¸åä¹å¤å°±å¨äºï¼ç¨äºç«æç»é车ç计ç®æºç³»ç»è¢«å®è£ å°äºç«æç»é车ä¸ãå½ç¶ï¼ä¸ä¸ªè®¡ç®æºç³»ç»è½å¤è¢«å®è£ å¨ç«æç»é车ä¸ï¼æ¯éè¦è¿è¡å¾å¤ç¹æ®è®¾è®¡çãä½æ¯ä»æ¬è´¨ä¸è®²ï¼åµå ¥å¼ç³»ç»çæ ¸å¿æ¦å¿µè¿å¨è®¡ç®æºç³»ç»ãåµå ¥å¼ç³»ç»å¦ä¹ çéç¹ä¹å¨è®¡ç®æºç³»ç»ä¸ãä¸æ¹é¢ï¼å¦ä¹ è éè¦ç¢åºææ¡è®¡ç®æºç³»ç»æ¬èº«çæ¦å¿µï¼æ´éè¦çæ¯å¦ä¹ åµå ¥ç³»ç»çå¼åè¿ç¨åä¼ ç»è®¡ç®æºç³»ç»å¼åè¿ç¨çå·®å«ãè¿ééè¦æåºçæ¯ï¼å¾å¤å¦ä¹ è æ¬æ¥å°±æ²¡æä»äºè¿å®æ´è®¡ç®æºç³»ç»çå¼åï¼é«æ ¡çæå¦æ¯ä»¥ç¨åºè®¾è®¡ä¸ºä¸å¿çï¼è®¡ç®æºç³»ç»çææï¼æä½ç³»ç»çåçï¼ç¼ç¨è¯è¨ç课ç¨é½æ¯ä¸ºäºè½å¤è®©å¦çæ´å¥½ç使ç¨è®¡ç®æºç³»ç»è¿è¡ç¨åºè®¾è®¡ï¼å¨ç°æç计ç®å¹³å°ä¸æ¥è®¾è®¡å®ç°åç§åºç¨ï¼å¦çä¸è¬æ²¡ææºä¼å¦ä¹ ä¸ä¸ªå®æ´ç计ç®æºç³»ç»æ¯å¦ä½æ建ï¼å¹¶äº²èº«åä¸å°æ建çæ¯ä¸ä¸ªè¿ç¨ãè对äºåµå ¥å¼ç³»ç»èè¨ï¼ä»äºå¹³å°å¼åç人就æ¯è¦äº²èªå»å¼ååºä¸ä¸ªå®æ´ç计ç®æºç³»ç»ï¼è¿ä¸ªè¿ç¨å æ¬
1. éæ±åæ
2 硬件设计
3 驱å¨ç¨åº
4 Bootloader & BSP ï¼æ¿çº§æ¯æå ï¼
5 æä½ç³»ç»ç移æ¤
6 åºç¨ç¨åºçå¼å
7 æ§è½æ£æ¥
åµå ¥å¼ç³»ç»æå¦çç®çå°±æ¯æä¼å¦çå¦ä½æ ¹æ®éæ±å»å»ºç«æ»¡è¶³æç§ç¹æ®è¡ä¸éæ±çåµå ¥å¼è®¡ç®æºç³»ç»ã让å¦çå¦ä¼å¦ä½æ件硬件平å°ï¼è¿è¡ç¡¬ä»¶è®¾è®¡ï¼éæ©è½å¤æ»¡è¶³åºç¨è¦æ±çæä½³çåµå ¥å¼æä½ç³»ç»ï¼å¹¶å®æBootloaderï¼BSPå驱å¨ç¨åºçç¼åï¼ç§»æ¤ï¼è°è¯çè¿ç¨ã为äºæ»¡è¶³è¡ä¸éæ±ï¼æç»è¦å¨æ建ç«çç³»ç»ä¸ç¼åè°è¯ç¸åºçåºç¨ç¨åºï¼å¹¶è¿è¡æ§è½çæµè¯åæ£æ¥ã
ä½ æ¯è°,ä½ éè¦å¦ä¹ åªäºä¸è¥¿ï¼
å¦æä½ çå·¥ä½åªæ¯éè¦å¨PC æºä¸ç¼åä¸ä¸ªå¾çæµè§ç¨åºï¼é£ä¹ä½ 就没æå¿ è¦å»äºè§£å½ç³»ç»æ¶å°ä¸ä¸ªARP请æ±å ååºè¯¥å¦ä½ååºãåæ ·çéçï¼åµå ¥å¼ç³»ç»çå¦ä¹ ä¹æ¯æå¾å¤æ¹é¢çãå°±åµå ¥å¼ç³»ç»ç设计åå®ç°èè¨ï¼åºæ¬ä¸éè¦åç§ä¸åçå·¥ä½ï¼ç³»ç»è®¾è®¡å·¥ä½ï¼ç¡¬ä»¶è®¾è®¡å·¥ä½ï¼é©±å¨ç¨åºåæä½ç³»ç»ç§»æ¤å·¥ä½ååºç¨ç¨åºè®¾è®¡å¼åå·¥ä½ã
1.ç³»ç»è®¾è®¡å·¥ä½
å¨ç³»ç»ç设计é¶æ®µï¼ç³»ç»åæå¸å°æ ¹æ®éæ±ç¡®å®ç³»ç»ç硬件çåºæ¬ææï¼æ ¹æ®ç³»ç»çéæ±éæ©ä½¿ç¨é£ç§å¤çå¨ï¼ä½¿ç¨åªç§æä½ç³»ç»ï¼ä½¿ç¨é£äºè½¯ä»¶å¼åå·¥å ·ãç³»ç»åæå¸å¾å¾æ¯è¾ä¸ºå®æ´çåä¸è¿åµå ¥å¼ç³»ç»è®¾è®¡çå ¨è¿ç¨ï¼å¯¹äºç³»ç»åºç¨çè¡ä¸è¾ä¸ºäºè§£ï¼å¯¹äºåµå ¥å¼ç³»ç»æ¬èº«çå¼åæµç¨ååæ¸ æ¥ç人ã
2.硬件设计工ä½
ç³»ç»ç¡¬ä»¶è®¾è®¡äººåéè¦æ ¹æ®ç³»ç»åæå¸ç设计ç»æï¼è¿è¡ç¡¬ä»¶åçå¾ç设计ãé常éè¦ç¡¬ä»¶è®¾è®¡äººåçæåµå ¥å¼ç³»ç»ç硬件ææã硬件设计人åéè¦äºè§£å¸¸ç¨çåµå ¥å¼ç³»ç»å¤çå¨ï¼åå¨å¨ï¼Flashï¼SDRAMï¼ï¼ä»¥å¤ªç½MACè¯çï¼é³é¢/è§é¢ç¼è§£ç è¯çï¼çµæºç®¡çè¯çï¼æ»çº¿æ¥å£çµè·¯ (USB,PCI)ï¼æ¶²æ¶æ¾ç¤ºæ¨¡åï¼å¯ç¼ç¨é»è¾å¨ä»¶(FPGA/CPLD)ï¼æ 线ç½ç»é信模å(Bluetooth,WLAN,GPRS)ç硬件çµè·¯ææå ç´ çåºæ¬å·¥ä½åçï¼è¿æ¥ä½¿ç¨æ¹æ³ï¼ä½¿ç¨æ³¨æäºé¡¹ï¼åºæ¬è°è¯æ¹æ³çå 容ãå¨ç½ç»ä¸è½æ¾å°å¾å¤å ¬å¸çè¯ä¼°æ¿çåçå¾ï¼å¯¹äºè¿äºåçå¾è¦ä»ç»ç 究ï¼æ¸æ¸ å¤çå¨ååå¨å¨ï¼ç½å¡ï¼æ¶²æ¶æ¨¡åçå¨ä»¶çè¿æ¥æ¹æ³ååå ãéè¿å¯¹è¿äºçµè·¯çç 究ï¼è½å¤è¾å¿«å°äºè§£æ´ä¸ªåµå ¥å¼ç³»ç»çææï¼è¿äºçµè·¯åå®é 产åä¸ççµè·¯è½æä¸å®å·®å«çï¼ç¹å«æ¯å¯¹äºææ设å¤ï¼ä½è¿äºå·®å«ä¸å½±ååå¦è å¦ä¹ åµå ¥å¼ç³»ç»ç硬件设计åºæ¬ææã
以ä¸è¿äºç¥è¯ï¼å¾å¾éè¦è¾é¿æ¶é´çå¦ä¹ å积累ï¼éè¦äº²èªåä¸å®è·µçæºä¼ã对äºååæ¥è§¦åµå ¥å¼ç³»ç»ç¡¬ä»¶å¼åçå¦çæ¥è®²ï¼ä¸è¬ä¸å¯è½å ¨é¨äºè§£è¿äºç¥è¯ï¼ä½ä¹ä¸ä¼æ¯ééä¸æ æç¥ãç¬è ç»åèªå·±å¼ååæå¦çç»éªè®¤ä¸ºï¼é¦å åºè¯¥éå®ä¸æ¬¾ä¸»æµä¸è¾ä¸ºç®åçåµå ¥å¼ç³»ç»å¤çå¨ï¼æ¯å¦åºäºARM7TDMI å æ ¸çATM,S3CB0 çåµå ¥å¼ç³»ç»å¤çå¨ï¼å¦ä¹ ä½RISCå¤çå¨çç¼ç¨æ¨¡åï¼æ令éãé«æ ¡æå¦ä¸ï¼åç计ç®æºè¯¾ç¨ä¸è¬ä»¥ç³»ååçä¸ºæ ¸å¿è®²è§£ï¼ç±äºç°ä»£ä½å¤çå¨çç»æåå¼åæ¹å¼å8ä½åçæºæçè¾å¤§çå·®å«ï¼å¦ä¹ è è¿æ¯éè¦è±ä¸ç¹åæ°æ¥ç 究以ä¸ä½å¤çå¨çã以ARMå¤çå¨ä¸ºä¾ï¼å¦ä¹ è å°±éè¦ç解å¤çå¨çå¤ç§å·¥ä½æ¨¡å¼ï¼å¤ä»½å¯åå¨ï¼RISC æ令éçç¹ç¹ï¼MMU åèæå°åï¼ä¸æå¤çè¿ç¨çå 容ãå¨å¦ä¹ æ令éçè¿ç¨ä¸ï¼æ好è½å¤æ¯å¦ä¹ å æ¡æ令ï¼å°±ä½¿ç¨è¿å æ¡æ令å¨æ¨¡æå¨ä¸å®éªä»¥ä¸ï¼è§å¯å¤çå¨æ§è¡çç»æãè¿ä¸ªè¿ç¨ä¸æ¹é¢æ¯å¦ä¹ è 对äºæ令æ¬èº«çå¦ä¹ è½å¤åå¾ä¸ä¸ªæ¯è¾å¥½çææï¼å¦å¤ä¹æ¯å¯¹å¼åå·¥å ·æ¬èº«çä¸ç§å¦ä¹ ãæ¥çï¼å°±å¯ä»¥å¼å§å¦ä¹ çä¸èµæºç使ç¨åé ç½®æ¹æ³ãè¿æ¶å°±éè¦ä¸ä¸ªæ¹ä¾¿ä½¿ç¨çå¼åæ¿ï¼å¦ä¹ è è½å¤éè¿JTAG仿çå¨å°å¼åæ¿åè°è¯PCæºç¸è¿ï¼è¿è¡ç¨åºçä¸è½½ï¼è°è¯ãç¹å«æ¯è¦ä»ç»ç 究系ç»çåå§åè¿ç¨åä¸æå¤ççè¿ç¨ãå¨å¼åè¿ç¨ä¸å¦æéå°é®é¢ï¼åºèªå·±åæé®é¢äº§ççåå ï¼éè¿åæ缩å°é®é¢å¯è½äº§ççèå´ï¼æç»æ¾å°é®é¢çæå¨ãæéè¦çå°±æ¯è¦ä¿æä¸ç§è§£å³é®é¢çä¿¡å¿ï¼é¢å¯¹å°é¾å¦ä½å¤çï¼å¾å¾è½å¤å³å®æç»ç³»ç»æ¯å¦è½å¤è°è¯æåãç¶åï¼å¦ä¹ è å¯ä»¥å¼å§ä»ç»å¦ä¹ å¤çå¨ååå¨å¨çè¿æ¥ï¼åå¨ç©ºé´çé ç½®ï¼åç§å¤æ©å¨ä»¶ï¼å¦ç½å¡ï¼AC声å¡çå·¥ä½åçå使ç¨æ¹æ³ãåµå ¥å¼ç³»ç»ç¡¬ä»¶è®¾è®¡ä¸å¾å¾éè¦ä½¿ç¨å¯ç¼ç¨å¨ä»¶ï¼å¦ä¹ è è¿éè¦ä¸å®çæ¶é´æ¥å¦ä¹ 使ç¨å¸¸ç¨çå¯ç¼ç¨å¨ä»¶ï¼CP L D / F P G Aï¼ï¼å¸¸ç¨çæXilinxåAlteraå ¬å¸ç产åãè¿è¡ç³»ç»ç¡¬ä»¶åçå¾è®¾è®¡ï¼å°±éè¦ä½¿ç¨åçå¾è®¾è®¡çEDAå·¥å ·ï¼å¸¸ç¨çEDA åçå¾è®¾è®¡å·¥å ·ä¸»è¦å æ¬Cadenceå ¬å¸çCaptureï¼Protelå ¬å¸çProtelSEçãæ¥ä¸æ¥å°±å¯ä»¥åç §è¯ä¼°æ¿ççµè·¯å¾ï¼æ ¹æ®ç³»ç»ç设计è¦æ±ï¼å¼å§è¿è¡åçå¾çç»å¶äºãå¨åçå¾ç»å¶è¿ç¨ä¸ï¼ä¸å®è¦ææ¸ è¯ä¼°æ¿çµè·¯è¿æ¥çåå ï¼å¯¹äºä¸æ¶æ²¡æææ¸ æ¥çé®é¢åä¸å¯èæ··è¿å ³ãä¾å¦ï¼æäºå¤çå¨çå°å线æ¯ä»¥åèä½åä½çï¼èå¦ä¸äºå¤çå¨çå°å线åæ¯ä»¥ä¸¤ä¸ªåè为åä½çï¼å½è¿æ¥ä½çåå¨å¨çæ¶åï¼åä¸å¯æ³å½ç¶çæå¤çå¨çA 0 ç´æ¥è¿æ¥å°åå¨å¨çA 0 ä¸é¢ãå¦å¤ï¼å¦çè¿åºå ·æä¸å®çPCBæ¿å¾ç»å¶è½åï¼å 为å¨ç°é¶æ®µï¼å¾å¤å ¬å¸è¿ä¸è½å®å ¨æåçå¾ç设计工ä½åPCB çç»å¶å·¥ä½åå¼ï¼å¾å¾è¦æ±ç¡¬ä»¶è®¾è®¡äººåæ¢è½è¿è¡åçå¾è®¾è®¡åè½è¿è¡æ¿å¾è®¾è®¡ãå³ä½¿æ¯PCB设计ååçå¾è®¾è®¡åå¼çå ¬å¸ï¼ä¹éè¦åçå¾è®¾è®¡è è½ä¸ºPCB ç设计è 对äºä¸åçä¿¡å·æåºå¸æ¿è¦æ±ã
3.驱å¨ç¨åºåæä½ç³»ç»ç§»æ¤å·¥ä½
ç°ä»£åµå ¥å¼ç³»ç»çå¼ååä¼ ç»8ä½åçæºç³»ç»çå¼åç¸æ¯ï¼ä¸ä¸ªæ¾èçåºå«å°±æ¯åµå ¥å¼æä½ç³»ç»ç广æ³ä½¿ç¨ãå¨æ¿å°çæ¥å®æ¯ççµè·¯æ¿ï¼å¹¶è¿è¡åºæ¬çæµè¯åï¼å°±è¦è¿è¡é©±å¨ç¨åºåæä½ç³»ç»ç移æ¤å·¥ä½äºãé¦å è¦è¿è¡çBootloaderçç¼åå移æ¤å·¥ä½ãBootloaderç¸å½äºPCç³»ç»çBIOSã对äºæäºåµå ¥å¼æä½ç³»ç»ï¼å¦uc/OSII没æbootloaderåæ ·å¯ä»¥å¼åè°è¯ãä½æ¯å¯¹äºWindowsCEååµå ¥å¼linuxç³»ç»èè¨Bootloaderå°±æ¯å¿ é¡»çäºãæ¬æ以Windows CE 为ä¾ï¼åä¸ä¸ªç®è¦ç说æã
Windows CE ç³»ç»ç移æ¤å·¥ä½ä¸»è¦å°±æ¯BSPï¼æ¿çº§æ¯æå ï¼çå¼åè¿ç¨ãBSPå°å ·ä½ç硬件差å¼åæä½ç³»ç»çæ ¸å¿é离å¼æ¥ï¼ä¸»è¦ç±Bootloaer ï¼OALï¼OEMAbstraction Layerï¼å设å¤é©±å¨ç¨åºä¸é¨åç»æãWindowsCEç³»ç»ä¸Bootloaderå«åEbootãEboot被åå ¥ç³»ç»çå¼å¯¼Flashãç³»ç»å¯å¨æ¶è¿è¡Ebootï¼å®æéè¿ç½å¡å°è°è¯PC æºä¸WindowsCE æä½ç³»ç»æ åä¸è½½å°ç®æ ç³»ç»çSDRAMä¸å¹¶å¼å§æ§è¡çåè½ã对äºä¸ä¸ªç³»ç»ç§»æ¤äººåï¼é¦å éè¦é 读ææ¡£ï¼äºè§£WindowsCEç³»ç»BootloaderåBSPçåºæ¬æ¦å¿µåå¼åè¿ç¨ãï¼åµï¼è¿è¦åè¿å·¥ä½åï¼æè¿æ²¡æ³å°ï¼åå¦^_^ï¼ï¼Windows CEçå¼åç³»ç»Platform Builderæä¾äºè¯¦ç»çææ¡£åä¾ç¨ï¼å¼å人åéè¦ä»ç»çé 读ææ¡£åä¾ç¨ãææ¸ æ¥å个å½æ°ä¹é´çè°ç¨å ³ç³»ãå¨å¼åè¿ç¨ä¸çä¸ä¸ªéè¦çæ¥éª¤å°±æ¯æé串å£ï¼ä½¿å¾ç®æ æ¿è½å¤éè¿PCæºä¸²å£åè°è¯PC æºåéæ°æ®ãç±äºARMç³»ç»ç仿çå¨æ¯è¾æè´µï¼èä¸æä½ç³»ç»çè°è¯å¾å¾ä¸ä½¿ç¨JTAGè°è¯å¨è¿è¡åæ¥è°è¯ãæ以è½ä»ä¸²å£è§å¯ç¨åºçæ§è¡è¿ç¨åç»æ对äºè°è¯å°±æ¾å¾ååéè¦äºã串å£æéä¹åä¸ä¸ªæ¯è¾æ£æçé®é¢å°±æ¯ç½å¡è¯ççè°è¯ãååæ¥è§¦åµå ¥å¼ç³»ç»å¼åç人å¾å¾æ²¡æç´æ¥å¨å¯åå¨çº§ä¸ä½¿ç¨ç½å¡è¯ççç»éªï¼èç½å¡è¯çç说æä¸è¬é½è¾ä¸ºç®çï¼è¿å°±è¦æ±å¼åè å¦ä¹ ä¸äºä»¥å¤ªç½çåºç¡ç¥è¯ï¼å¯¹ä»¥å¤ªç½çMAC å±æä¸ä¸ªåºæ¬ç认è¯ãå¦å¤ï¼åç§ç½ç»è°è¯ï¼æå ï¼å·¥å ·ç使ç¨ä¹è½å¤§å¤§éä½ç³»ç»è°è¯çé¾åº¦ãç³»ç»çOALéè¦æ ¹æ®å ·ä½ç¡¬ä»¶çä¸åååºç¸åºçä¿®æ¹ï¼è¿ä¸ªé¨åå¯åç §ææ¡£è¿è¡ï¼å¨è°è¯è¿ç¨ä¸æ ¹æ®ä¸²å£çä¿¡æ¯åæåºéçå°æ¹ãè¦å ååæ¥è·¨æ件å符串æç´¢å·¥å ·çåè½ï¼å¨æµ©å¦çæµ·çæºæ件ä¸æ¾å°åºéçä½ç½®ãå½ç¶ï¼éçå¼åè 对系ç»æ件ç®å½ç»æççæåäºè§£ï¼é误å®ä½çé度ä¼ä¸æå å¿«ãWindowsCE ç驱å¨ç¨åºç¸å¯¹èè¨æ¯æ¯è¾å¥½åçã
4.åºç¨ç¨åºçå¼å
åµå ¥å¼ç³»ç»çåºç¨ç¨åºå¼ååå¨PC æºä¸å¼ååºç¨ç¨åºçåºå«ä¸æ¯å¾å¤§ã对äºWindows CEç³»ç»èè¨ï¼Microsoftå·²ç»æä¾äºè¾ä¸ºå®åçå¼åå·¥å ·ãç¹å«æ¯.NET Compact workç使ç¨ï¼ä½¿å¾åºäºWindows CE.NETCompactworkçåºç¨ç¨åºæäºè·¨å¹³å°æ§ãå¼å人åå¯ä»¥ä½¿ç¨Windows çC# è¯è¨ç´æ¥å¨PC ä¸è¿è¡http://CE.NETåºç¨ç¨åºçå¼åå模æè°è¯ï¼ä¹å¯å°ç®æ ç³»ç»åPC æºç¸è¿ï¼è¿è¡èæºè°è¯ãç°å¨æå¾å¤ç³»ç»æ¯æJ2ME(JAVAçåµå ¥å¼ç³»ç»çæ¬) ï¼è¿ä½¿å¾JAVA å¨åµå ¥å¼ç³»ç»åºç¨å¼åä¸å æè¾å¤§çä¼å¿ãå¦å¤ï¼ä½ä¸ºä¸ä¸çåµå ¥å¼ç³»ç»è½¯ä»¶å¼å人åï¼è¿éè¦å åäºè§£é¢å对象ææ¯å设计模å¼çæ¹é¢çç¥è¯ï¼å½ç¶ä½ä¸ºåå¦è å¯ä»¥å ä¸æ·±å ¥ç 究è¿æ¹é¢çå 容ã
常ç¨åµå ¥å¼ç³»ç»å¤çå¨åæä½ç³»ç»
å¤çå¨
常ç¨åµå ¥å¼ç³»ç»å¤çå¨ä¸»è¦å æ¬ARM å¤çå¨ï¼Power PC å¤çå¨ï¼åºäºMIPS å æ ¸çåµå ¥å¼å¤çå¨ï¼è½¯æ ¸å¤çå¨ï¼å¦Altera çNiosåXilinxçMicroBlazeçï¼åDSPï¼æ°åä¿¡å·å¤çå¨ï¼çã
ARM å¤çå¨ç主è¦ç¹ç¹æ¯å ·æè¾é«çæ§è½åèæ¯ãARMå¤çå¨è¢«å¹¿æ³çåºç¨å¨ææºï¼PDAçé¢åï¼å ¶ä¸è¾ä¸ºèåçæIntel å ¬å¸ç产çåºäºARM å æ ¸çXScaleç³»åå¤çå¨ãç±äºææå ¬å¸ç产çåºäºARMå æ ¸çå¤çå¨å ·æç¸åçç¼ç¨æ¨¡åï¼å¨ææåçµæ± ä¾çµçç³»ç»ä¸ï¼åºäºARMçåµå ¥å¼ç³»ç»å¤çå¨å¾å¾è¢«é¦å éç¨ãPowerPCï¼ç®ç§°PPCï¼å¤çå¨å ·æè¾å¼ºçè¿ç®æ§è½åæ°æ®ååè½åï¼å¨ç½ç»åæ°æ®éä¿¡é¢ååºäºPPCçåµå ¥å¼ç³»ç»å¤çå¨æç广æ³çåºç¨ãå ¶ä¸Motorolaå ¬å¸ç产çMPC/MPC被大éå°åºç¨å¨åµå ¥å¼ç½ç»äº§åä¸ãMIPS å¤çå¨çç¹ç¹è¡¨ç°å¨åå强大çå¤çè½åä¸ãä½ä¸ºé«æ§è½å¤çå¨ï¼MIPSå¤çå¨éç¨äºç½ç»ãä¼ä¸åé«çº§æ¶è´¹ç±»çµååºç¨ï¼ç¹å«æ¯å¨æºé¡¶çç³»ç»ä¸ï¼MIPSå¤çå¨å ·æè¾é«çå¸åºå æçãéçå¯ç¼ç¨å¨ä»¶çè§æ¨¡ä¸ææ©å¤§ï¼ä½¿å¾äººä»¬è½å¤æ ¹æ®éè¦å®å¶å¤çå¨ï¼å¹¶æ¹ä¾¿çå°é对æç§ç¹æ®åºç¨å®å¶çå¤çå¨æ¹ä¾¿çå¨å¯ç¼ç¨å¨ä»¶å é¨å®ç°ãé¤äºå¤çå¨å¤ï¼è®¡ç®æºç³»ç»è¿éè¦è®¸å¤å ¶ä»ææé¨åï¼æ¯å¦å¨å¤ééåªä½æ°æ®å¤çç³»ç»ä¸ï¼ç»å¸¸éè¦ä½¿ç¨å¯ç¼ç¨å¨ä»¶æ¥å®ç°é«éçæ°æ®å¤çåè½ï¼ä½¿ç¨è½¯æ ¸DSPæ¥å®ç°å¤æçæ°åä¿¡å·å¤çç®æ³ï¼åæ¶è¿éè¦å¤çå¨è¿è¡äºå¡å¤çï¼è½¯æ ¸å¤çå¨å°å¯ç¼ç¨å¨ä»¶ï¼DSPåå¤çå¨ç»åå¨ä¸èµ·ï¼ä¸ºç³»ç»çº§è®¾è®¡æä¾äºæ大ççµæ´»æ§ãDSPï¼æ°åä¿¡å·å¤çå¨ï¼æå«äºéç¨å¤çå¨ï¼éä¸è¡¨ç°å¨å ¶å¼ºå¤§çæ°åä¿¡å·å¤çè½åä¸ãå¨DSP å é¨æä¾äºç¡¬ä»¶ä¹ç´¯å å¨ï¼å¤çå¨å¨è®¾è®¡ä¸å¯¹äºç¹æ®ç寻åæ¹å¼åäºä¼åï¼ä¸äºDSP è¿æ¯æé¶è循ç¯ï¼Zero OverheadLoopï¼ã为äºæ¹ä¾¿åµå ¥å¼ç³»ç»è®¾è®¡ï¼ä¸»æµDSP ä¸è¬ä¹é½æä¾äºä¸°å¯çå¤è®¾ãç¹å«å¼å¾ä¸æçæ¯ADI å ¬å¸çBlackfin ç³»åDSPåTI å ¬å¸çDMXç³»åDSPï¼ä¸¤ç§å¤çå¨é½æä¾äºä¸°å¯ççä¸å¤è®¾ï¼é常éç¨åµå ¥å¼ç³»ç»åºç¨ã
æä½ç³»ç»
http://WindowCE.NET/5.0
ä½ä¸ºMicrosoftç产åï¼WindowCE.NE/5.0æä¾äºåè½å®å¤çå¹³å°å¼åå·¥å ·Platform Builderååºç¨å¼åå·¥å ·Embedded Visual C++/Visual Studio ãWindowsCEç±äºæ¥æ广大使ç¨è æçæçwindowsçé¢ï¼ç³»ç»æä¾äºä¼å¤é©±å¨ç¨åºï¼å¹¶ä¸æå®å¤çææ¡£æ¯æã对äºåºç¨å¼åèè¨ï¼çæWindowsç³»ç»å¼åçç¨åºåå¾å®¹æ转å°WindowsCE åºç¨ç¨åºçå¼åãWindows CEå°ä¼æ¯ä¸ä¸ªé常æåéçåµå ¥å¼æä½ç³»ç»ã
VxWorks
VxWorksæ¯ç±Windriverï¼é£æ²³ï¼å ¬å¸åºåçåµå ¥å¼å®æ¶æä½ç³»ç»ï¼å¤§åé¼é¼çç«æç»é车就æ¯ä½¿ç¨äºVxWorksãWindriver为VxWorksæä¾äºéæå¼åç¯å¢tornadoã
Ï C/OSII
Ï C/OSæ¯ç±Jean Labrosse设计ç¼åçå¼æ¾æºä»£ç çåµå ¥å¼å®æ¶æä½ç³»ç»ï¼ç¬è ææ©æ¥è§¦çåµå ¥å¼æä½ç³»ç»å°±æ¯å®ãé è¯»å¹¶æ·±å ¥çè§£Ï C/OSçæºä»£ç 对äºç解å®æ¶ç³»ç»æ¯å¤§æ裨ççã
ARM Linux
ARM linuxæ¯ç±Russell Kingåå ¶ä»å¼åè å¼å移æ¤çç¨äºARM å¤çå¨çlinuxæä½ç³»ç»ãARM Linuxç³»ç»å¨GNU GPLä¸åå¸ã
Ï CLinux
Ï Clinux æ¯éç¨äºæ²¡æMMU çåµå ¥å¼å¤ççLinuxOS çæ¬ãÏ Clinux åæ ·å¨GNU GPLåå¸ã
åµå ¥å¼ç³»ç»å¼åè¿ç¨ä¸ç常è§é®é¢å解å³æ¹æ³
Bootloaderå¦ä½åå ¥Flash ï¼
åå¦è ä¸è¬é½ä¼éå°å¦ä½å°ç¨åºåå ¥å¤çå¨çé®é¢ã对äºä¸åçå¤çå¨ï¼å¯ä»¥éç¨ä¸åçæ¹æ³ãä¾å¦IntelçXscaleå¤çå¨å¯ä»¥ä½¿ç¨Intelå ¬å¸æä¾çJFlashå·¥å ·ç§åã对äºå ·æJTAGè°è¯å·¥å ·è½¯ä»¶çå¤çå¨ï¼å¯ä»¥ä½¿ç¨å¦ä¸æè·¯ï¼ç¼åä¸æ®µç¨åºï¼è¿æ®µç¨åºè½å°ä½äºSDRAM/SRAM åºå®å°åä¸çæ°æ®åå ¥Flashä¸ãç§åæ¶ï¼é¦å ï¼å°è¿æ®µè½¯ä»¶ä¸è½½å°SDRAM ä¸ï¼ç¶åéè¿è°è¯è½¯ä»¶å°è¦åå ¥Flashçæ°æ®ä¸è½½å°SDRAM/SRAMçæ个åºå®å°åå¼å§çç¼å²åºï¼ç¶åéè¿è°è¯å¨å¼å§æ§è¡ç¨åºï¼å°æ°æ®åå ¥Flashãé¤æ¤ä»¥å¤ï¼ç½ç»ä¸è¿æä¾äºå¾å¤ä¸ç¨çåFlashçå·¥å ·ï¼å¼åè å¯ä»¥æ ¹æ®èªå·±çéè¦éç¨ã(ç°å¨æç½äºæå¨å¦çé£ä¸ªBF为ä»ä¹å ä¸ä¸ªflashProgramer.dxeå äº)
ä»ä¹æ¯arm-elf-gccï¼
arm-elf-gccæ¯ä¸ä¸ªäº¤åCè¯è¨ç¼è¯å¨ãæ们å¨PCå¹³å°ä¸ç¼è¯ç¨åºï¼ç¼è¯å¨è¿è¡çå¤çå¨åçæç代ç å°è¦è¿è¡çå¤çå¨ç¸åãä½æ¯ï¼å¨PC
æºä¸ç¼è¯ARMç¨åºæ¶ï¼ç¼è¯å¨è¿è¡çå¤çå¨åçæç代ç è¿è¡çå¤çå¨ä¸åï¼è¿ç§ç¼è¯å¨å«å交åç¼è¯å¨ãå ¶ä¸çelfæ¯æç¼è¯å¨çæçç®æ æä»¶æ ¼å¼ã(å ¶å®æ们平æ¶ç¨çåçæºç¼è¯å¨å¦GCCâAVRçå·²æ¯äº¤åç¼è¯å¨äºï¼æå°ç°å¨æå¼æ¸ æ¥ä»ä¹æ¯äº¤åç¼è¯å¨)
èµ°äºåªæ¡ç¼è¯è·¯å¾ï¼
ç³»ç»ç¨åºå驱å¨ç¨åºå¾å¾å å«å¾å¤çç¼è¯é项ï¼å¾å¤é项é½æ¯å¨ç¼è¯æ¶éè¿å½ä»¤è¡å®ä¹çï¼å¦ææ³ç¥éç¼è¯çæ¯é£ä¸æ®µç¨åºå¯ä»¥ä½¿ç¨å¦ä¸çæ¹æ³ï¼
#ifdef PLAT_AAA
#error Code for Platform AAA
#else
#error Code NOT for Platform AAA
#endif
è¿æ ·å¨ç¼è¯çæ¶åå°±ç¥éï¼ç¼è¯çæ¯åªä¸æ¡è·¯ç»äºã对äºæ¯æ#pragma message( âI am hereâ)çç¼è¯å¨ä¹å¯ä½¿ç¨#pragma messageé¢ç¼è¯æ令ã
ææä¹ç¥éé£æ®µä»£ç å¨é£ä¸ªæ件ä¸ï¼
ç³»ç»ç¼ç¨ä¸ç»å¸¸éè¦ä½¿ç¨å¨å¤ä¸ªæ件ä¸æç´¢å符串ï¼å¨windowså¹³å°ä¸å¯ä»¥ä½¿ç¨å¹³å°æä¾çå¤æ件å符串æç´¢å·¥å ·ãå¨linuxå¹³å°ä¸ï¼å¯ä»¥ä½¿ç¨grepæ¥æç´¢å符串ãGrepçæç´¢åè½åå强大ï¼æ¯ææ£å表达å¼æç´¢ï¼çç»ä½¿ç¨grep对äºé 读系ç»å驱å¨ç¨åºä»£ç æ¯å¾æ帮å©çã
ç³»ç»æ¯ä»é£ä¸ªæ件å¼å§è¿è¡çï¼
对äºWindows CEç³»ç»ï¼ä¸è¬ä»WINCE\PLATFORM\YourPlatform\KERNEL\HALç®å½çæ个æ±ç¼æ件ä¸ã对äºLinuxç³»ç»çæ¬ä¸åä¼åå¨ä¸å®å·®å¼ï¼ä»¥armå¤çå¨ä¸ºä¾ï¼ä¸è¬ä¼å¨linux2.4.x\arch\arm\kernelçhead-armv.Sä¸ã
ç¨åºæ§è¡å°äºé£éï¼
å¯ä»¥å¨ç¨åºä¸æå ¥å¦ä¸ä»£ç æ¥å®ç°
printf( âI am here %s, %d\nâ,__FILE__,__LINE__);
代ç å°æåºprintfè¯å¥æå¨çæ件ååè¡å·ã
æ¨è书ç®
Jean J.Labrosse MicroC/OS-II The Real-TimeKernel,Second Editionè¿æ¬ä¹¦æ¯ç¬è æ¥è§¦åµå ¥å¼å®æ¶ç³»ç»çå ¥é¨ä¹¦ï¼å¨å½å è½å¤ä¹°å°ä¸æçãè¿æ¬ä¹¦è¾ä¸ºæ¸ æ¥å°è®²è¿°äºå®æ¶ç³»ç»çæ¦å¿µï¼å个ç»æé¨åçå·¥ä½åçï¼ç¹å«æ¯å ¬å¼äºå®æ¶ç³»ç»å æ ¸çæºä»£ç ï¼ä»ç»ç 究å®ä¼åçåªæµ ãæ个å°çæ示ï¼å¯¹äºåå¦è ï¼è¿æ¬ä¹¦å¯ä»¥å ä¸ç第ä¸ç« ï¼ç´æ¥ä»ç¬¬äºç« çèµ·ã
Abraham Silberschatz, Peter Baer Galvin,GregGagne Operating System Conceptsç¬è å¨æå¦è¿ç¨ä¸åç°ï¼æ 论æ¯è®¡ç®æºè¿æ¯çµåå·¥ç¨ä¸ä¸é½æå¾å¤å¦ç对äºæä½ç³»ç»çåºæ¬æ¦å¿µé½æ²¡æææ¸ ï¼å¾å°æå¦çæå®æ´çç³»ç»ç¼ç¨ç»éªãOperating System Conceptsè¿æ¬ä¹¦å¯¹æä½ç³»ç»çæ¦å¿µè®²è¿°åªè½ç¨ç»å ¸æ¥å½¢å®¹ã对äºåµå ¥å¼ç³»ç»æå ´è¶£æ·±å ¥ç 究çåå¦ï¼é¦å è¦æåºç¡æ好ï¼è¿æ¬ä¹¦å°±æäºå¿ 读ä¹ç©äºã
Andrew S. Tanenbaum Computer Networks æèµ·Andrew S. Tanenbaum å¦ä¹ 计ç®æºçåå¦ä¸å®é½ç¥éOPERATINGSYSTEMs:Designand
Implementationè¿æ¬ä¹¦ï¼ç¬è 对äºTanenbaumè¿æ ·çææç±è¡·ä½©æãç½ç»åè®®æ æ¯åµå ¥å¼ç³»ç»ä¸çæ¯æ±æ§ç»æé¨åãæ¿æè´åäºç½ç»æ·±å±ææ¯ç 究çåå¦ï¼è¿æ¬ä¹¦å°ä¸ºä½ 们建ç«ä¸ä¸ªåå®çç½ç»åºç¡ã
Karim Yaghmour Building Embedded Linux Systemsæ¬ä¹¦è¯¦å°½çä»ç»äºåµå ¥å¼linuxç³»ç»çç»æï¼åºæ¬æ¦å¿µåå¦ä½å»å»ºç«å个é¨åãå ¨ä¹¦ç¯å¹ è¾å°ï¼å¯è°çå°ç²¾æãå³å¯ä»¥ä½ä¸ºåµå ¥å¼linuxç³»ç»çå ¥é¨è¯»ç©ï¼åæ¯å¼åè¿ç¨å个é¨åçæåã
Advanced RISC Machines Ltd (ARM) ARM7 TDMI DataSheet Advanced RISC Machines Ltd (ARM) ARMTTechnical Reference Manualå¦ä¹ åµå ¥å¼ç³»ç»ä¸äºè§£å½ååºç¨æ广æ³çåµå ¥å¼å¤çå¨æä¹è¡ï¼ARM7 TDMI ç data sheetæ¯å¦ä¹ ARMç¼ç¨æ¨¡åï¼æ令éç好ä¸è¥¿ãå¨åµå ¥å¼ç³»ç»ä¸ï¼MMUï¼å å管çåå ï¼æ¯å¾éè¦çé¨åï¼åæ¯è¾é¾ç解åææ¡çé¨åãARMTTechnical Reference Manual æ£å¥½å¯ä»¥å¸®ä½ 讲解è¿æ¹é¢çå 容ã
Perter Van Der LinDen Expert C Programmingåµå ¥å¼ç³»ç»çº§ç¼ç¨æ常ç¨çè¯è¨è¿æ¯C ãå¾å¤åå¦é½èªè®¤ä¸ºèªå·±çCè¯è¨å¦çå¾å¥½ï¼é£å¥½ï¼å°±ççè¿æ¬ä¹¦å§ï¼æ¾æ¾èªå·±åExpertså·®è·ã
åµå ¥å¼å¼åä¸æ¡é¢å¼åæ¢æä¸åï¼åæé常大çèç³»ï¼èä¸åå注éå®é æä½è½åãææ¡é¢å¼åç人å¨ä¸å¼å§æ¥è§¦åµå ¥å¼çæ¶åï¼é常转æ¢ä¸è¿æ¥ï¼è¿ä¸»è¦ä½ç°å¨å®ä½ä¸ãå¦æä¸æ说ï¼ä½ æ¯è°ï¼ä½ è¦åä»ä¹ï¼æ对硬件çäºè§£ä» éäºç¼ç¨é¢åï¼PCB设计ä¸çªä¸éï¼ä½å¹¶ä¸è½è¯´ä½ ä¸æ硬件就ä¸è½ä»äºåµå ¥å¼å¼åãä¸ä¸ªç³»ç»çå¼å设计æ¹æ¹é¢é¢ï¼å¨èªå·±æå ´è¶£åçæçé¢åååºèªå·±çè´¡ç®ææ¯æ主è¦çã
1ã硬件设计: éè¦æ硬件设计çç»éªï¼å¯¹åç§åµå ¥å¼å¨ä»¶æå¾å¥½çäºè§£ã
2ãç³»ç»ç§»æ¤ï¼éè¦æ±ç¼ç»éªï¼æä½ç³»ç»åç以ååºå±é©±å¨çäºè§£
3ãåºç¨ç¨åºï¼éè¦æ¡é¢ç¼ç¨ç»éª
VxWorks下设备驱动程序及BSP开发指南内容简介
本书是关于VxWorks操作系统下的设备驱动程序及BSP(Board Support Package)开发的指南。其语言流畅,结构清晰,内容既全面又深入浅出,是编者结合多年实际开发经验,通过示例源代码和文字说明编写的。此书旨在为以VxWorks为基础的嵌入式系统开发、设计人员提供实用指导,同时也适合其他相关技术人员及爱好者参考。 本书不仅详细介绍了VxWorks操作系统的工作原理和架构,还深入探讨了如何在该系统下开发设备驱动程序。它涵盖了从基本概念、原理、设计到实现的全过程,帮助读者理解如何与硬件进行交互,以及如何优化驱动程序以提高系统的性能和稳定性。同时,书中还提供了丰富的实际案例,使读者能够通过实践加深理解,提高开发技能。 在BSP部分,本书详细阐述了如何根据不同的硬件平台定制和优化BSP,以确保VxWorks在各种硬件环境下的良好运行。它解释了BSP的主要组件,如时钟管理、内存管理、设备管理以及硬件中断处理等,以及如何合理配置这些组件以满足特定硬件平台的需求。 本书还强调了代码的可读性和可维护性,提供了大量的代码示例,并对关键代码段进行了详细的注释和解释。这使得读者不仅能够理解代码的逻辑,还能学会如何在实际开发中应用这些知识。 总之,本书是一本深入浅出、实践性强的指南,不仅适合于VxWorks操作系统下的嵌入式系统开发、设计人员,也能够为其他相关技术人员及爱好者提供宝贵的参考和学习资源。扩展资料
本书详细深入介绍了VxWorks下设备驱动程序及BSP的开发等内容。全书共章,主要内容包括:外部设备及设备驱动程序概述、VxWorks下设备及设备驱动程序、VxWorks下设备驱动程序的分析、驱动程序的轮询和中断处理、编写字符设备驱动程序、编写网络设备驱动程序、BSP概述、VxWorks预内核初始化、BSP的配置、BSP开发等内容。