ARM处理器开发详解(一)
文章目录
- 嵌入式系统定义
- 电气工程协会(IEEE)的定义 :
- 更广泛的定义:
- 嵌入式系统的特点
- 嵌入式系统的发展
- 嵌入式系统主要经历的4个阶段:
- 未来嵌入式系统的发展趋势:
- 嵌入式系统的组成
- 嵌入式系统的硬件组成
- 嵌入式处理器:
- 外围设备:
- 嵌入式系统软件组成
- 嵌入式操作系统举例
- 嵌入式开发流程
- 嵌入式开发概述
- 交叉编译:
- 交叉调试:
- 软件调试:
- 硬件调试:
- ROM监视器:
- ROM仿真器:
- 在线仿真器:
- 在线调试器:
- 微处理器在嵌入式学习中的重要性
嵌入式系统定义
电气工程协会(IEEE)的定义 :
嵌入式系统是用来控制、监控,或者辅助操作机器、装置、工厂等大规模系统的设备。这个定义主要是从嵌入式系统的用途方面来进行定义的。
更广泛的定义:
嵌入式系统是指以应用为中心,以计算机技术为基础,软件硬件可剪裁, 适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
嵌入式系统的特点
1.专用、软/硬件可剪裁可配置
2.低功耗、高可靠性、高稳定性
3.软件代码短小精悍
4.代码可固化
5.实时性
6.弱交互性
7.嵌入式系统软件开发通常需要专门的开发工具和开发环境
8.要求开发、设计人员有较高的技能
嵌入式系统的发展
嵌入式系统主要经历的4个阶段:
1.第1阶段是以单芯片为核心的可编程控制器形式的系统。
2.第2阶段是以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系统。
3.第3阶段是以嵌入式操作系统为标志的嵌入式系统。
4.第4阶段是以物联网为标志的嵌入式系统。
未来嵌入式系统的发展趋势:
1)小型化、智能化、网络化、可视化
2)多核技术的应用
3)低功耗(节能)、绿色环保
4)云计算、可重构、虚拟化等技术被进一步应用到嵌入式系统中
5)嵌入式软件开发平台化、标准化、系统可升级,代码可复用将更受重视
6)嵌入式系统软件将逐渐PC化
7)融合趋势
8)安全性
嵌入式系统的组成
嵌入式系统的硬件组成
嵌入式处理器:
与通用计算器的区别:将通用计算器由板卡完成的任务集成到芯片内部,从而有利于嵌入式系统在设计时趋于小型化, 同时还具有很高的效率和可靠性。
外围设备:
用于完成存储、通信、调试、显示等辅助功能的其他部件。
常见存储器:RAM、ROM、SRAM、DRAM、 SDRAM、EPROM、EEPROM、Flash
通信设备:RS-232 接口、SPI 接口、以太网接口
嵌入式系统软件组成
嵌入式操作系统举例
商业版:VxWork
开源版:嵌入式Linux
部分改进:
1、改善的内核结构
2、提高的系统实时性
嵌入式开发流程
1、开发嵌入式系统首先要进行系统定义,也就是提出问题。
2、然后进行可行性研究:研究开发成本和技术等,判断是否可以开发该系统。
3、成功立项之后进行需求分析,分析产品的功能点。
4、进行系统总体设计:
主要是看系统应该分成多少个模块。
对软硬件进行划分,其实一个功能归软件实现还是归硬件实现并没有明确的区分,一般来说对于实时性要求高的部分
用硬件实现,但是硬件实现的成本较高,实时性相对较低的部分可以使用软件实现,成本也就随之降低。
处理器的选定:选定使用什么型号的处理器,要考虑到性能和成本的平衡。
操作系统的选定:根据对系统的分析确定使用什么操作系统平台
开发环境选定:选用合适的开发环境进行开发
5、硬件和软件的实现:
一般来说先实现硬件,再实现软件
硬件:
硬件的选型
详细设计:画PCB
制作:找公司焊接制作开发板
测试:进行详细的测试,解决存在的问题,往往这一步会出现许多问题。
一般来说从详细设计 -> 硬件制作 -> 硬件测试 这个过程需要重复多次。
软件:硬件调试好之后交给软件部门一般分为应用层和驱动层的开发开发好之后进行软件测试
6、软件和硬件测试都通过之后进行软硬件的集成,这时开发基本上完成。
7、进行功能测试和性能测试,看是否符合产品的功能上和性能上,稳定性上的需求。
8、测试通过则嵌入式开发完成,未通过则重新进行系统总体设计,继续开发周期。
嵌入式开发概述
交叉编译:
所谓交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。
一般把进行交叉编译的主机称为宿主机,也就是普通的计算机,而把程序实际的运行环境称为目标机,也就是嵌入式系统环境。
交叉调试:
典型特点:
1、调试器和被调试的进程运行在不同的机器上,调试器运行在PC或者工作站上(宿主机),而被调试的进程运行在各种专业调试版上(目标机)。
2、调试器通过某种方式(串口、并口、网络、JTAG等)控制被调试进程。
3、在目标机上一般会具有某种形式的调试代理,它负责与调试器共同配合完成对目标机上运行的进程进行调试。这种调试代理可能是某些支持调试功能的硬件设备。也可能是某些专门的调试软件(如GdbServer)。
4、目标机可能是某种形式的系统仿真器,通过在宿主机上运行目标机的仿真软件,整个调试过程可以在一台计算机上运行。此时物理上虽然只有一台计算机,但逻辑上仍然存在着宿主机和目标机的区别。
软件调试:
硬件调试:
硬件调试器的基本原理是通过仿真硬件的执行过程,让开发者在调试时可以随时了解到系统的当前执行情况。
ROM监视器(ROM Monitor)
ROM仿真器(ROM Emulator)
在线仿真器(In-CircuitEmulator)
在线调试器(In-CircuitDebugger)
ROM监视器:
优点:ROM监视器功能非常强大,能够完成设置断点,单步调试,查看寄存器,修改内存空间等各项调试功能。
缺点:同软件调试一样,使用ROM监视器目标机和宿主机必须建立通信连接。
ROM仿真器:
优点:避免了每次修改程序后都必须重新烧写到目标机的ROM中。
缺点:ROM仿真本身比较昂贵,功能来讲又比较单一,只是适应于某些 特定场合。
在线仿真器:
优点:功能强大,软/硬件都可以做到完全实时在线调试。
缺点:价格昂贵
在线调试器:
优点:连接简单,成本低。
缺点:特性受制于芯片厂商。
微处理器在嵌入式学习中的重要性
ARM处理器开发详解(一)相关推荐
- 《Linux 设备驱动开发详解(第2版)》——1.4 Linux设备驱动
本节书摘来自异步社区<Linux 设备驱动开发详解(第2版)>一书中的第1章,第1.1节,作者:宋宝华著,更多章节内容可以访问云栖社区"异步社区"公众号查看 1.4 L ...
- 嵌入式Linux应用开发详解
嵌入式Linux应用开发详解 这边主要是推荐一些嵌入式开发应用作用到的一些书籍和自己从中学到的一些体会,写下来一方面是供自己参考,另一方面也是一种只是的传播,我学习我快乐哈哈 有需要书籍电子版的也可以 ...
- 【OpenCV 4开发详解】可分离滤波
本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社发行所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4 ...
- Apache Thrift - java开发详解
2019独角兽企业重金招聘Python工程师标准>>> Apache Thrift - java开发详解 博客分类: java 架构 中间件 1.添加依赖 jar <depen ...
- 《Linux设备驱动开发详解 A》一一2.3 接口与总线
本节书摘来华章计算机出版社<Linux设备驱动开发详解 A>一书中的第2章,第2.3节,作者:宋宝华 更多章节内容可以访问云栖社区"华章计算机"公众号查看.1 2.3 ...
- 《Android游戏开发详解》一2.2 设置开发机器
本节书摘来异步社区<Android游戏开发详解>一书中的第2章,第2.2节,作者: [美]Jonathan S. Harbour 译者: 李强 责编: 陈冀康,更多章节内容可以访问云栖社区 ...
- Linux设备驱动开发详解 第3版 (即 Linux设备驱动开发详解 基于最新的Linux 4 0内核 )前言
Linux从未停歇脚步.Linus Torvalds,世界上最伟大的程序员之一,Linux内核的创始人,Git的缔造者,仍然在没日没夜的合并补丁,升级内核.做技术,从来没有终南捷径,拼的就是坐冷板凳的 ...
- SpringMVC 处理器适配器详解
SpringMVC 处理器适配器详解 1.介绍 2.非注解处理器适配器 3.注解处理器适配器 4.总结 1.介绍 处理器适配器 HandlerAdapter:作用是根据映射器找到的处理器 Handle ...
- linux 设备驱动 ppt,linux设备驱动开发详解讲座ppt
PPT内容 这是linux设备驱动开发详解讲座ppt下载,主要介绍了设备驱动简介:建立和运行模块:字符驱动:调试技术:并发和竞争:分配内存:硬件通讯:中断处理:块设备驱动,欢迎点击下载. 嵌入式Lin ...
- 《Linux设备驱动开发详解(第2版)》隆重出版
Linux设备驱动开发详解(第2版)(前一版狂销3万册,畅销书最新升级) [新品] 点击看大图 基本信息 * 作者: 宋宝华 * 出版社:人民邮电出版社 * ISBN:97 ...
最新文章
- 2022-2028年中国动力锂电池用橡胶密封件行业研究及前瞻分析报告
- C语言基本数据结构之五(折半插入,堆排序,冒泡排序,快速排序,并归排序)
- 计网期末复习 - 数据报分片
- Java是块级作用域吗_javascirpt如何模仿块级作用域(js高程笔记)
- JXSL报错CannotOpenWorkbookException和Cannot load XLS transformer解决方案
- vs2005下载,中文版,官方
- PS图片的两种大小及修改,psd源码文件,图层概念
- php网站登录界面验证码打不开,php网站无法显示验证码
- A. Neko Finds Grapes-奇偶的性质及运用-Codeforces Round #554 (Div. 2)
- Python 列表推导式的实用小技巧
- 电池充电IC市场现状研究分析与发展前景预测报告
- 简单介绍一下CGAN
- mysql sql 多表更新语句_MySQL跨表、多表更新SQL语句总结
- 转Ruby on Rails的核心特性是什么
- Python NumPy中的diag函数
- 怎么让照片变年轻_怎么把照片变年轻
- 2017奇虎360春招笔试编程
- 格力造车梦碎,终止筹划发行股份收购珠海银隆
- 【IAP】新建虚拟产品、新建测试帐号、获取产品列表、向自己的服务器生成订单、发送购买请求、服务端数据安全
- Github每日精选:将近4万Star的Java、Python面试指南献给大家!
热门文章
- 详解语言模型NGram及困惑度Perplexity
- 柳州铁一中机器人_柳州铁一中学学子在2020年广西中小学电脑机器人竞赛中勇创佳绩...
- Desktoppr与 Dropbox国内成功使用
- 世界杯的狂欢也是黑灰产的狂欢?
- 计算机交叉专业考研方向,与理工科交叉的计算机专业考研方向有哪些?
- 魔兽世界地图插件制作代码
- 常见14种手机传感器
- 选择性粘贴HTML,Excel中“选择性粘贴”的五种特殊用法
- mysql 富文本 字段,富文本引起MYSQL出错
- modbus模拟器基本使用