单片机、嵌入式Linux开发大学自学路径
笔者所修读的专业为物联网工程,物联网工程是一门新兴的、热门的专业,其所涉及的学科更是又多又杂,既有计算机方向的编程语言(如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开发大学自学路径相关推荐
- 《嵌入式Linux开发实用教程》
<嵌入式Linux开发实用教程> 基本信息 作者: 朱兆祺 李强 袁晋蓉 出版社:人民邮电出版社 ISBN:9787115334831 上架时间:2014-2-13 出版日期: ...
- 嵌入式 Linux 开发工具篇问题整理//C语言测试(杨辉三角、递归调用实现阶乘、计算器、统计字符串出现次数)//2018.07.12.//
嵌入式 Linux 开发工具篇问题整理 1. 嵌入式开发与传统开发的区别?(同类问题:单片机开发与嵌入式开发的区别) 是否有无操作系统: 2. 移植操作系统的好处有哪些 ...
- linux开发板 pc 通讯_从51单片机到Linux 开发板运行hello world(教程4)
大家好,我是兔子. 是一个嵌入式软硬件工程师. 正在从单片机开发转岗Linux开发. 这次教大家如何在Linux开发板上运行可执行文件. 简单起见,不涉及到硬件.直接和教程2一样,能在PC虚拟机上运行 ...
- 嵌入式linux/鸿蒙开发板(IMX6ULL)开发(一) 嵌入式Linux开发基本概念以及开发流程介绍
文章目录 1.linux开发初了解 1.1 嵌入式Linux开发的基本概念 1.1.1关于Git的背景介绍 1.1.2关于repo的背景介绍 1.1 3 一些关于此背景知识的介绍 1.1.4关于Lin ...
- 嵌入式Linux开发教程:Linux常见命令(上篇)
摘要:这是对周立功编著的<嵌入式Linux开发教程>的第7期连载.本期刊载内容有关LinuxLinux常见命令中的导航命令.目录命令和文件命令.下一期将连载网络操作命令.安装卸载文件系统等 ...
- 我的嵌入式linux开发步骤
我的嵌入式linux开发步骤: 1. 安装虚拟机,见<安装及使用心得>,选择桥接模式 2. 虚拟机串口设置,见<VMare里linux使用MINCOM通信&g ...
- 构建嵌入式系统软件开发环境-VMware的安装及搭建嵌入式Linux开发环境
嵌入式系统操作系统 目前流行的嵌入式操作系统主要有VxWorks.WindowsCE.Linux等,由于Linux的源码开放性.内核可裁剪性.在图像处理.文件管理及多任务支持等诸多方面的特点,使得它成 ...
- ubuntu20.04.1 64位搭建嵌入式linux开发环境
目录 背景 开发环境的搭建 1.交叉编译工具的安装 2.开发工具和依赖库的安装 2.1. 必需部分 2.2.可选部分 ubuntu20.04.1 64位配置和编译Linux3.0内核 背景 市面上的嵌 ...
- 视频教程-嵌入式Linux开发基础-嵌入式
嵌入式Linux开发基础 嵌入式工程师.嵌入式讲师.10多年嵌入式开发实战经验,6年专业嵌入式课程培训经验.主要研究方向是嵌入式Linux系统应用和物联网技术应用.先后参与过武警边防音视频矩阵切换系统 ...
最新文章
- Oracle EBS R12 客户表结构
- c语言平滑raw图像(取平均值法)
- Python爬虫西安七天天气预报
- CRM How to configure text type to allow html editor
- Java字符串简化_关于java查询语句 如何简化的问题
- YbtOJ-选点构形【欧拉函数】
- vins-mono后端优化
- MFC可执行文件问题
- dataframe数组做元素_大数据技术之使用 DataFrame 读取复杂 JSON 中的嵌套数组
- javascript-从toString方法在判断复杂数据类型上的妙用,引申到对原型链的理解...
- 激光SLAM导航系列(一)SLAM与导航基本原理
- .styl格式的CSS样式文件是什么文件
- 猿创征文|Python基础——Visual Studio版本——第五章 文件I/O
- 无法打开计算机开始菜单,开始菜单,教您开始菜单无法打开
- PS制作文字扫描效果(仿旧效果)
- sparql rdf_使用SPARQL查询RDF数据
- 视频监控,多画面播放窗口,布局设计器
- 波浪理论与伦敦金价走势分析
- 电脑重装系统c盘如何备份资料
- 高德地图独家秒级上线多条重点道路 数据优势大幅领先