嵌入式的硬件学习是开始嵌入式的基础,从第一个最简单的流水灯开始,都是从开始读懂硬件原理图开始的,所有首先要有基本的电路知识,然后就是可以先学一下51单片机开发板,学习一下51的单片机基本外围设备有哪些。再做做基于单片机的电子系统自设计,如电子时钟之类的,然后再慢慢的开始MO,STM32,ARM9,11,ARM A9 等系列的开发板的硬件,基础硬件的配置,bootloader的移植,最后再做一个基于操作系统的电子设计,就差不多对嵌入式的硬件有个通透的了解了。

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、基于操作系统的电子设计

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

总结:

其实嵌入式硬件的学习和软件学习是分不开的。在学习硬件的过程当中,也要不断的测试,从8位的单片机到32位的,从没有操作系统到有嵌入式操作系统,从简单的流水灯到复制的bootloader移植。都是软件硬件分不开的。

linux硬件开发学习,硬件学习该从何下手相关推荐

  1. i.MX6ULL Linux阿尔法开发板硬件与调试

    文章目录 1. 硬件 1.1 驱动与开发软件 1.2 拨码开关 2. 调试与测试 2.1 登录开发板 2.2 输入控制 2.2.1 查看按键所对应的输入事件 2.2.2 查看按键触发事件打印信息 2. ...

  2. 如何从一个小白到硬件开发高手,学习步骤是什么?

    任何高手都是从小白起步的,所以小白不可怕,只要有目标.有行动,距离高手很近. 1.要有扎实的理论基础 硬件既是一门理论又是一门技术,要有强大的基础理论的支撑,所以在大神之前,一定要把理论搞清楚.所以, ...

  3. Linux系统开发: 基础命令学习

    一.Linux系统介绍 Linux是一套免费使用和自由传播的Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.支持32位和64位硬件,Linux继承了U ...

  4. 【C语言 Linux系统开发 视频课程学习笔记】

      学习的课程在b站:史上最强最细腻的linux嵌入式C语言学习教程[李慧芹老师]   感谢李老师!感谢up主!   本篇博客只是收集一下学习过程中遇到的函数和其他知识点,并不会详细展开.某个函数的具 ...

  5. Linux驱动开发(硬件基础知识)——存储器

    文章目录 前言 非易失性存储器 ROM FLASH NOR Flash 公共闪存接口(CFI) NAND Flash IDE 掉电丢失数据存储器 静态RAM(SRAM) 动态RAM(DRAM) 特定R ...

  6. linux qnx 开发平台,QNX学习笔记之QNX Momentics IDE开发工具使用笔记

    使用tftp,串口连接Target,下载内核 1.uboot的使用 1) 采用串口,波特率为115200, 采用QNX M IDE默认的设置,按任意键,即可进入uboot 2) 常用的命令有: set ...

  7. Linux系统开发: 命令进阶学习(一)

    一.解压缩命令介绍 Linux下最常用的打包程序是tar命令,使用tar打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的,生成tar包后,就可以用其它的程序来进行压缩了. 1. ...

  8. HarmonyOS硬件创新合作伙伴,【HarmonyOS】HarmonyOS智能硬件开发学习指南 - HDC2020

    2020年9月10日,华为HarmonyOS 2.0版本正式官宣!这一次,借助 HarmonyOS 全场景分布式系统和设备生态,将定义全新的硬件.交互和服务体验,打开焕然一新的全场景世界,不愧是Har ...

  9. 嵌入式Linux应用开发学习路线--自用

    嵌入式Linux应用开发学习路线–自用 嵌入式应用开发路线: 对于有简单的ST32基础和AD基础的人比较合适 个人理解: 先按照韦东山老师的思路,学下来,建议一个基本的框架,然后根据嵌入式Linux应 ...

  10. C/C++ Linux后端进BAT的学习路线(腾讯官方认证)丨Linux服务器开发

    我相信对于每一个程序员来说都有一个进入BAT的梦想,今天Hu先生给大家分享的是经过腾讯官方认证的一份C/C++Linux后端开发的知识点学习路线总结.大家可以根据知识点对比,看看自己目前还有哪些技术需 ...

最新文章

  1. c语言如何判断密码不同字符,C语言从文本文档读取字符串(用户名和密码验证)...
  2. 最短路径Dijkstra讲解,工具包使用 python
  3. 如何打通“鱼塘” ?腾讯启动“SaaS技术联盟” 共建技术中台
  4. C语言变量声明和定义 - C语言零基础入门教程
  5. 华为python有必要学吗_【华为云技术分享】这个 Python 库有必要好好学学
  6. Html 5 Input type=range 滑动条
  7. 微信支付功能测试用例
  8. mysql等级保护_网络安全等级保护测评-MYSQL篇
  9. All-Pay Contests 论文定理推导(博弈论+机制设计)
  10. 使用ISO镜像制作适用于OpenStack的云镜像
  11. 笔记............................
  12. SpringBoot整合j2cache缓存
  13. 自动化学报latex模板——ctex2.4.6和ctex2.9.2直接使用步骤
  14. Java实现bt文件下载、制作、解析、磁力链接
  15. 利用DISM修复WIN11的系统组件错误
  16. Smart210学习记录------块设备
  17. 中国顶级门户网站架构分析1
  18. ios 9 10 11 air mirror 交互协议
  19. 基于全过程通道相关像素值顺序的彩色图像可逆数据隐藏
  20. Leave a dent in the world:陶建辉,52岁程序员与TDengine一起成长的四年

热门文章

  1. tf.get_variable与tf.variable_scope
  2. 555定时器的应用——多谐振荡器
  3. PHP 数据库中的模糊查询
  4. 第一次个人项目【词频统计】——PSP表格
  5. Vijos——T 1016 北京2008的挂钟 || 洛谷—— P1213 时钟
  6. sql 的 DATE_FORMATE()函数
  7. !DOCTYPE标签的定义与用法
  8. Alarm:IT界朋友请珍惜你的身体[转贴]
  9. 以命令行的格式读取音频文件信息,并将读取的内容写到输出文件中
  10. [转载] python 字符串查找的4个方法和count函数