欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    嵌入式系统开发的模式与流程.pdf

    • 资源ID:70426292       资源大小:192.47KB        全文页数:5页
    • 资源格式: PDF        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    嵌入式系统开发的模式与流程.pdf

    嵌入式系统开发的模式与流程嵌入式系统开发的模式与流程 2007-9-25 10:17:00|By:山野村夫 1 嵌入式系统的结构嵌入式系统的结构 1.1 嵌入式系统的硬件架构嵌入式系统的硬件架构 如图 5-1 所示,为嵌入式系统硬件模型结构,此系统主要由微处理器 MPU、外围电路,以及外设组成,微处理器为 ARM 嵌入式处理芯片,如 ARM7TMDI 系列及 ARM9 系列微处理器,MPU 为整个嵌入式系统硬件的核心,决定了整个系统功能和应用领域。外围电路根据微处理器不同而略有不同,主要由电源管理模型、时钟模块、闪存 FIASH、随机存储器 RAM,以及只读存储器 ROM 组成。这些设备是一个微处理器正常工作所必须的设备。外部设备将根据需要而各不相同,如通用通信接口 USB、RS-232、RJ-45 等,输入输出设备,如键盘、LCD 等。外部设备将根据需要定制。嵌入式处理系统主要包括嵌入式微处理器、存储设备、模拟电路及电源电路、通信接口,以及外设电路。1.2 嵌入式系统的软件结构嵌入式系统的软件结构 嵌入式系统与传统的单片机在软件方面最大的不同就是可以移植操作系统,从而使软件设计层次化,传统的单片机在软件设计时将应用程序与系统、驱动等全部混在一起编译,系统的可扩展性,可维护性不高,上升到操作系统后,这一切变得很简单可行。嵌入式操作系统在软件上呈现明显的层次化,从与硬件相关的 BSP 到实时操作系统内核 RTOS,到上层文件系统、GUI 界面,以及用户层的应用软件。各部分可以清晰地划分开来,如图 5-2 所示。当然,在某些时候这种划分也不完全符合应用要求。需要程序设计人员根据特定的需要来设计自己的软件。板级支持包(Board Support Packet)主要用来完成底层硬件相关的信息,如驱动程序,加载实时操作系统等功能;实时操作系统层主要就是常见的嵌入式操作系统,设计者根据自己特定的需要来设计移植自己的操作系统,即添加删除部分组件,添加相应的硬件驱动程序,为上层应用提供系统调用;文件系统、GUI,以及系统管理主要应对需要,即如果需要文件系统及图形界面支持才需要设计,主要是为了应用程序员开发应用程序提供更多更便捷更丰富的 API 接口;应用软件层即用户设计的针对特定应用的应用软件,在开发该应用软件时,可以用到底层提供的大量函数。采用分层结构的软件设计使系统清晰明了,各个部分设计工作分工明确,从而避免整个系统过分庞大。2 嵌入式开发的模式及流程嵌入式开发的模式及流程 2.1 嵌入式系统开发模式嵌入式系统开发模式 嵌入式系统开发分为软件开发部分和硬件开发部分。嵌入式系统在开发过程一般都采用如图 5-3 所示的“宿主机/目标板”开发模式,即利用宿主机(PC 机)上丰富的软硬件资源及良好的开发环境和调试工具来开发目标板上的软件,然后通过交叉编译环境生成目标代码和可执行文件,通过串口/USB/以太网等方式下载到目标板上,利用交叉调试器在监控程序运行,实时分析,最后,将程序下载固化到目标机上,完成整个开发过程。在软件设计上,如图 5-4 所示为结合 ARM 硬件环境及 ADS 软件开发环境所设计的嵌入式系统开发流程图。整个开发过程基本包括以下几个步骤。(1)源代码编写:编写源 C/C+及汇编程序;(2)程序编译:通过专用编译器编译程序;(3)软件仿真调试:在 SDK 中仿真软件运行情况;(4)程序下载:通过 JTAG、USB、UART 方式下载到目标板上;(5)软硬件测试、调试:通过 JTAG 等方式联合调试程序;(6)下载固化:程序无误,下载到产品上生产。2.2 嵌入式系统开发流程嵌入式系统开发流程 当前,嵌入式开发已经逐步规范化,在遵循一般工程开发流程的基础上,嵌入式开发有其自身的一些特点,如图 5-5 所示为嵌入式系统开发的一般流程。主要包括系统需求分析(要求有严格规范的技术要求)、体系结构设计、软硬件及机械系统设计、系统集成、系统测试,最终得到最终产品。(1)系统需求分析。确定设计任务和设计目标,并提炼出设计规格说明书,作为正式设计指导和验收的标准。系统的需求一般分功能性需求和非功能性需求两方面。功能性需求是系统的基本功能,如输入输出信号、操作方式等;非功能需求包括系统性能、成本、功耗、体积、重量等因素。(2)体系结构设计。描述系统如何实现所述的功能和非功能需求,包括对硬件、软件和执行装置的功能划分,以及系统的软件、硬件选型等。一个好的体系结构是设计成功与否的关键。(3)硬件/软件协同设计。基于体系结构,对系统的软件、硬件进行详细设计。为了缩短产品开发周期,设计往往是并行的。嵌入式系统设计的工作大部分都集中在软件设计上,采用面向对象技术、软件组件技术、模块化设计是现代软件工程经常采用的方法。(4)系统集成。把系统的软件、硬件和执行装置集成在一起,进行调试,发现并改进单元设计过程中的错误。(5)系统测试。对设计好的系统进行测试,看其是否满足规格说明书中给定的功能要求。嵌入式系统开发模式最大特点是软件、硬件综合开发。这是因为嵌入式产品是软硬件的结合体,软件针对硬件开发、固化、不可修改。如果在一个嵌入式系统中使用 Linux 技术开发,根据应用需求的不同有不同的配置开发方法,但是,一般情况下都需要经过如下的过程。(1)建立开发环境,操作系统一般使用 Redhat Linux,选择定制安装或全部安装,通过网络下载相应的 GCC 交叉编译器进行安装(比如,arm-1inux-gcc、arnl-uclibc-gcc),或者安装产品厂家提供的相关交叉编译器;(2)配置开发主机,配置 MINICOM,一般的参数为波特率 115200 Baud/s,数据位 8 位,停止位为 1,9,无奇偶校验,软件硬件流控设为无。在 Windows 下的超级终端的配置也是这样。MINICOM 软件的作用是作为调试嵌入式开发板的信息输出的监视器和键盘输入的工具。配置网络主要是配置 NFS 网络文件系统,需要关闭防火墙,简化嵌入式网络调试环境设置过程。(3)建立引导装载程序 BOOTLOADER,从网络上下载一些公开源代码的 BOOTLOADER,如 UBOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT 等,根据具体芯片进行移植修改。有些芯片没有内置引导装载程序,比如,三星的 ARV17、ARM9 系列芯片,这样就需要编写开发板上 FLASH 的烧写程序,读者可以在网上下载相应的烧写程序,也有Linux 下的公开源代码的 J-FLASH 程序。如果不能烧写自己的开发板,就需要根据自己的具体电路进行源代码修改。这是让系统可以正常运行的第一步。如果用户购买了厂家的仿真器比较容易烧写 FLASH,虽然无法了解其中的核心技术,但对于需要迅速开发自己的应用的人来说可以极大提高开发速度。(4)下载已经移植好的 Linux 操作系统,如 MCLiunx、ARM-Linux、PPC-Linux 等,如果有专门针对所使用的 CPU 移植好的 Linux 操作系统那是再好不过,下载后再添加特定硬件的驱动程序,然后进行调试修改,对于带 MMU 的 CPU 可以使用模块方式调试驱动,而对于 MCLiunx 这样的系统只能编译内核进行调试。(5)建立根文件系统,可以从 http:/ 下载使用 BUSYBOX 软件进行功能裁减,产生一个最基本的根文件系统,再根据自己的应用需要添加其他的程序。由于默认的启动脚本一般都不会符合应用的需要,所以就要修改根文件系统中的启动脚本,它的存放位置位于/etc 目录下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile 等,自动挂装文件系统的配置文件/etc/fstab,具体情况会随系统不同而不同。根文件系统在嵌入式系统中一般设为只读,需要使用 mkcramfs genromfs 等工具产生烧写映像文件。(6)建立应用程序的 FLASH 磁盘分区,一般使用 JFFS2 或 YAFFS 文件系统,这需要在内核中提供这些文件系统的驱动,有的系统使用一个线性 FLASH(NOR 型)512KB32MB,有的系统使用非线性 FLASH(NAND 型)8MB512MB,有的两个同时使用,需要根据应用规划 FLASH 的分区方案。(7)开发应用程序,可以放入根文件系统中,也可以放入 YAFFS、JFFS2 文件系统中,有的应用不使用根文件系统,直接将应用程序和内核设计在一起,这有点类似于C/OS-II的方式。(8)烧写内核、根文件系统和应用程序,发布产品。

    注意事项

    本文(嵌入式系统开发的模式与流程.pdf)为本站会员(asd****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开