当
设计较复杂的程序时,可能就需要一个操作系统(OS)来管理控制内存、多任务、周边资源等,现代高性能
嵌入式系统开发应用越来越广泛,操作系统使用成为必然发展趋势。嵌入式系统是以应用为中心,以计算机技术为基础,且软硬件可裁减,适应应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
企业常用的嵌入式系统开发_嵌入式系统开发流程分析
对于
嵌入式系统开发,在嵌入式硬件系统已经设计测试完成、嵌入式操作系统已经确定的前提下,
嵌入式系统开发必须按照下面的步骤。一品
威客网给您详细介绍。
1、BSP的开发和调试 BSP是板级支持包,是介于主板硬件和操作系统之间的一层,应该说是属于操作系统的一部分,主要目的是为了支持操作系统,使之能够更好的运行于硬件系统,BSP是相对于操作系统而言的,不同的操作系统对应于不同定义形式的BSP。
对于一个新的硬件系统,即使第三方已经提供了完整的驱动程序,但是由于FLASH或者RAM的不同,必须进行BSP的编写,使之能够支持操作系统,完成对硬件的控制,因此对于嵌入式操作系统的
软件开发,首先应该进行BSP板极支持包的编写和调试。
2、操作系统的裁剪 对应于PC机上的软件开发,这应该属于系统设计,针对嵌入式系统的硬件环境,必须对操作系统进行裁剪设计,一方面卸载和删除无用的模块,修改和简化需要的模块;另一方面增加板极支持包的支持,相对嵌入式硬件系统,完善相对应的操作系统,使得系统最为紧凑、小巧。
3、嵌入式操作系统内核的配置和编译 当系统设计确定后,就可以对具体对操作系统的内核进行合理配置和编译,形成新的应用于嵌入式硬件系统的新的内核,最后一般形成内核影象文件,下载到系统的FLASH中,完成内核的“量身定做”。
4、系统文件系统的建立 对于操作系统,内核裁剪完成后,接着对文件系统进行裁剪,由于每一种操作系统都支持很多文件系统,对于嵌入式操作系统的文件系统裁剪,和内核一样,针对板子上的并口FLASH、串口FLASH,各种存储卡、U盘等等,构造和裁剪出相应的文件系统,完成文件系统的建立。
5、用户程序的编写和简单的仿真调试 建立交叉编译的开发环境,开发用户的应用程序,并且尽可能采用一些开发工具,如Multi-ice等,把一些模块下载到目标板上,进行测试。
6、整体系统的目标板仿真调试 应用
程序开发完后,和文件系统一起,形成文件系统的影象文件,然后通过仿真工具(仿真机、调试串口等)和host-taget开发环境,对系统进行仿真和调试
嵌入式系统的调试有四种基本方法:
模拟调试(Simulator):直接在主机上进行调试,使用软件模拟目标运行环境,主要进行语法和逻辑上的调试。
软件调试(Debugger):主机和目标板通过某种接口(通常是串口)连接,主机上提供调试界面,待调试软件下载到目标板上运行。这种方式的先决条件是要在主机和目标板之间建立通信联系。
BDM/JTAG调试(BDM/JTAG Debugger):这种方式调试除了主机和目标板之外,还需要一个额外的调试装置,该装置与目标板通过BDM/JTAG等调试接口相连,与主机通过串口、并口、网口或USB相连。待调试的软件通过该调试装置下载到目标板上运行。
全仿真调试(Emulator):仿真器完全或部分取代目标板上的部件(例如机械部分或MCU),因而目标系统对开发者来说完全是透明的、可控的。由于仿真器自成体系,调试时既可以连接也可以不连接(stand alone)目标板。
7、系统下载和脱机运行 当仿真完成,确定系统功能开发达到目标后,把最终形成的影象文件,内核影象文件和文件系统影象通过开发系统的下载工具进行下载,然后,去掉,调试系统、加电复位运行。
8、烧写内核、根文件系统和应用程序,发布产品。 嵌入式系统开发设计大部分工作都集中在软件方面。嵌入式系统在开发过程一般都采用 “宿主机/目标板”开发模式,即利用宿主机(PC机)上丰富的软硬件资源及良好的开发环境和调试工具来开发目标板上的软件,然后通过交叉编译环境生成目标代码和可执行文件,通过串口/USB/以太网等方式下载到目标板上,利用交叉调试器在监控程序运行,实时分析,最后,将程序下载固化到目标机上,完成整个开发过程。
一品威客网汇聚了数百万专业的程序开发、软件美工、插件开发、软件汉化、脚本制作、软件测试、游戏开发、办公系统开发、程序修改、嵌入式、桌面软件、多媒体软件、其他软件开发等优秀威客人才,只要您在网站发布任务需求,就能够吸引众多威客给您献上最好的创意服务。
推荐更多与“企业常用的嵌入式系统开发_嵌入式系统开发流程分析”相关推荐:
安卓程序开发 | 微信功能开发 | 微信公众号开发 | p2p网贷系统开发 | linux驱动程序开发
手机程序开发 | 微信商城开发 | 手机微网站开发 | 微信api功能开发 | 微信签到功能开发
应用程序开发 | 网站开发框架 | 微信3g网站开发 | Windows驱动开发 | 嵌入式应用程序开发