大连理工大学软件学院 嵌入式系统工程系 赖晓晨

Slides:



Advertisements
Similar presentations
JAVA 概述 主讲:张雷. J2ME API 地址: 广东科贸信息工程 张雷学习要求 了解各种程序设计语言及其特点 了解各种程序设计语言及其特点 了解 JAVA 的发展史和其特点 了解 JAVA 的发展史和其特点.
Advertisements

第 3 章操作系统基础 3.1 操作系统概述 3.2 操作系统的功能模块 3.3 典型操作系统概述.
專業科目必修 管理學概論、化 妝品行銷與管理、 專題討論、藥妝 品學、流行設計、 專題講座、時尚 創意造型與實務 專業科目必修 化妝品法規、生 理學、化妝品原 料學、化妝品有 效性評估、時尚 化妝品調製與實 務、藝術指甲、 生物化學概論、 美容經絡學、校 外實習 專業科目必修 應用色彩學、化 妝品概論、時尚.
認識食品標示 東吳大學衛生保健組製作.
提高阶段: ——ARM部分 电气工程系 赵志衡.
嵌入式系统简介 Introduction to Embedded System
嵌入式系统 主讲人: 赵宏伟 学时: 32 吉林大学计算机科学与技术学院.
第二部分 嵌入式硬件系统 第2章 嵌入式处理器 第3章 ARM内核与ARM处理器 第4章 嵌入式系统的外围设备.
嵌入式系统与结构 —基于ARM的体系结构和应用开发
基于s3c44B0X嵌入式uCLinux系统原理及应用
手术切口的分级与抗菌药物的应用 贵阳医学院附属白云医院感染管理科 沈 锋
颞下颌关节常见病.
開南大學 資訊管理學系 學分學程相關說明.
致理科技大學保險金融管理系 實習月開幕暨頒獎典禮
嵌入式控制系统 学时:45,1~12周,第13周闭卷考试 实验课:18学时,穿插在本课程间进行
第一章 嵌入式系统概况 大连理工大学 马洪连.
绪论 测试信号的描述与分析 测试系统的基本特性 常用传感器 模拟信号处理 数字信号处理 计算机与虚拟仪器测试技术.
行政訴訟法 李仁淼 教授.
103-2公證法第四次 大面授補充資料 鄭惠佳老師.
結腸直腸腫瘤的認知.
經歷復活的愛 約翰福音廿一1-23.
第四讲 中文平台与中文操作系统 计算机科学与技术学院.
郭詩韻老師 (浸信會呂明才小學音樂科科主任)
如何用合適的書報和新人一起追求 初信餵養-365 屬靈問答-500.
第11章 计算机系统 计算机系统概述 分类方法、计算机系统性能评测方法 2. 微机系统 3. 他体系结构处理机
防貪專精工作報告 宜蘭縣政府政風處 薛容青.
基于ARM和linux的开发 华中科技大学 武汉创维特 2017/3/20.
周星驰电影鉴赏.
嵌入式系统应用 概述 随着现代物流业仓储、超市等行业的快速发展,物品流动的速度越来越快,仓储库存周期也越来越短。这样物流仓储盘点行业的压力也越来越大,传统的人工盘点方式已经不能适应现代物流的发展。为了解决这一问题,国际上一些物流先进国家已经采用专业的盘点设备——盘点机,用于物流盘点。 我们选取了一个十分典型的国产盘点机进行介绍。其微处理器选型是采用韩国三星公司生产的S3C2410微处理器,操作系统采用了Windows.
2. 戰後的經濟重建與復興 A. 經濟重建的步驟與措施 1.
好好學習 標點符號 (一) 保良局朱正賢小學上午校.
學生:蔡耀峻、許裕邦 座號:23號、21號 指導老師:黃耿凌 老師
4. 聯合國在解決國際衝突中扮演的角色 C. 聯合國解決國際衝突的個案研究.
新陸書局股份有限公司 發行 第十九章 稅捐稽徵法 稅務法規-理論與應用 楊葉承、宋秀玲編著 稅捐稽徵程序.
第一章 嵌入式系统开发基础 本章介绍了嵌入式系统开发的基础知识,从嵌入式计算机的历史由来、嵌入式系统的定义、嵌入式系统的基本特点、嵌入式系统的分类及应用、嵌入式系统软硬件各部分组成、嵌入式系统的开发流程、嵌入式技术的发展趋势等方面进行了介绍,涉及到嵌入式系统开发的基本内容,使读者系统地建立起的嵌入式系统整体概念。
破漏的囊袋.
民法第四章:權利主體 法人 楊智傑.
ARM裸机第一部分-ARM那些你得知道的事
主講:王穎聰 電腦與通訊工程學系講師 銘傳大學資訊網路處
S3c2410电路设计(以北京博创s3c2410-s实验箱为例讲解)
嵌入式系統架構 長高科技 顏旭偉.
第4章 電腦的組成與架構 4-1 電腦的基本架構 4-2 個人電腦的主機.
启天IV产品介绍
嵌入式系统设计与开发 第1章 概述 第2章 ARM及其编程模型 第3章 ARM指令集 第4章 嵌入式程序设计
Block diagram BB —逻辑 —音频 —电源管理 HW interface. Block diagram BB —逻辑 —音频 —电源管理 HW interface.
ARM裸机第一部分-ARM那些你得知道的事
第1章 嵌入式系统概述 嵌入式系统的发展、定义、特点、组成、分类 嵌入式系统硬件核心、软件核心 嵌入式实时操作系统
嵌入式系統概論-以S3C2440核心為架構 第1章 嵌入式系統概念.
聊城大学物理科学与信息工程学院 微控制器原理 聊城大学物理科学与信息工程学院
2018年12月29日 单片机原理与应用 单片机概述.
四年級 中 文 科.
生鲜谈判.
歡迎 經濟部中小企業處 長官專家學者 ~蒞臨指導~
聖公會聖匠堂長者地區中心 長者支援服務隊 香港房屋協會 家維邨義工隊
安慰能力測試 我感到非常孤單 為何要這麼痛苦?做人毫無價值,活著根本沒有意思。 我拖累了你。 假如我不在,情況會如何呢?
青少年常見犯法行為.
聖誕禮物 歌羅西書 2:6-7.
第2章ARM/THUMB微处理器结构及指令系统
ARM Developer Suite 介 绍.
學生學習檔案製作經驗分享 國際貿易實務課程研習 -- 多元升學與技能證照 2010 /04 /30 台中家商
ARM處理器.
圣依纳爵堂 主日三分钟 天主教教理重温 (95) (此简报由香港圣本笃堂培育组制作).
铂安智防务科技有限公司 辅助驾驶设备 2017.
依撒意亞先知書 第一依撒意亞 公元前 740 – 700 (1 – 39 章) 天主是宇宙主宰,揀選以民立約,可惜他們犯罪遭
班級:210 學號:60915 姓名:李佾璇 學號:60935 姓名:趙家瑩 學號:60938 姓名:鄭伊婷
第6章 嵌入式软件开发基础.
明愛屯門馬登基金中學 中國語文及文化科 下一頁.
课程计划和要求 嵌入式系统概述 嵌入式系统发展趋势
經文 : 創世紀一章1~2,26~28 創世紀二章7,三章6~9 主講 : 周淑慧牧師
硬件基础知识及常见硬件故障处理.
Presentation transcript:

大连理工大学软件学院 嵌入式系统工程系 赖晓晨 嵌入式系统程序设计 大连理工大学软件学院 嵌入式系统工程系 赖晓晨

第一章 绪论 ★ ★ 嵌入式系统概述 嵌入式系统开发流程 嵌入式系统程序设计 本课程内容简介

第一节 嵌入式系统概述 计算机的发展和分类 嵌入式系统的概念 嵌入式系统的组成 嵌入式系统的发展

一、计算机的发展和分类 计算机的发展的历史 电子管、晶体管、集成电路、大规模集成电路

ENIAC 体积庞大, 18000个 真空管, 45吨

晶体管计算机

iMac

计算机的发展和分类(续) 传统分类法: 巨型机、大型机、中型机、小型机、 微型机 通用机、嵌入式

二、嵌入式系统的概念 概念(IEEE) devices used to control, monitor, or assist the operation of equipment, machinery or plants.(嵌入式系统是控制、监视或者辅助某个设备、机器甚至工厂运行的设备。) 用来执行特定功能 以微电脑与周边构成核心 需要严格的时序与稳定度 全自动操作循环

嵌入式系统的概念(续) 国内普遍接受的概念 嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可裁减,适于应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

三、嵌入式系统的组成 嵌入式系统组成 系统硬件 嵌入式处理器 外围硬件设备 软件 嵌入式操作系统 用户应用程序

嵌入式系统的组成(续) 系统硬件组成 嵌入式处理器 外围电路 接口 外设 MPU

嵌入式处理器分类 嵌入式微处理器(MPU):运算器、控制器 嵌入式微控制器(MCU):片内ROM、RAM、总线、I/O口、计数器、看门狗、AD、DA、Flash 数字信号处理器(DSP):哈佛结构,适用于FFT变换、谱分析、数字滤波等操作,用于音频、视频处理 片上系统(SOC):USB、GPRS、GPS、IEEE1394、蓝牙,可靠性强、开发时间短

嵌入式处理器分类(续) 嵌入式微处理器(MPU):Am186/88、386EX 嵌入式微控制器(MCU):8051、P51XA 数字信号处理器(DSP):TMS320系列、DSP56200系列 片上系统(SOC):M-core、CC2430

嵌入式微处理器 嵌入式微处理器是在通计算机中央处理器的基础上设计而来的,它将微处理器安装到专门设计的电路板上,只保留和嵌入式应用有关的主板功能,大幅减小了系统的体积和功耗。为了满足嵌入式应用的特殊要求,嵌入式微处理器在工作温度、抗电磁干扰、可靠性等方面都做了增强。

嵌入式微控制器 嵌入式微控制器又称单片机,它以某种微处理器内核为核心,将计算机系统的各个部分集成在一块芯片中,包括ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、看门狗、I/O、串行口、脉宽调制输出、A/D、Flash RAM、EEPROM等。

数字信号处理器 DSP处理器对系统结构和指令进行特殊设计,使其适合于执行DSP算法,编译效率较高,,指令执行速度也较高。在数字滤波、FFT、谱分析等方面DSP算法正在大量进入嵌入式领域。

片上系统 片上系统是采用硬件描述语言来设计各种处理器内核以及各种外设,把设计好的单元存储在器件库中,用户只需根据系统要求选用这些器件,仿真通过后就可以将设计图交给半导体工厂制作样品。

嵌入式处理器分类(续) 问题: 普林斯顿结构 vs 哈佛结构 CISC vs RISC 流水线 嵌入式处理器分类 嵌入式微处理器(MPU):Am186/88、386EX 嵌入式微控制器(MCU):8051、P51XA 数字信号处理器(DSP):TMS320系列、DSP52600系列 片上系统(SOC):M-core、CC2430 普林斯顿结构 vs 哈佛结构 CISC vs RISC 流水线 问题:

外围硬件设备 电源部分:交流电、电池供电 输入部分:键盘、鼠标、触摸屏、拨码开关等。 输出部分:发光二极管、lED显示器、LCD显示器、蜂鸣器等。 存储部分:ROM、EPROM、EEPROM、FLASH、RAM。

外围硬件设备(续) 接口电路:USB接口、PS/2接口、串口、IDE接口、红外接口、1394接口、CF卡接口、网络接口、CAN总线接口、RS422接口、RS485接口等等,每一种接口一般都对应一个专用的控制芯片,例如串口一般是由8250芯片来控制。 其他硬件逻辑电路:AD转换电路、电机驱动电路、时钟日期生成电路等等。

嵌入式系统的组成(续) 软件组成 操作系统 应用程序 处理器

嵌入式操作系统分类 顺序系统 分时系统 实时系统 开源:linux、uClinux、uC/OS II 强实时:vxworks 弱实时:嵌入式linux、wince 开源:linux、uClinux、uC/OS II

Vxworks操作系统 Vxworks操作系统是一个非常优秀的嵌入式操作系统,它的实时性强,内核可裁剪到很小,可靠性高。在北美,Vxworks占据了嵌入式操作系统的多半市场,特别是在通信设备等实时性要求较高的系统中,Vxworks占据了绝大部分市场份额。但是Vxworks及其相关开发工具的价格很高,小公司难以承受。

嵌入式Linux操作系统 Linux是一个成功的服务器操作系统,此外由于其开源、免费、可移植性好的特点,在嵌入式系统中也有广泛应用。嵌入式Linux可分为两类,一类经过修改,专门在设有内存管理单元的硬件上运行,例如uCLinux;另一类具有完全的Linux特性,运行于有内存管理单元的硬件平台,例如mini Linux.

uC/OS II操作系统 目前很多大学都以uC/OS II 为教学使用的实时操作系统,这主要是由于uC/OS II 较简单,源码公开,非常适合入门者学习实时操作系统原理。uC/OS II 的缺点是功能有限,实际使用较少。

Windows CE操作系统 Windows CE是微软公司推出的嵌入式操作系统,在短短几年间占据了很大的市场份额,特别是在PDA、手机、显示仪等界面要求较高或者要求快速的场合。Windows CE 的开发平台主要为Windows CE Platform Builder,有时也用EVC环境开发一些较上层的应用

嵌入式操作系统分类(续) 问题: 顺序系统 分时系统 实时系统 开源:linux、uClinux、uC/OS II 强实时:vxworks 弱实时:嵌入式linux、wince 开源:linux、uClinux、uC/OS II 问题: 抢占式 vs 非抢占式

嵌入式应用软件 固态化存储:为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不存储在硬盘等载体中。 高质量、高可靠性:嵌入式系统资源的稀缺性和执行的实时性要求软件代码应该尽可能的短小、高效、快速,为此对编程以及编译器的设计提出了更高的要求。 高实时性:在多任务嵌入式系统中,存在重要性不同的多个任务,如何对多任务请求合理的响应是系统设计的关键这个环节处理不当很可能导致灾难性结果。

四、嵌入式系统的发展 主机计算模式 桌面计算模式 网络和分布式计算模式 普适计算模式

普适计算 普适计算又称为无处不在的计算,这一思想最早由Mark Weiser提出,他认为应该把计算机嵌入到环境当中,并通过各种有线无线网络连接起来互相通信。

普适计算(续) 普适计算研究的基础是各种嵌入式技术,研究内容包括智能环境和不可见计算、无缝可移动性、可穿戴计算等。普适计算也面临一些挑战,例如计算模式的转变、计算资源的共享、移动计算的实现、应用程序的相互沟通等。

第二节 嵌入式系统开发流程 需求分析 概要设计 详细设计 绘制PCB 制板、安装调试硬件 移植操作系统 软件设计 编码、测试 软硬件 协同设计 制板、安装调试硬件 移植操作系统 软件设计 编码、测试

原理图举例 protel

PCB图 印刷电路板(PCB板) (阻燃环氧树脂复合)基板、电源线、信号线、焊盘、过孔、覆铜、丝印层

PCB举例

制板 2层板 4层板 6层板 检测

焊接硬件 先小后大的原则

调试硬件 先调试显示部分,再调试其他部分

移植操作系统 uClinux

移植操作系统(续) uClinux

移植操作系统(续) miziLinux

移植操作系统 miziLinux

图形界面 miniGUI

图形界面(续) MiniGUI

图形界面(续) miniGUI

编码、测试

第三节 嵌入式系统程序设计 嵌入式系统开发语言 嵌入式系统开发工具

一、嵌入式系统开发语言 汇编语言 C语言 C++语言 Java语言

汇编语言 汇编语言的优点: 汇编语言的缺点: 使用场合:适合时序严格的场合、系统初始化 程序运行的结果很直观 便于对程序的跟踪和调试 程序执行效率很高 程序运行速度很快 汇编语言的缺点: 开发效率低下 使用场合:适合时序严格的场合、系统初始化

C语言 C语言是系统程序语言。流行的操作系统核心部分几乎无一例外的选择了C语言。 C语言可以通过指针来对访问任意内存内容。

C语言(续) C语言是一种高效的语言,用C写的程序执行速度快,占用内存少, 经过优化后效率接近汇编程序。 C语言的主要不足是缺乏编程模型、不符合真是事物存在形式,用C语言描述复杂逻辑是十分困难的,而且代码量要超过C++语言。同时,C语言过度依赖程序员的做法,程序员可以随意修改程序中的任何内容,这在提高编程灵活性的同时也带来安全隐患。

C++语言 C++保留了C语言的强大功能与灵活性,并提供了继承、封装、多态等面向对象技术,为程序设计带来了深及灵魂的变革。 ISO C++标准只定义了C++的语法规范,但是并没有定义其相对应的开销。对于资源受限的嵌入式系统来说,C++语言有可能过于庞大,执行效率难于保证。

C++语言(续) 在1998年,Embedded C++规范正式制定(我们简称之为EC++) EC++是标准C++语言的一个子集,它从C++语法中剔除了一些实现复杂和会导致额外负担的语法元素。例如:多重继承与虚基类、异常处理、模版、命名空间等等。同时,在标准库方面,EC++规范也做了删减,STL和Stream等被剔除了。

C++语言(续) Symbian OS是由爱立信、诺基亚、摩托罗拉等共同出资开发,其目的是为智能手机提供一个操作系统平台。Symbian OS的API均以C++类的方式提供,应用开发人员可以使用C++开发基于Symbian OS的手机上的应用程序。

C++语言(续) Windows CE配套的嵌入式C++环境(EVC)与桌面开发使用的Visual C++在用户界面、使用习惯上都一脉相承,并且Embedded Visual C++集成了桌面开发中常用的MFC、ATL等C++库,使很多桌面应用程序开发人员可以容易的过渡到基于Windows CE的嵌入式开发平台上来。

java Java语言是一种高度可移植、与平台无关的程序设计语言,它是通过虚拟机的支持实现在任何体系结构上都可以运行。 Sun 将 J2ME定义为“一种高度优化的 java 运行环境,主要针对消费类电子设备,例如蜂窝电话和可视电话、数字机顶盒、汽车导航系统等。”

二、嵌入式开发工具 实时在线仿真器ICE(In-Circuit Emulator) JTAG仿真器(Joint Test Action Group) Angel 调试监控软件 高级语言编译器 指令模拟器

实时在线仿真器ICE 实时在线仿真器是进行嵌入式开发调试的有效工具,一般由仿真器和仿真头组成,仿真头与处理器引脚一致可以安装在目标机ICE通过实际执行来分析程序是否有各种错误,排除那些仅通过人的逻辑思维很难找到的设计缺陷。ICE不仅是软件硬件排错工具,同时也可以帮助提高和优化系统指标。

JTAG仿真器 JTAG是联合测试组织的英文词头字母缩写,该组织成立于1985年,JTAG是由几家主要的电子制造商发起制订的PCB和集成电路测试标准。标准的JTAG接口为4线:TMS、TCK、TDI、TDO,分别是模式选择、时钟、数据输入和数据输出线。

Angel 调试监控软件 Angel调试监控软件也称为驻留监控软件,是一组运行在目标机上的程序,可以接收宿主机上调试器发送的命令,执行诸如设置断点、单步执行目标程序读写存储器、查看或修改寄存器等操作。

高级语言编辑器 C语言以其灵活易用的特点成为嵌入式工程师的首选,采用C语言编程可以大弧度提高工作效率,能够充分嵌入式处理器的潜在性能,并且便于在不通硬件平台移植程序 C++语言强大的面向对象特点更便于实现复杂程序功能,但是为了支持复杂的语法,牺牲了一部分大毛效率

指令模拟器 指令模拟器是工作在某种计算平台山的一个软件程序,它可以解释执行嵌入式处理器的指令,呈现出嵌入式处理器的特性,用户可以编写好嵌入式程序,然后在指令模拟器上运行、调试,完全通过后在把程序下载到真实的嵌入式设备中 指令模拟器独立于嵌入式处理器硬件工作,一般与编辑器、编译器、调试器集成在一个开发环境中

第四节 本课程内容简介 先导知识 C or C++语言 计算机组成与结构 ARM体系结构 Linux操作系统

本课程内容简介(续) 1. 嵌入式系统预备知识 ARM体系结构 Linux操作系统 Linux操作系统基础操作 Embest EduKit-III教学实验平台简介

本课程内容简介(续) 2. 嵌入式C语言基础知识 嵌入式C语言概述 C与C++的区别 嵌入式C程序架构 GNU C扩展 错误处理机制 嵌入式C程序架构 ARM C程序设计优化 硬件编程 C 语言编程规范

本课程内容简介(续) 3. 嵌入式linux程序设计基础 交叉开发环境 Linux开发工具链 编辑器vi 编译器gcc 链接器ld 调试器gdb 自动化编译配置文件 源包配置工具 版本控制工具

本课程内容简介(续) 4. 嵌入式uClinux程序设计 uClinux操作系统 Bootloader 嵌入式C语言进阶 文件系统 嵌入式数据库 Linux内核模块 Linux驱动程序工作原理 Linux驱动程序实例

本课程内容简介(续) 5. 嵌入式Linux程序设计 嵌入式Linux的库 嵌入式Linux操作系统 嵌入式Linux程序设计 基于ARM9/Linux MiniGUI的移植 SkeEye模拟器的介绍

本课程内容简介(续) 6. 嵌入式项目实例--电梯控制系统