嵌入式基础知识与嵌入式设计应具备的基本技能

嵌入式系统的定义:
               以应用为中心,以计算机技术为基础,且软硬件可裁减,适应应用系统对功能、可靠性、成本、体积、功耗的严格要求的专用计算机系统。

嵌入式系统的特点:
               系统内核小:嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多
               专用性强:嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植
               系统精简:嵌入式系统一般不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于系统安全
               实时性操作系统:这是嵌入式软件的基本要求,而且软件要求固化存储,以提高速度,软件代码要求高质量和高可靠性、实时性
               专用的开发工具和开发环境。
        嵌入式系统的组成:

 嵌入式操作系统:

嵌入式系统开发流程:
               裸机开发:对于功能简单仅包括应用程序的嵌入式系统一般不使用操作系统,仅有应用程序和设备驱动程序
               带操作系统的开发:当设计较复杂的程序时,可能就需要一个操作系统(OS)来管理控制内存、多任务、周边资源等,现代高  性能嵌入式系统应用越来越广泛,操作系统使用成为必然发展趋势
               硬件开发--->启动加载程序--->操作系统内核--->根文件系统--->设备驱动--->应用程序
       通常基于linux系统的嵌入式开发步骤:
               开发目标硬件系统:如选择微处理器、Flash及其它外设等
               建立交叉开发环境:安装交叉编译工具链、安装开发调试工具
               开发Bootloader:移植uboot,vivi
               移植linux内核:如linux2.6.31内核
               开发根文件系统:CRAMFS,YAFFS
               开发相关硬件的驱动程序:led,adc等驱动
               开发上层的应用程序:如QT GUI开发

硬件工程师应具备的基本技能:
    (1)由需求分析至总体方案、详细设计的规划创造能力;
    (2)熟练运用设计工具,设计原理图、PCB板的能力;
    (3)熟练运用单片机、DSP、PLD、FPGA等进行软硬件开发调试的能力;
    (4)熟练运用仿真工具、示波器、信号发生器、逻辑分析仪等调测硬件的能力;
    (5)掌握常用的标准电路的设计能力,如复位电路、常用滤波器电路、功放电路、高速信号传输线的匹配电路等;
    (6)故障定位、解决问题的能力;
    (7)设计文档的组织编写技能。  

时间: 09-11

嵌入式基础知识与嵌入式设计应具备的基本技能的相关文章

嵌入式基础教程之嵌入式系统的知识体系

嵌入式系统的应用范围可以粗略分为两大类:电子系统的智能化(工业 控制.现代农业.家用电器.汽车电子.测控系统.数据采集等),计算机应用的延伸(MP3.手机.通信.网络.计算机外围设备等).从这些应用可以看出, 要完成一个以MCU为核心的嵌入式系统应用产品设计,需要硬件.软件及行业领域相关知识.硬件主要有MCU的硬件最小系统.输入/输出外围电路.人机接口设计.软件设计有固化软件的设计,也可能含PC机软件的设计.行业知识需要通过协作.交流与总结获得. 概括地说,学习以MCU为核心的嵌入式系统,需要以

嵌入式基础知识 2

sqlite数据库===>SQL 0.介绍 1.数据库的安装 1.1 拷贝压缩包 sqlite-autoconf-3080500.tar 到linux虚拟机中 1.2 解开压缩包 ===> tar -zxvf sqlite-autoconf-3080500.tar.gz 1.3 进入到解开的目录 sqlite-autoconf-3080500 中,cd sqlite-autoconf-3080500 1.4 ./configure 1.5 make 1.6 suduo make install

嵌入式基础知识

================ 内存管理 ===============1.从地地址到高地址依次为:代码区.数据区.堆区.栈区.命令行参数及环境变量区域 2.局部变量:局部变量位于栈区 栈区特点: 1.栈区当中变量未初始化之前都为随机值 2.在变量作用域结束后,变量空间被操作系统收回 全局变量:全局变量位于数据区 数据区特点: 1.数据区中变量未初始化之前都是0 2.在程序结束后,变量空间被操作系统收回 静态变量:静态变量位于数据区特点: 1.数据区中变量未初始化之前都是0 2.在静态变量作用

开始ITGEGE教育社区的视频录制----嵌入式基础知识讲解

从8月份开始,陆陆续续要对我的第一份兼职工作ITGEGE讲师做教学视频录制了,本人水平有限,我只讲一些开发在工作中的应用,其它细节的东西不做深究,毕竟本人工作经验和精力也有限,白天要上班,特别是最近又有新的项目要来了,要学习新的东西,平时也会在CSDN的特邀编辑选拔一些CSDN的精选文章,这也算是第二份兼职吧,和CSDN社区合作了,我觉得挺不错的,既有收益又能学到CSDN社区一些大神写的东西,感谢CSDN的陈秋歌女士的信任和支持.再者我比较喜欢玩的,毕竟适当学习要适当放松,愉悦一下也不错.欢迎一

基础知识--UI布局设计

1.src文件中main.java要与layout布局文件.xml绑定 setContentView(R.layout.main_activity.xml); xml 引入到mainactivity.Java中. 2.线性布局: linearLayout是线性布局控件.包含的子控件将以横向或者竖向排序. (1)linearLayout属性  orientation(vertical:垂直:horizontal:水平排序) (2)gravity属性: 决定子类控件在xy轴的位置 center_ve

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

本文转自迅为电子论坛:http://www.topeetboard.com 1.Linux 基础 安装Linux操作系统 Linux文件系统 Linux常用命令 Linux启动过程详解 熟悉Linux服务能够独立安装Linux操作系统 能够熟练使用Linux系统的基本命令 认识Linux系统的常用服务安装Linux操作系统 Linux基本命令实践 设置Linux环境变量 定制Linux的服务 Shell 编程基础使用vi编辑文件 使用Emacs编辑文件 使用其他编辑器 2.Shell 编程基础

设计微服务架构需要掌握的基础知识

基础知识: 领域驱动设计(DDD) Restful API设计以及深入理解HTTP协议 Restful API设计框架(JAX-RS(CXF,Jersey,RestEasy) . Spring MVC . Play) 部署微服务而设计的开发框架 Spring Boot Docker 微服务运维工具 服务自动负载均衡(Nginx.HAProxy) 日志监控ELK: Elasticsearch/Logstash/Kibana 基于Docker的部署和管理

UI设计初学者教程:色彩基础知识

编辑:千锋UI设计 初学设计都会先认识三原色,通常我们说的三原色指的是颜料三原色:红.黄.蓝:其实三原色还有色光三原色:红.绿.蓝.我们通常说的红黄蓝就是减色法三原色,而红绿蓝是加色法三原色.可能这么说有点蒙,简单来说就是CMYK(印刷色)和RGB(屏幕色)的区别. 初学设计都会先认识三原色,通常我们说的三原色指的是颜料三原色:红.黄.蓝:其实三原色还有色光三原色:红.绿.蓝.我们通常说的红黄蓝就是减色法三原色,而红绿蓝是加色法三原色.可能这么说有点蒙,简单来说就是CMYK(印刷色)和RGB(屏

嵌入式驱动开发应具备的三大基础

嵌入式开发在IT开发行业中一直是比较火热的职业.虽然近几年被ios开发和安卓开发占了上风,但万变不离其宗,ios开发和安卓开发的根基还是嵌入式开发.而嵌入式开发中驱动开发占有不可磨灭的地位.现在小编就为大家介绍一下做嵌入式驱动开发应具备的基础. 硬件知识 驱动说白了就是写程序调用硬件的功能来按照我们的逻辑完成我们的要求.既然要与硬件打交道就要熟练掌握硬件知识.如果你是电子专业出身,那么这个要求对你来说就很微不足道了.因为你已经掌握了写驱动的必要条件之一.如你是非科班出身,那么对不起你需要去补充一