《最新嵌入系统开发指南PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新嵌入系统开发指南PPT课件.ppt(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、嵌入系统开发指南嵌入系统开发指南一个产品软件包括l软件系统软件可执行文件BOOTROM:烧在BOOTROM里的小软件,管理软件加载等功能。在系统正常运行前使用,类似PC CMOS。特殊芯片的专用软件(逻辑/微码),用于FPGA可编程芯片、网络处理器。不在CPU运行。l硬件系统:板、卡、芯片等等l文档嵌入式系统的软件开发(一)l商业操作系统包含的内容DEMO板的操作系统二进制文件,包括内核和一些其他库(ANSI C,TCP/IP,Driver,BSP,shell,File System)部分源代码(Driver,BSP)集成开发环境IDE(编辑器,工程管理,编译器,调试器,其他辅助工具)l嵌入式
2、系统调试,HOST与TARGET。嵌入式系统的软件开发(二)l起始点:Demo板的软件。lBSP&BootRom l特殊硬件的驱动程序;l应用软件;l编译过程编译BSP编译应用软件链接操作系统内核、函数库、BSP和应用软件得到可加载文件(.bin或.hex等)嵌入式系统的软件开发(三)l目标机加载过程加载程序将计算机上编译得到的可加载文件传送到目标设备。(FTP,或串口XMODEM)设备上的BOOTROM程序接收,保存到FLASH。设备启动时,将执行文件加载到内存。程序指针跳转到执行文件的入口。嵌入式系统的软件开发(四)l调试过程启动HOST与TARGET的通信程序启动调试器(host与tar
3、get)指定要调试的任务或直接指定调试整个系统进行调试嵌入式系统的软件开发(五)l要求详细学习操作系统的说明文档,除非特殊原因,应充分利用系统提供的调用完成任务。详细了解自己涉及的所有系统调用。(功能,参数,返回值,是否会阻塞,是否可以在中断中被调用,出错类型)对所有的系统调用错误进行检查并至少输出出错信息作为出错处理。对操作系统附加的其他开发库调用函数有同样的要求嵌入式系统的软件开发(六)l基础软件人机界面(命令行,snmp,http)配置数据文件日志l业务模块:完成设备的业务功能,如TCP/IP的各种协议,实现中应包括配置管理,热插拔,主备倒换功能。l设备管理:管理硬件设备和逻辑设备,实现
4、中应包括配置管理,热插拔,主备倒换功能。嵌入式系统的应用软件分类电信设备软件系统的要求l结构合理,便于组合、剪裁、扩展,及时提供新功能特性,提高产品竞争力。l由于设备要长年连续运行,不希望发生停机,对稳定性的要求非常高!l设备一旦在用户(尤其是电信运营商)处发生问题,后果会比较严重,要尽快恢复。但是,网上情况复杂,发生问题的原因不容易定位,软件要提供尽可能好的调试维护手段。l提供热备份,告警,日志,跟踪,远程维护等辅助功能。实时系统l多用于电子设备,功能比较单一,要求对外界事件(中断)响应快l采用多任务机制,任务调度比进程调度开销小,可以保证响应速度l用户界面和应用软件扩展能力比较差,是可以接
5、受的。任务模型l任务的main函数:l初始化(申请资源,初始化数据)主循环(死循环)l等候事件(挂起点,只能有一个!)l处理事件l任务的使用l系统初始化或某个条件下创建任务l创建任务要给出入口函数指针、名称、优先级等。l任务一般是死循环,主函数永不退出。任务的切换l挂起点应该在主循环里设置一个。比如读事件时挂起,同时指定一个适当的超时时间。有把握时也可以用无限等待。l也可以用轮询方法:有事做事,无事就睡眠50ms之类;不理想:任务循环反应慢,无事时又空转。l当前任务挂起或睡眠时,低优先级任务可以执行vxWorks任务l任务资源:PC指针、寄存器、调用栈、I/O指针等。注意内存是共享资源。l任务
6、的状态:Ready:正在运行或等候运行Pend:等候资源,如被信号量挂起Delay:主动进入了睡眠 taskDelay()Suspend:被阻塞,通常是为调试而中断vxWorks任务l任务优先级:0-255,0最高。l任务调度:我们目前是可抢占一个任务释放CPU时,系统选取当前Ready状态的任务中优先级最高的任务投入运行。任务优先级要适当选择。较高优先级任务要避免长期占据CPU。vxWorks任务间通讯l共享内存:最简单,但要考虑冲突。任务间耦合度高。l信号量semaphores:控制同步或互斥。信号量有不同类型:计数可以是0-1,也可以是0-N。l消息队列:减少任务间耦合,但效率较低。lSocket/RPC:网络通讯的手段l信号signals:用于通知异常l前三个是最常用的。结束语结束语谢谢大家聆听!谢谢大家聆听!24