《几种嵌入式操作系统简介.pdf》由会员分享,可在线阅读,更多相关《几种嵌入式操作系统简介.pdf(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、几种嵌入式操作系统简介几种嵌入式操作系统简介王辉2版权版权华清远见嵌入式培训中心版权所有;华清远见嵌入式培训中心版权所有;未经华清远见明确许可,不能为任何目的以任何形式复制未经华清远见明确许可,不能为任何目的以任何形式复制或传播此文档的任何部分;或传播此文档的任何部分;本文档包含的信息如有更改,恕不另行通知;本文档包含的信息如有更改,恕不另行通知;保留所有权利。保留所有权利。今日内容大纲形形色色的嵌入式操作系统嵌入式Linux系统简介eCos操作系统简介WindowsCE操作系统简介形形色色的嵌入式操作系统嵌入式操作系统不下几十种众多操作系统可以按不同标准进行分类嵌入式操作系统分类示例产品线P
2、DA(个人数字助理)Palm OSWindows CEMusic Player(音乐播放器)iPod Linuxiriver clix OSSmartphone(智能手机)BlackBerryiPhone OSWindows MobileSymbian OS如何选择嵌入式操作系统许可证私有版权公共许可证硬件支持体系结构的支持代码体积存储器容量限制成功案例功能模块多寡文件系统图形界面移植的难度驱动开发难度驱动架构是否清晰调试手段操作系统(核心)应用程序嵌入式Linux结构及大小Linux为多进程操作系统分为内核与根文件系统(用户空间的文件)一般情况下,内核大小为几百k到几M之间;文件系统为几M到
3、十几G嵌入式Linux版权与硬件支持Linux遵守GPLv2(1991)32 位体系架构:alpha,arm,cris,frv,x86,m68k,mips,parisc,ppc,sh,sparc64 位体系架构:mips64,ppc64,sh64,sparc64,x86_嵌入式Linux驱动分析串口驱动完备的逻辑层代码serial_coreuart_register_driveruart_add_one_porttty_insert_flip_charuart_port-uart_info-tty_struct/circ_buf物理层驱动实现uart_driver结构变量实现uart_port
4、结构变量实现uart_ops结构变量嵌入式Linux驱动分析串口驱动static struct uart_ops serial8250_pops=.tx_empty=serial8250_tx_empty,.set_mctrl=serial8250_set_mctrl,.get_mctrl=serial8250_get_mctrl,.stop_tx=serial8250_stop_tx,.start_tx=serial8250_start_tx,.stop_rx=serial8250_stop_rx,.enable_ms=serial8250_enable_ms,.break_ctl=seri
5、al8250_break_ctl,.startup=serial8250_startup,.shutdown=serial8250_shutdown,.set_termios=serial8250_set_termios,.pm=serial8250_pm,.type=serial8250_type,.release_port=serial8250_release_port,.request_port=serial8250_request_port,.config_port=serial8250_config_port,.verify_port=serial8250_verify_port,;
6、嵌入式Linux调试与测试调试技术核心态的调试PrintkKgdbFtrace用户态的调试Gdb serverGprofLinux的测试LTPPosixtest eCos结构与大小eCos操作系统是多线程操作系统内核与应用共同组成一个可执行文件一般情况下,项目可执行文件几百k到几MeCos版权与硬件支持eCos遵守GPLv2 likeeCos支持常见的体系结构ArmMipsPowerpcI586M68kSparcSuperHeCos驱动开发串口eCos中驱动层次结构eCos驱动开发串口串口驱动逻辑层提供上层接口DEVIO_TABLE(cyg_io_serial_devio,serial_wri
7、te,serial_read,serial_select,serial_get_config,serial_set_config);串口物理层定义串口设备,定义serial_channel并实现serial_funs函数static SERIAL_FUNS(pc_serial_funs,pc_serial_putc,pc_serial_getc,pc_serial_set_config,pc_serial_start_xmit,pc_serial_stop_xmit);eCos调试与测试调试技术Printf普通的硬件调试器Gdb stubgdbeCos测试eCos模块自带的单元测试用例Wind
8、owsCE结构与大小WindowsCE操作系统是多线程操作系统内核、系统模块、应用程序各为独立文件,共同组成rom image部署一般情况下,rom image几M到几十MWindowsCE版权与硬件支持WindowsCE遵守微软私有版权Runtime licenseWinCE支持的体系结构ArmMipsX86SuperHWindowsCE 驱动开发串口驱动层次结构WindowsCE 驱动开发串口实现串口MDD与PDD接口DDSItypedef struct _HWOBJ ULONG BindFlags;/Flags controlling MDD behaviour.Se above.DWO
9、RD dwIntID;/Interrupt Identifier used if THREAD_AT_INIT or THREAD_AT_OPEN PHW_VTBL pFuncTbl;HWOBJ,*PHWOBJ;HW_VTBL则是代表具体硬件操作函数指针的集合typedef struct _HW_VTBL PVOID(*HWInit)(ULONG Identifier,PVOID pMDDContext,PHWOBJ pHWObj);BOOL(*HWPostInit)(PVOID pHead);ULONG(*HWDeinit)(PVOID pHead);BOOL(*HWOpen)(PVOID pHead);ULONG(*HWClose)(PVOID pHead);WindowsCE调试与测试调试技术RetailMsg、DebugMsgKITL DebuggerKITL remote toolsCE target controlWindowsCE测试CETK C/S modeCETK stand-alone 22Q&A23
限制150内