1,嵌入式系统结构

1.1嵌入式系统硬件结构:嵌入式硬件系统主要由微处理器MPU,外围电路,以及外设组成,微处理器为ARM嵌入式处理芯片

如ARM7TMDI系列及ARM9系类处理器,MPU为整个嵌入式系统硬件的核心,决定整个系统功能和应用领域。外围电路根据微处理器不同而略有不同,主要由电源管理模型,时钟模块,闪存FLASH随机存储器RAM,以及只读存储器ROM组成。这些设备是一个微处理器正常工作所必须的设备。外部设备将根据需要而各不相同,如通用通信接口USB,RS-232,RJ45等,输入输出设备,如键盘,LCD等外部设备根据需要定制。

嵌入式系统主要包括嵌入式微处理器,存储设备,模拟电路 ,电源电路、通信接口、以及外设电路、

1.2嵌入式系统的软件结构:

嵌入式系统与传统的单片机在软件方面最大的不同是可以移植操作系统。从而使软件设计层次化,传统的单片机在软件设计时将应用程序与系统,驱动等全部混在一起编译,系统的可扩展性,可维护性不高,上升到操作系统后,这一切就变得很简单可行了。嵌入式操作系统在软件商呈现明显的层次化,从与硬件相关的BSP到实时操作系统内核RTOS,到上层文件系统、GUI界面,以及用户层的应用软件。各部分可以清晰的划分出来。当然某些时候这种划分也不完全符合应用要求,需要程序设计人员根据特定的要求来设计自己的软件。

板级支持包(board support packet)主要用来完成底层硬件的相关信息,如驱动程序,加载实时操作系统等功能;

实时操作系统层主要就是常见的嵌入式操作系统,设计者根据自己特定的需要来设计移植自己的操作系统,即添加删除部分组件,添加相应的硬件驱动程序,为上层应用提供系统调用。

文件系统,GUI,以及系统管理主要应对需要,即如果需要文件系统及图形界面支持才需要设计,主要是为了应用程序开发应用程序提供更多更便捷更丰富的API接口。

应用软件层即用户设计的针对特定应用的应用软件,在开发应用软件时,可以用到底层提供的大量函数。

采用分层结构的软件设计使系统清晰明了,各个部分设计工作分工明确,从而避免整个系统过分庞大。

2, 嵌入式开发的模式及流程

2.1 嵌入式系统开发模式

 嵌入式系统开发分为软件开发部分和硬件开发部分。

嵌入式系统的开发过程一般采用“宿主机/开发板”开发模式,即利用宿主机(PC机)上丰富的软硬件资源及良好的开发环境和调试工具来开发目标板上的软件。然后通过交叉编译环境生成目标代码和可执行文件,通过串口/USB/以太网等方式下载到目标板上,利用交叉调试器在监控程序运行,实时分析,最后将程序下载固化到目标机上,完成整个开发过程。

 在软件设计上,结合ARM硬件环境及ADS软件开发环境所设计的嵌入式系统开发过程

基本包括以下几个步骤:

1,源代码编写,编写C/C++及汇编程序2,程序编译,通过专用编译器编译程序,3,软件仿真调试,在SDK中仿真软件运行情况。4,程序下载,通过JTAG,USB,UART等方式联合调试程序5,软硬件测试,调试。通过JTAG等方式联合调试程序6,下载固化,程序无误,下载到产品上生产。

2.2 嵌入式系统开发流程

当前嵌入式开发已经逐步规范化,在遵循一般工作流程的基础上,嵌入式开发有其自身的一些特点,嵌入式系统开发的一般流程。主要包过系统需求分析(要求有严格的规范的技术要求)、,体系结构设计

软硬件及机械系统设计,系统集成,系统测试,最终得到最终产品。
————————————————
版权声明:本文为CSDN博主「catamout」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/catamout/article/details/5278521

嵌入式系统开发的模式与流程相关推荐

  1. 嵌入式系统功能需求分析_嵌入式系统开发流程及前景分析

    嵌入式系统开发就是对于除了电脑之外的所有电子设备上操作系统的开发,开发对象有手机,掌上电脑,机电系统等,以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能.可靠性.成本.体积.功 ...

  2. 嵌入式系统开发怎样快速度入门

    http://wenda.tianya.cn/wenda/thread?tid=392a249d9d6856c5 实践当然是最锻炼人的方式,但是我想在校生很少有这样的机会,别说本科生,硕士生也未必有条 ...

  3. 面向对象嵌入式系统开发7-嵌入式系统的实现

    面向对象嵌入式系统开发7-嵌入式系统的实现  如果说嵌入式系统的面向对象分析与设计涉及到抽象.思考和经验的话,那么嵌入式系统的实现则涉及更多的实施细节.无论使用咋样前言的技术方法,最终都需要把整个系统 ...

  4. 嵌入式系统开发-学习路线

    嵌入式系统开发 课程链接 随着嵌入式设备的普及,嵌入式应用的需求量也随之增大,本课程将重点培养基于linux系统下的嵌入式应用开发,包括5个阶段,其中课程涵盖了linux系统下的多进程.多线程嵌入式开 ...

  5. 嵌入式系统开发设计---嵌入式系统开发设计

    嵌入式系统设计的主要任务是定义系统的功能.决定系统的架构,并将功能映射到系统实现架构上.这里,系统架构既包括软件系统架构也包括硬件系统架构.一种架构可以映射到各种不同的物理实现,每种实现表示不同的取舍 ...

  6. 《嵌入式系统开发之道——菜鸟成长日志与项目经理的私房菜》——02-08项目人力资源(Human Resource)管理...

    本节书摘来异步社区<嵌入式系统开发之道--菜鸟成长日志与项目经理的私房菜>一书中的第2章,第2.8节,作者:邱毅凌,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...

  7. 《嵌入式系统开发之道——菜鸟成长日志与项目经理的私房菜》——02-04项目范围(Scope)管理...

    本节书摘来异步社区<嵌入式系统开发之道--菜鸟成长日志与项目经理的私房菜>一书中的第2章,第2.4节,作者:邱毅凌,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...

  8. 嵌入式系统开发学习步骤(Linux高级编程学习顺序)

    2019独角兽企业重金招聘Python工程师标准>>> 嵌入式系统开发学习步骤(Linux高级编程学习顺序) 1.Linux 基础 安装Linux操作系统 Linux文件系统 Lin ...

  9. 嵌入式系统开发期末复习

    嵌入式系统开发 嵌入式系统概述 ARM技术及体系结构 ARM7TDMI指令系统 嵌入式系统概述 1.什么是嵌入式系统?有何特点? 嵌入式系统是以应用为中心,以计算机技术为基础,且软.硬件可裁剪的, 适 ...

  10. LINUX嵌入式系统开发平台选择

    1 嵌入式系统与Linux 按照电气工程师协会的一个定义:嵌入式系统是用来控制或监视机器.装置或工厂等的大规模系统的设备.具体说来,它是电脑软件和硬件的综合体:是以应用为中心,以计算机技术为基础,软硬 ...

最新文章

  1. uboot---linux
  2. C#开发Unity游戏教程之游戏对象的行为逻辑方法
  3. python网页登录钉钉_django 钉钉扫码登录
  4. iis 不是 php,iis是不是默认支持php
  5. 网络工程师历年试题解析(PDF文字版)2004-2009
  6. boost::math::quadrature::tanh_sinh用法的测试程序
  7. C++二进制数字相加用字符串返回的算法实现(附完整源码)
  8. 从头开始敲代码之《从BaseApplication/Activity开始(五)》(自定义控件,实现点击/滑动翻页)...
  9. 【PC端vue ui框架学习】vue项目如何使用基于vue的UI框架Element
  10. mjorm java_MongoDB 的 ORM框架 MJORM
  11. Eclipse快捷键收集
  12. 新年干货 | NLP一路走来的经验之谈
  13. 经典的Fisher-Yates Shuffle算法
  14. 普林斯顿微积分读本03第二章--编程实现函数图像绘制、三角学回顾
  15. 求助:Flash Builder 4.7早上开机后提示“未能创建视图: 插件“com.adobe.flexbuilder.as.editor”无法实例化
  16. python报错:expected an indented block
  17. 足球足球裁判昏招大全裁判昏招大全
  18. bib config_配置config.bib的注意事项以及错误分析——自己都要顶!
  19. 不是python中文件操作的相关函数是_以下选项中,不是Python中文件操作的相关函数是:...
  20. CSS实现空心三角指示箭头

热门文章

  1. 华为hcip认证考试内容是什么?hcip认证有哪些方向
  2. 计算机怎样更新卡驱动,显卡驱动怎么更新,详细教您怎么更新显卡驱动
  3. SIM900A模块发送AT指令“ AT+CPIN? “返回“ PH-NET PIN ”的解决方法
  4. 二元二次方程例题_二元二次方程的解法 二元二次方程例题
  5. 如何打造一个顶尖的精确营销系统?
  6. php 修改图像大小,如何改变图片大小
  7. 神舟战神换cpu教程_神舟战神能换什么cpu 神舟战神Z7可以换CPU吗
  8. 电脑编程入门需要学什么呢?
  9. 有哪些公共管理或行政管理学习帮助较大的外文期刊?
  10. c语言指针实现数组排序算法,C语言实现数组快速排序算法