1嵌入式系统学习路线

  1. 主要招聘的行业企业:智能家居、消费电子、医疗、工业自动化、通信设备、汽车电子
  2. 学习路线:Linux入门、C语言、linux应用开发、linux系统开发、linux驱动
  3. 误区:今天学这、明天学那,资料太多,只看资料不动手

2什么是嵌入式系统

别动,你已经被嵌入式设备包围了
我们生活已经处处可见嵌入式系统,医疗电子、智能家居、物流管理、电力控制、所有带数字接口和程序控制的设备,如电子手表、数码相机、汽车、飞机、卫星都离不开嵌入式系统
(小米手机芯片是:骁龙TM四核2.5GHz处理器)

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

嵌入式系统应用

家用电器

是嵌入式系统最大的应用领域,如手机、数码相机、电视、冰箱、空调等的网络化、智能化将引领人们的生活步入一个崭新的空间。

工业控制

如工业过程控制、数字机床、电力系统、电网安全、电网设备监测、石油化工系统。就传统的工业控制产品而言,低端型采用的往往是8位单片机。但是随着技术的发展,32位、64位的处理器逐渐成为 工业控制设备的核心,在未来几年内必将获得长足的发展

POS网络

公共交通无接触智能卡(Contactless Smartcard, CSC)发行系统,公共电话卡发行系统,自动售货机,各种智能ATM终端将全面走入人们的生活,到时手持一卡就可以行遍天下。

3嵌入式处理器

嵌入式微控制器(EMCU)

嵌入式微处理器又称单片机,也就是在一块芯片中集成了整个计算机系统。
代表性的通用系列有8051、P51XA、MCS-251、MCS-96/196/296、MC68HC05和C166/167等。

嵌入式微处理器(EMPU)

嵌入式微处理器是由通用计算机中的CPU“演变而来的。它的特征是具有32位以上的处理器。具有较高的性能,当然其价格也相应比较高。主要的嵌入式处理器类型有Am186/88/386EX、SC-400、Power PC、68000、MIPS、ARM/StrongARM系列等。

嵌入式数字信号处理器(EDSP)

数字信号处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也快。
最为广泛应用的是TI的TMS320C2000/C5000系列,另外如Intel的MCS-296和Siemens的TriCore也有各自的应用范围。

嵌入式片上系统(ESOC)

片上系统SOC则是在一个硅片上实现一个更为复杂的系统。各种处理器内核将作为SOC设计公司的标准库,成为VLSI设计中的一种标准器件,用标准的VHDL语言描述,存储在器件库中。
比较典型的SOC产品是Philips的Smart XA。少数通用系列如Siemens的TriCore,Motorola的M-Core。

ARM

ARM芯片是嵌入式微处理器中的佼佼者,是很多数字电子产品的核心。如今95%的手机里面的核心处理器使用的都是ARM芯片,而ARM在整个手持市场上占有90%以上的份额。
ARM公司的成功除了其卓越的芯片设计技术以外,还源于其创新的商业模式:提供技术许可的知识产权,而不是制造和销售实际的半导体芯片。

MIPS

MIPS CPU是一种RISC结构的CPU,从生产专用集成电路的核心(ASIC Cores)的厂家到生产低成本CPU的厂家,从低端64位处理器生产厂家到高端63位处理器生产厂家。

Power PC

POWER是1991年,Apple、IBM、Motorla组成的AIM联盟所发展处的微处理器架构。PowerPC是整个AIM平台的一部分,并且是到目前为止唯一的一部分。PowerPC的历史可以追溯到早在1990年随RISC System/6000一起被介绍的IBM POWER架构。该设计是从早期的RISC机构(比如IBM 801)与MIPS架构的处理器得到灵感的。

Motorola 68000

Motorola 68000(68K)是出现得比较早的一款嵌入式处理器,68K采用的是CISC结构。68K最初用在苹果二代上,比Intel的8088还要早。

ARM9处理器

ARM9被广泛用于智能手机、PDA、机顶盒、PMP、电子玩具、数码相机、数码摄像机等产品解决方案,可为要求苛刻、成本敏感的嵌入式应用提供可靠的高性能和灵活性。丰富的DSP拓展使SoC设计不再需要单独的DSP。

ARM11处理器

ARM11处理器系列可用于当前生产领域中的大多数智能手机,还广泛用于消费、家庭和嵌入式应用领域。改处理器的功耗非常低,软件可以与以前所有ARM处理器兼容。

Cortex A8处理器

从高端特色的手机到上网本、DTV、打印机和汽车信息娱乐,Cortex-A8处理器都提供了可靠的高性能解决方案。NEON技术主要应用于某些音频、视频和图形工作负荷可以减轻跨SoC支持多个专用加速器的负担,并且使系统可以支持将来的标准。

Cortex A15处理器

Cortex A15和Cortex A9/A8同样采用了ARMv-A Cortex架构,处理器内核数量最多为4个,处理核心之间通过AMBA 4技术互联支持一系列ISA,能够在不断下降的功耗、散热和成本预算基础上提供高度可拓展性解决方案,广泛适用于下一代智能手机、平板机、大屏幕移动计算设备、高端数字家庭娱乐终端、无线基站、企业基础架构产品等。

4嵌入式操作系统

从20世纪80年年代开始,出现了各种各样的商业用嵌入式操作系统。这些操作系统大部分都是为专有系统而开发,从而形成了目前多种形式的商用嵌入式擦偶做系统百家争鸣的局面。
如Linux、VxWorks、pSOS、PalmOS和Windows CE等。

Linux
嵌入式Linux现在已经有许多的版本,包括强实时的嵌入式Linux(如新墨西哥工学院的RT-Linux和堪萨斯大学的KURT-Linux等)和一般的嵌入式Linux版本(如uCLinux和PocketLinux等。

RTlinux
RTLinux(AReal-Time Linux,亦称作实时Linux)是Linux中的一种实时操作系统。它由新墨西哥矿业及科技学院的V. Yodaiken开发。目前,RTLinux有一个由社区支持的免费版本,称为RTLinux Free,以及一个来自FSMLabs的商业版本,称作RTLinux Pro。

VxWorks
1984年WRS公司推出它的第一个版本VxWorks1.0.1,在1997年推出了VxWorks 5.3.1。VXWorks是一个运行在目标机的高性能、可裁减的嵌入式实时操作系统。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。

WInCE
Windows CE的多线程、多任务、全优先的操作系统环境是专门针对资源有限而设计的。这种模块化设计使嵌入式系统开发者和应用开发者能够定做各种产品,例如家用电器、专门的工业控制器和嵌入式通信设备。

Palm
3COM公司的Palm操作系统在掌上电脑和PDA市场上占有很大的市场份额。它有开发的操作系统应用接口,开发商可以根据需要自行开发所需的应用程序。

μC/OS-II
由于μC/OS-II 仅是一个实时内核,这就意味着它不像其他实时操作系统那样,它提供给用户的只是一些API函数接口,有很多工作往往需要用户自己去完成。把μC/OS-II 移植到目标硬件平台上也只是系统设计工作的开始,后面还需要针对实际的应用需求对μC/OS-II 进行功能拓展,包括底层的硬件驱动、文件系统和用户图形接口(GUI)等,从而建立一个实用的RTOS。

eCOs
eCos(embedded Configurable operating system),中文翻译为嵌入式可配置操作系统或嵌入式可配置实时操作系统。适合于深度 嵌入式应用,主要应用对象包括电子消费、电信、车载设备、手持设备以及其他一些低成本和便携式应用。

5嵌入式系统结构

嵌入式系统与传统的计算机一样是一种由硬件软件组成的计算机系统。硬件包括了嵌入式微控制器和微处理器,以及一些外围元器件和外部设备,软件包括嵌入式操作系统和应用软件。

中间层
中间层为硬件层与系统软件层之间的部分,有时也成为硬件抽象层(Hard Abstract Layer,HAL)或者板级支持包(Board Supper Package, BSP)。

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

应用软件层
应用软件层则是开发设计人员在系统软件层的基础之上,根据需要实现的功能,综合系统的硬件环境所开发的应用软件。

常用开发工机具
GNU Tools
Linux环境下流行的开发工具是GNU Tools,利用GNU Tools完全可以控制编译行为,在嵌入式Linux环境中同样具有广发的应用。

GNU Tools包括vi/vim GCC GDB make CVS SVN diff patch binutils

Qt
Qt是一个跨平台的C++应用开发开发框架

Eclipse
Eclipse可以说是发展极为迅速,它不仅是一个以java为主的开发平台,其功能强大的插件体系结构使得它可以被当做各种应用程序来使用。

交叉开发环境
嵌入式系统通常是一个资源受限的系统,因此不可能直接在嵌入式系统的硬件平台上编写软件。
目前一般采用的解决方法是首先在通用计算机上编写程序,然后通过交叉编译生成目标平台上可以运行的二进制代码格式,最后再下载到目标平台上的特定位置上运行。

交叉调试
交叉调试(Cross Debug)又常常被称为远程调试(Remote Debug),是一种允许调试器以某种方式控制目标机上呗调试金蝉的运行方式,并具有查看和修改目标机上内存单元、存储器以及被调试进程中变量值等各种调试功能的调试方式。

系统测试
内存分析工具
Valgrind /proc/meminfo atop free GNOME System Monitor
性能分析工具
Intel VTuneOprofileGprof Google Perf Tools

覆盖分析工具
c/c++:gcc+gcov+lcov:(单元测试:CUnit、CPPUnit、Google GTest等)
java:Maven cobertura插件、Clover、 EMMA、Jtest;
Python:PyUnit+coverage.py;
PHP:phpunit±coverage-html+Xdebug;
Perl:Test::Class 和 Devel::Cover;
Shell:shUnit2+shcov;

嵌入式linux开发实战——项目1认识嵌入式系统相关推荐

  1. 嵌入式 Linux 开发基本概念

    在线课堂:https://www.100ask.net/index(课程观看) 论  坛:http://bbs.100ask.net/(学术答疑) 开 发 板:https://100ask.taoba ...

  2. C语言到嵌入式Linux开发项目指导

    C语言到嵌入式Linux开发项目指导 第一阶段C语言 1.常量与变量,数据类型,数据类型转换,数据输入与输出: 2.C语言运算符,C语言操作符,C语言表达式,表达式优先级: 3.C语言流程控制,分支, ...

  3. linux用户环境下进入uboot,嵌入式linux开发uboot移植(一)——uboot项目简介

    嵌入式linux开发uboot移植(一)--uboot项目简介 一.uboot简介 U-Boot,全称 Universal Boot Loader,是遵循GPL条款的从FADSROM.8xxROM.P ...

  4. 视频教程-嵌入式Linux开发基础-嵌入式

    嵌入式Linux开发基础 嵌入式工程师.嵌入式讲师.10多年嵌入式开发实战经验,6年专业嵌入式课程培训经验.主要研究方向是嵌入式Linux系统应用和物联网技术应用.先后参与过武警边防音视频矩阵切换系统 ...

  5. 北京迅为i.mx6ull终结者开发板使用手册+嵌入式Linux开发指南+裸机手册下载地址

    i.MX6ULL终结者三大手册,加速学习和开发速度,一秒化无形! <嵌入式Linux开发指南>+<开发板使用手册>+<裸机使用手册> 详细手册点击链接下载:http ...

  6. 零基础嵌入式Linux开发工程师培训

    零基础嵌入式Linux开发工程师高端培训(ARM实战.系统移植.驱动开发.网络电子书开发) 适合人群:初级 课时数量:336课时 用到技术:ARM实战.系统移植.驱动开发 涉及项目:网络电子书开发.案 ...

  7. Linux学习之云服务器搭建嵌入式Linux开发环境

    Linux学习之云服务器搭建嵌入式Linux开发环境 第一步:购买云服务器 进入腾讯云官方网站腾讯云官方网站 选择云+校园云+校园 进入控制台 将云服务器系统设置为Ubuntu系统 使用Xshell6 ...

  8. 【分享】4412开发板-嵌入式Linux开发须要掌握的基础知识和技能

    本文转自迅为电子论坛:http://www.topeetboard.com 1.Linux 基础 安装Linux操作系统 Linux文件系统 Linux经常使用命令 Linux启动过程具体解释 熟悉L ...

  9. 嵌入式linux/鸿蒙开发板(IMX6ULL)开发(一) 嵌入式Linux开发基本概念以及开发流程介绍

    文章目录 1.linux开发初了解 1.1 嵌入式Linux开发的基本概念 1.1.1关于Git的背景介绍 1.1.2关于repo的背景介绍 1.1 3 一些关于此背景知识的介绍 1.1.4关于Lin ...

  10. 嵌入式linux开发环境搭建(VMware16.0.0+Ubuntu16.04.3_X64)

    目录 一.安装VMware 1.VMware介绍 2.安装VMware16.0.0 二.安装ubuntu16.04.3 LTS 1.Ubuntu介绍 2.下载安装包iso 3.安装 四.新安装Ubun ...

最新文章

  1. SQL Server 性能基线和监控
  2. 数据结构与算法:03 C#面向对象设计 I
  3. CentOS7.5安装配置PostgreSQL11
  4. Java发邮件-QQ服务器认证
  5. 【Java爬虫】我的第一个爬虫 -- 简单抓取网页源代码
  6. C++递归或非递归实现n的阶乘
  7. attempt to write a readonly database 错误
  8. 面向对象的数据库开发--再论ORM
  9. windows 架设SVN服务器
  10. 数据之路 - Python爬虫 - Scrapy框架
  11. Skyline软件二次开发初级——1如何在web页面中添加控件和加载三维地图数据
  12. 内网渗透系列:痕迹清理方法小结
  13. win7装matlab教程,win7系统怎么安装matlab软件(图文教程)
  14. python判断一个列表是否包含另一个列表_Python-检查一个列表是否包含在另一个列表中...
  15. wow Time Blessing Replacer
  16. python 经纬度计算相关
  17. defaults(default是什么职位)
  18. 【文件包含漏洞-03】文件包含漏洞的利用及如何利用本地文件包含漏洞GetShell
  19. 解决阿里云盘分享文件数量太多而无法分享的问题
  20. 祝贺!中国战队EDG夺冠

热门文章

  1. 使用layui的laypage完成分页
  2. 校招| C++ 后台开发学习路线
  3. 珍大户《认知世界的经济学》学习笔记 -- 第21课 利率的计算 更新时间2021年07月27日22:14:34
  4. aliez歌词_歌曲《aLIEz(TV动画《ALDNOAH.ZERO》ED2)(翻自 mizuki)》完整歌词是什么?谁唱的?...
  5. java根据模板导出word poi-tl使用Word模板和数据创建Word文档
  6. 微课录制神器,新手老师必备录屏软件!
  7. 身份证前6位对应的省市区代码(超详细)
  8. banner设圆角_Banner设计技巧!
  9. VS2012 下载地址
  10. ‘javah‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件