笔者所修读的专业为物联网工程,物联网工程是一门新兴的、热门的专业,其所涉及的学科更是又多又杂,既有计算机方向的编程语言(如C、C++、Java、Python等)、数据结构与算法、操作系统、移动端应用开发、机器学习等;软硬结合的方向有数字电路单片机开发、嵌入式Linux开发等;硬件、电路方向有电路分析、数字电路、模拟电路、传感器原理、RFID、FPGA开发等;涉及信号处理的有信号与系统、通信原理等。这就意味着物联网工程的发展方向非常多样,学得多涉猎得广但是却没有在某个方向上非常地深入,同学们可以在本科期间学习一些技能,为日后就业、或者考研的方向选择做一个充分的准备,笔者所就业的方向为嵌入式开发。电子信息、通信工程、电子科学与技术等专业,或者要转行嵌入式开发的亦可以参考一下。

目录

  • 学习路径
    • 电路原理图学习
    • 单片机的学习
    • 实时操作系统的学习
    • 参加比赛
    • 嵌入式Linux的学习

学习路径

网上有许许多多的教程,特别是B站,笔者几乎全部的课程都是看B站学习的。在学习之前,大学的相关课程需要有所掌握。

电路原理图学习

若要入门嵌入式、可以先从绘制PCB板开始学习、像Altium Designer、立创PCB、Allegro等等,这里要说的是,如果以后有想法往像PCB Layout这种画板的岗位发展的话可以深入地去学习一下这些软件的使用,如果是要做嵌入式开发的话可以简单地学习一下,在嵌入式开发里面主要的要求是将开发板的原理图看懂,不一定需要深入掌握这些软件的使用(小厂可能会要求啥都会吧),具体看读者的意向。

单片机的学习

可以看懂开发板的原理图之后就可以开始学习单片机啦(读者要已经有C语言基础编程的能力),笔者这边的建议是先学习8051,再学习stm32,先学习8051相当于掌握单片机的原理,像时钟、寄存器等概念,笔者所看的课程是B站up主“江科大自化协”的课,其他的课也讲得很好。再后面可以学习stm32,stm32结构比8051复杂,性能要高,功能要丰富,这里笔者看的是正点原子的课,开发板有使用过正点原子的mini板、精英板、探索板等,也有很多选择,像野火、韦东山老师等等,都是非常优秀的课程,时间充足的话可以多种课程比较着看,互相补充。
这里要特别说明,学习嵌入式开发一定需要有开发板,没有开发板,相当于纸上谈兵。
到这个阶段,就可以做一点小小的项目,比如用8051单片机做一个计算器、电子钟,用stm32去做一下图像采集系统、智能车、蓝牙音箱等。开发板可以自己绘制、焊接元器件,这样从硬件到软件层面去完成,乐趣非凡。

实时操作系统的学习

上面学习单片机主要还是裸机的使用,真正在公司开发单片机产品一般都基于实时操作系统(RTOS)开发,比如UCOS、FreeRTOS、RT-Thread等,正点原子等也有相关的教程。亦有网络编程,图形化界面系统(比如LVGL)等。到这里基本的MCU开发就算是入门了。

参加比赛

大学期间可以参加一些相关的比赛,如全国大学生电子设计竞赛等(挑战杯偏学术性,互联网+也不是侧重技术的,不太推荐),珍惜机会参加比赛,锻炼能力,这些都可以作为很好的项目经历。

嵌入式Linux的学习

RTOS学习相当于对嵌入式Linux的操作系统原理上的一些知识打下基础,若想直接学习Linux亦可以。嵌入式Linux开发涉及的方面,有应用开发、驱动开发、bootloader移植等等,其实就是相当于一个plus的单片机,如果是全面地学习嵌入式Linux的开发,比MCU开发涉及到内容要多很多,也更为复杂,需要有单片机的基础作为支撑。笔者目前主要还是在这个阶段前进,可以根据像前面所说到的韦东山老师、正点原子等家的视频学习。具体内容以及找工作需要准备的点,笔者后续再追更,敬请关注!

单片机、嵌入式Linux开发大学自学路径相关推荐

  1. 《嵌入式Linux开发实用教程》

    <嵌入式Linux开发实用教程> 基本信息 作者: 朱兆祺    李强    袁晋蓉 出版社:人民邮电出版社 ISBN:9787115334831 上架时间:2014-2-13 出版日期: ...

  2. 嵌入式 Linux 开发工具篇问题整理//C语言测试(杨辉三角、递归调用实现阶乘、计算器、统计字符串出现次数)//2018.07.12.//

    嵌入式 Linux 开发工具篇问题整理 1. 嵌入式开发与传统开发的区别?(同类问题:单片机开发与嵌入式开发的区别)             是否有无操作系统:     2. 移植操作系统的好处有哪些 ...

  3. linux开发板 pc 通讯_从51单片机到Linux 开发板运行hello world(教程4)

    大家好,我是兔子. 是一个嵌入式软硬件工程师. 正在从单片机开发转岗Linux开发. 这次教大家如何在Linux开发板上运行可执行文件. 简单起见,不涉及到硬件.直接和教程2一样,能在PC虚拟机上运行 ...

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

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

  5. 嵌入式Linux开发教程:Linux常见命令(上篇)

    摘要:这是对周立功编著的<嵌入式Linux开发教程>的第7期连载.本期刊载内容有关LinuxLinux常见命令中的导航命令.目录命令和文件命令.下一期将连载网络操作命令.安装卸载文件系统等 ...

  6. 我的嵌入式linux开发步骤

    我的嵌入式linux开发步骤: 1.       安装虚拟机,见<安装及使用心得>,选择桥接模式 2.       虚拟机串口设置,见<VMare里linux使用MINCOM通信&g ...

  7. 构建嵌入式系统软件开发环境-VMware的安装及搭建嵌入式Linux开发环境

    嵌入式系统操作系统 目前流行的嵌入式操作系统主要有VxWorks.WindowsCE.Linux等,由于Linux的源码开放性.内核可裁剪性.在图像处理.文件管理及多任务支持等诸多方面的特点,使得它成 ...

  8. ubuntu20.04.1 64位搭建嵌入式linux开发环境

    目录 背景 开发环境的搭建 1.交叉编译工具的安装 2.开发工具和依赖库的安装 2.1. 必需部分 2.2.可选部分 ubuntu20.04.1 64位配置和编译Linux3.0内核 背景 市面上的嵌 ...

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

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

最新文章

  1. Oracle EBS R12 客户表结构
  2. c语言平滑raw图像(取平均值法)
  3. Python爬虫西安七天天气预报
  4. CRM How to configure text type to allow html editor
  5. Java字符串简化_关于java查询语句 如何简化的问题
  6. YbtOJ-选点构形【欧拉函数】
  7. vins-mono后端优化
  8. MFC可执行文件问题
  9. dataframe数组做元素_大数据技术之使用 DataFrame 读取复杂 JSON 中的嵌套数组
  10. javascript-从toString方法在判断复杂数据类型上的妙用,引申到对原型链的理解...
  11. 激光SLAM导航系列(一)SLAM与导航基本原理
  12. .styl格式的CSS样式文件是什么文件
  13. 猿创征文|Python基础——Visual Studio版本——第五章 文件I/O
  14. 无法打开计算机开始菜单,开始菜单,教您开始菜单无法打开
  15. PS制作文字扫描效果(仿旧效果)
  16. sparql rdf_使用SPARQL查询RDF数据
  17. 视频监控,多画面播放窗口,布局设计器
  18. 波浪理论与伦敦金价走势分析
  19. 电脑重装系统c盘如何备份资料
  20. 高德地图独家秒级上线多条重点道路 数据优势大幅领先

热门文章

  1. 安装 ESXi 出现错误 ERROR 1962: No operating system found
  2. 零基础入门智能射频---python的无人机测向天线自动化设计
  3. 火狐浏览器插件wappalyer指纹识别
  4. 1.1.1和1.1.2支持漫游运营商LOGO更换
  5. CS231N课程作业Assignment1--SVM
  6. 用Python进行批量文件整理
  7. Python如何让其他人通过局域网来访问你的本地的ip
  8. IOS xib三等分,四等分控件
  9. python处理文本文件
  10. HAL库开发BMP280读取压强