学习嵌入式之前我们需要了解什么是嵌入式。

(官方说法)嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。举些例子,手机、电子时钟、智能报警装置、自动监控器、出租车计费器等等都属于嵌入式系统,嵌入式系统是硬件和软件的综合体。

硬件篇:

1、基本电路知识

嵌入式硬件也是需要许多电路搭建起来的,学习嵌入式之前必须对电路基本知识有一定基础。了解常用的基本器件,基本仪器使用,具有一定的电路分析能力。这样你才能看得懂嵌入式系统的硬件电路图,才能为后续开发奠定基础。

2、基本语言知识

嵌入式驱动程序编写需要用到C语言,因此在学习嵌入式之前还必须熟练C语言基本语法,并能编写些普通程序代码。系统学习企鹅意义气呜呜吧久零就易,这里需要提醒,在学习C语言时养成规范的编程习惯,如添加备注、注意排版等,这将对以后的程序准确性有很大影响。

3、单片机(51单片机)

初学者首次接触嵌入式处理器一般都是51单片机,51单片机入门相对简单,并且通用度比较高,可以购买开发板动手学习。如学习编写流水灯、按键扫描、数码管、液晶显示、AD/DA采样等简单程序。

4、基于单片机的电子系统自设计

有了前面的学习经历,可自己脱离开发板,自己设计并绘制电路图,自己焊接或者生产PCB板,设计小型的电子系统。如设计一个寻线小车,温度采集、时钟显示等嵌入式系统。

5、430、STM32、Cortex-M3(可选)

430单片机、STM32以及Cortex-M3处理器作为学习嵌入式操作系统前的过渡阶段,各位朋友可以自行选择学习。为什么需要用他们来过渡呢?

因为51单片机内部寄存器很少,编写程序时不需要对GPIO口进行配置,默认就已经是输入或者输出。而当处理器功能强大之后,往往一个GPIO可实现多种功能,如USB功能、IIC功能、UART功能。在使用这种GPIO时就必须先进行配置,才能满足需求。因此在学习后面操作系统之前,有时间的同学可以从这些单片机过渡,这样不至于后续学习摸不到头脑。

6、ARM9/ARM11裸机学习

裸机程序编写,即不带操作系统的程序编写,其作用和上面430单片机的作用相似,目地就是为了熟悉ARM架构,对ARM寄存器有深入的了解,这将对以后的驱动程序编写带来很大的方便。同样,裸机程序学习可像51单片机一样,购买开发板,在开发板上进行一些中断、GPIO、UART的操作。

7、Linux系统移植&BOOTLOADER

嵌入式系统学习特别注意又特别难的地方就是Linux系统移植,对于系统的移植、系统的裁剪是学习的难点。搭建嵌入式操作系统的开发环境,即交叉编译环境也比较麻烦,因此在学习过程中一定要一步一步动手实践操作。

BOOTLOADER是操作系统启动前,进行硬件初始化以及搭建操作系统运行环境的一段代码,有点类似于PC机的BIOS程序。BOOTLOADER主要与硬件关系很大,需对处理器寄存器相当的熟悉,因此在初期学习的时候可以参考U-boot等学习。

8、基于Linux的底层驱动编写

上面学习了Linux系统移植,就可以编写底层驱动程序了,通过交叉编译环境将驱动程序编译并下载到目标板上,并且编写一段小测试程序验证驱动的正确性。如在Linux下实现流水灯,实现按键功能。

9、基于操作系统的电子设计

学习到这一步,就可以称得上嵌入式硬件高手了,因为你已经具备独自设计嵌入式系统的能力了,现在就来小试牛刀。可以设计一些基于操作系统的摄像头驱动、按键驱动、红外驱动等。

如何学习嵌入式系统(硬件篇),含51单片机学习资料相关推荐

  1. 如何学STM32 —— 十年经验教你如何学习嵌入式系统

    一.如何学习嵌入式系统- - 嵌入式系统的概念 着重理解"嵌入"的概念 ,主要从三个方面上来理解. 1.从硬件上,"嵌入"将基于CPU的处围器件,整合到CPU芯 ...

  2. 很朴素的学习嵌入式系统的经验

    学习嵌入式,该学习什么基本的知识呢? 首先C语言,这个是毋庸置疑的,不管是做嵌入式软件还是硬件开发的人员,对C语言的掌握这个是必需的,特别是对于以后致力于嵌入式软件开发的人,现在绝大部分都是用C语言, ...

  3. arm体系结构与编程_教程:如何学习嵌入式系统(基于ARM平台)

    一.嵌入式系统的概念 着重理解"嵌入"的概念 主要从三个方面上来理解. 1.从硬件上,将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系结构下的计算机,CPU只是 ...

  4. 如何学习嵌入式系统(基于ARM平台)

    一.嵌入式系统的概念        着重理解"嵌入"的概念 主要从三个方面上来理解.     1.从硬件上,将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系结构 ...

  5. 嵌入式系统-硬件工程师

    嵌入式硬件开发工程师 嵌入式硬件开发工程师主要编写嵌入式系统硬件总体方案和详细方案,要求理解嵌入式系统架构,有一定的C语言基础,熟悉ARM.PROTEL设计软件,有四层板开发经验. 1  工作内容 编 ...

  6. 51单片机学习历程——硬件准备&开发环境搭建

    系列文章目录 第一章 51单片机学习历程(1)--开发环境搭建 第二章 51单片机学习历程(2)--建立新的工程 第三章 51单片机学习历程(3)--点亮一颗LED 第四章 51单片机学习历程(4)- ...

  7. 教你如何学习嵌入式系统

    教你如何学习嵌入式系统 一.如何学习嵌入式系统- - 嵌入式系统的概念 着重理解"嵌入"的概念 ,主要从三个方面上来理解. 1.从硬件上 "嵌入"将基于CPU的 ...

  8. 一个完备的嵌入式系统硬件架构有哪几部分构成?

                一个完备的嵌入式系统硬件架构有哪几部分构成? 图 1 给出了本文的讨论所基于的硬件平台,实际上,这也是大多数嵌入式系统的硬件平台.它包括两部分: (1) 以通用处理器为中心的协 ...

  9. ArtyA7的Hello Word创建Microblaze嵌入式系统硬件工程的问题解决

    Xilinx问题解决-Arty A7 [Timing 38-282] The design failed to meet the timing requirements. [Timing 38-469 ...

最新文章

  1. component映射
  2. 如何用python画一个小房子?
  3. python sql解析引擎_python SQLAlchemy 中的Engine详解
  4. 第九篇 - UITextField
  5. android 如何完全卸载Android Studio
  6. linux-文件类型与查看文件型
  7. 第二代电子计算机逻辑部件主要由,计算机组成原理参考答案
  8. eclipse集成maven
  9. python读取数据库数据释放内存_在使用python处理数据时,为什么其内存无法自动释放掉?...
  10. android hfp分析,Android HFP-转
  11. sg nc的java下载,01_SG-NC-客户端安装说明及培训材料下载 3
  12. 大学计算机一级等级考试题,大学计算机一级考试试题.doc
  13. VBox虚拟机在注册过程中可能报的错(一条龙服务) 打开虚拟文件失败、relaunching VirtualBox VM process 5 (Solved)等等
  14. 苹果手机配什么无线蓝牙耳机好?适配苹果手机的蓝牙耳机推荐
  15. repos install.packages()安装镜像
  16. 基于SSM框架的学生在线教育教学课程管理系统
  17. 哈密顿量模拟(Hamiltonain simulation)
  18. 使用M0 DesignStart 的样例SoC(example system) - 3 verdi环境配置
  19. 关于html5的标签整理合集(二)
  20. Qt之简约按钮导航栏

热门文章

  1. uni-app消息推送方案
  2. android自定义view凯,Android开发之自定义View(一)
  3. 虚拟化服务器采用amd芯片,AMD和Intel比拼芯片辅助虚拟化
  4. 关于Excel表操作-通过gensim实现模糊匹配
  5. 关于研发效能提升的思考
  6. 用户行为服务系统架构调研----电信用户行为分析系统架构
  7. Java 新特性总结
  8. python爬虫教程,带你抓取百度的高清摄影图片
  9. Linux权限:权限的概念及管理、粘滞位
  10. js中中文逗号与英文逗号的互相转换