1. 嵌入式系统的概念

  嵌入式系统( Embedded system) , 是一种 "完全嵌入受控器件内部,为特定应用而设计的专用计算机系统”以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。

2 . 嵌入式系统的组成

硬件层: 主要包含了嵌入式系统中必要的硬件设备:嵌入式微处理器、存储器(SDRAM、ROM等)、 设备IO接口等。
中间层: 为硬件层与系统软件层之间的部分,有时也称为硬件抽象层(Hardware Abstract Layer , HAL)或者板级支持包(Board Support Package , BSP)。

系统软件层: 由实时多任务操作系统(Real-timeOperation System , RTOS)、文件系统、图形用户界面接口(Graphic User Interface , GUI)、网络系统及通用组件模块组成

3 . 嵌入式系统的特点

人机交互界面
功能有限
时间和空间关键性和稳定性
高可靠的稳定性

4. 嵌入式系统的基本开发流程

  • 第一步:建立开发环境

操作系统一般使用Redhat Linux,选择定制安装或全部安装,通过网络下载相应的GCC交叉编译器进行安装(比如,arm-linux-gcc、arm-uclibc-gcc),或者安装产品厂家提供的相关交叉编译器;

  • 第二步:配置开发主机

配置MINICOM,一般的参数为波特率115200 Baud/s,数据位8位,停止位为1,9,无奇偶校验,软件硬件流控设为无。在Windows下的超级终端的配置也是这样。MINICOM软件的作用是作为调试嵌入式开发板的信息输出的监视器和键盘输入的工具。配置网络主要是配置NFS网络文件系统,需要关闭防火墙,简化嵌入式网络调试环境设置过程。

  • 第三步:建立引导装载程序BOOTLOADER

从网络上下载一些公开源代码的BOOTLOADER,如U.BOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT等,根据具体芯片进行移植修改嵌入式系统开发流程嵌入式系统开发流程。有些芯片没有内置引导装载程序,比如,三星的ARV17、ARM9系列芯片,这样就需要编写开发板上FLASH的烧写程序,可以在网上下载相应的烧写程序,也有Linux下的公开源代码的J-FLASH程序。如果不能烧写自己的开发板,就需要根据自己的具体电路进行源代码修改。这是让系统可以正常运行的第一步。如果用户购买了厂家的仿真器比较容易烧写FLASH,虽然无法了解其中的核心技术,但对于需要迅速开发自己的应用的人来说可以极大提高开发速度。

  • 第四步:下载已经移植好的Linux操作系统

如MCLiunx、ARM-Linux、PPC-Linux等,如果有专门针对所使用的CPU移植好的Linux操作系统那是再好不过,下载后再添加特定硬件的驱动程序,然后进行调试修改,对于带MMU的CPU可以使用模块方式调试驱动,而对于MCLiunx这样的系统只能编译内核进行调试。

  • 第五步:建立根文件系统

下载使用BUSYBOX软件进行功能裁减,产生一个最基本的根文件系统,再根据自己的应用需要添加其他的程序
由于默认的启动脚本一般都不会符合应用的需要,所以就要修改根文件系统中的启动脚本,它的存放位置位于/etc目录下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile等,自动挂装文件系统的配置文件/etc/fstab,具体情况会随系统不同而不同。根文件系统在嵌入式系统中一般设为只读,需要使用mkcramfs genromfs等工具产生烧写映像文件嵌入式系统开发流程嵌入式培训。

  • 第六步:建立应用程序的FLASH磁盘分区

一般使用JFFS2或YAFFS文件系统,这需要在内核中提供这些文件系统的驱动,有的系统使用一个线性FLASH(NOR型)512KB~32MB,有的系统使用非线性FLASH(NAND型)8MB~512MB,有的两个同时使用,需要根据应用规划FLASH的分区方案。

  • 第七步:开发应用程序

可以放入根文件系统中,也可以放入YAFFS、JFFS2文件系统中,有的应用不使用根文件系统,直接将应用程序和内核设计在一起,这有点类似于μC/OS-II的方式。

  • 第八步:烧写内核

根文件系统和应用程序,发布产品。

嵌入式系统的概念,嵌入式系统的组成及特点,嵌入式系统的基本开发流程相关推荐

  1. 嵌入式系统基本概念(硬件篇)

    嵌入式系统组成: 硬件子系统.软件子系统. 嵌入式系统分类: 通用计算机型:通用计算机或嵌入式单板机(如PC104模块)嵌入到应用系统内部. 专用计算机型:面向具体应用系统量身定制,体积小功耗低. 硬 ...

  2. 嵌入式系统的开发流程

    嵌入式系统的概念: 以应用为中心,以计算机技术为基础,且软硬件可裁减,适应应用系统对功能.可靠性.成本.体积.功耗有严格要求的专用计算机系统. 嵌入式系统与普通PC机的对比: 软件上的对比: 名称 嵌 ...

  3. 嵌入式Linux串口终端的定制,基于PC/104平台嵌入式Linux系统定制方法

    基于PC/104平台的嵌入式Linux技术在海洋自动观测系统中具有广泛的应用前景,Linux定制方法的研究是嵌入式Linux系统研制的关键工作.本文结合PC/104平台嵌入式Linux系统的研制,详细 ...

  4. 嵌入式系统需求分析_嵌入式开发流程是什么?

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

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

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

  6. 【嵌入式Linux(基础篇)】嵌入式Linux底层系统开发流程和应用开发流程

    1.嵌入式Linux系统体系架构 一个完整的嵌入式Linux系统体系架构如图,大概可以分为三步: 硬件PCB板设计 底层系统开发 应用开发 2.硬件PCB设计流程 ① 获取所用芯片芯片手册: ② 建立 ...

  7. 研华工控机linux改win7,嵌入式工控机研华工控机用u盘装系统如何设置bios?在虚拟机中的Linux系统中咋挂u盘 我的虚拟机上都没有USB 显示5...

    研华工控机用u盘装系统如何设置bios?在虚拟机中的Linux系统中咋挂u盘 我的虚拟机上都没有USB 显示5 在上一篇文章中,小编为您详细介绍了关于<有一个研祥工控机 旧的 想拆里面的视频采集 ...

  8. 特高压输电线路在线监测系统方案-A40i 核心板 应用解析-飞凌嵌入式

    近年来,随着电力技术的快速发展,我们生活也变得越来越便利.其中,特高压输电线路更是承载着西电东输的重责,将不同地区的发电站.变电站.负荷点连接起来,进行输送或交换. 5G新基建浪潮的兴起,特高压也被列 ...

  9. 开源毕业设计:基于嵌入式ARM-Linux的应用OpenCV和QT实现的人脸识别系统(源码+论文)

    毕业一载有余,把毕业设计作品分享一下,希望能帮助到有需要的同学们. 资料获取: 帮助/答疑/辅导...等请联系博主,请点如下链接: linux_face.txt · zengzr/share_cont ...

最新文章

  1. python 速度矢量_最近邻搜索4D空间python快速-矢量化
  2. HDOJ 1071 The area (纯数学题)
  3. 再见 CSV,速度提升 150 倍!
  4. aix oracle 内存限制,请教 AIX 与 Linux 中,怎样分析Oracle的内存占用?
  5. sink xxx does not exist
  6. Linux静默安装oracle
  7. 计算机一级考试无法显示评分,计算机一级评分各题标准
  8. Keil | 解决Keil与VScode配合使用时,代码与注释位置不一样的问题。
  9. bzoj3083 遥远的国度
  10. FreeRTOS(五)——heap文件解析
  11. 【转】我眼中的自动化测试框架设计要点
  12. 活久见: maven pom 竟然都会崩溃!
  13. Excel数据转化为sql脚本
  14. Minidump方式保留程序崩溃现场
  15. Magic Trackpad 2 on win10 x64
  16. word中使用通配符替换【持续更新系列】
  17. Codeforces 1342E Placing Rooks(容斥+组合数学)
  18. uac管理员程序_有启用UAC的管理员快速打开程序的方法吗?
  19. 关于field-of-view和receptive field
  20. 【云原生 • Docker】Docker常用命令总结(值得收藏)

热门文章

  1. Windows 10 uefi引导模式 GPT+UEFI Ghost系统备份还原步骤
  2. nextjs 基于 isomorphic-unfetch 封装自己的请求库
  3. 粗糙集,邻域粗糙集与实域粗糙集概述
  4. ASAM MCD2D 笔记(1) - ODX use cases
  5. 碧蓝航线经济系统的流程图
  6. 【MineCraft】-- 如何开设我的世界服务器
  7. vue 应用中Throttling navigation to prevent the browser from hanging.问题
  8. 用夜神安卓模拟器做Android开发
  9. Transact使用
  10. 关于word的样式类型