有没有嵌入式开发的学习路线,越详细越好

如题所述

一、学习路径
万丈高楼平地起,不管多优秀的工程师都是从小白开始的。一条清晰合理的学习路线能帮助小白们高效率的完成基础知识的储备工作,注意这里是知识的储备过程,而经验是从实践中得到的。学习路径是多种多样的,不同能力和不同基础的人有不太相同的路径,这里分享我自己的学习路径,供大家参考。
1.了解计算机原理,操作系统基础知识。了解硬盘,内存和CPU的关系,程序是如何加载到内存运行的,了解操作系统进程切换和时间片的概念。
2.学习C语言,掌握编译器基本知识,能编写简单的程序。学习硬件相关知识。
3.购买洞洞板或者面包板,配合stm32等单片机核心板及相应教材,实践IO操作,中断,定时器,ADC,UART通信,IIC通信,SPI通信,CAN通信等基本功能。在此过程中不断巩固提升C语言编程水平。
4.掌握了某一种单片机的基本编程和控制后,可以进军嵌入式操作系统的学习。在此期间可以继续使用STM32核心板,加购LCD串口液晶显示屏,不需要买带字库的显示屏,简单实用的串口显示屏就可以。然后可以从Free RTOS开始学习,这个操作系统代码少,概念清晰,易于学习操作系统的原理,也易于移植,基本上可以参考官网以及网络上的资料顺利的将操作系统移植到STM32核心板。通过FreeRTOS,可以学习嵌入式操作系统的基本原理,并可以编写LCD驱动程序来感受硬件驱动程序的概念。
5.学习嵌入式Linux操作系统,购买ARM9或以上版本的主控的开发板,要求开发板上至少有串口和网口。学习板级支持包的开发,交叉编译,GDB调试,UBOOT移植,内核移植,根文件系统制作,设备树,驱动程序编写,网络编程相关知识。
6.学习物联网相关模块的使用,可以购买ESP32核心板进行wifi,蓝牙的模块控制学习,购买其他模块实现其他小项目的练习。
通过上面的一番闭关修炼,你已经学习了嵌入式开发的主要知识架构,接下来就要多做小项目,多练习排错,才能不断积累经验。

二、学习方法
1.先整再零:
对于一个实例项目,先从整体出发,保证调通,能正常运行,出现预期结果。遇到模糊的问题先跳过,整体有了一定认识后再对个别细节进行深入了解,但不能跳过深入了解细节的环节。
2.边学边练:
开发是一类实践性很强的技能,嵌入式开发要与硬件打交道,就需要更多的动手操作和观察。
学习某一方向的嵌入式开发知识时,需要给自己的学习进行必要的“投资”,购买面包板、洞洞板、万用表、调温烙铁套装、各种器件、芯片,以至开发板。以上材料不需要一次性都买齐,可以按照当前学习的内容分阶段购买,经济条件有限的同学也不用担心,以上材料的开销除开发板之外都不贵,可网络购买。对于开发板,可以买学长学姐的二手板卡,能过测试就证明板卡是OK的。
有了学习材料,就要学以致用,例如今天学习了三极管做开关,就可以自己动手画画电路图,然后在洞洞板上实践一下,通过实际操作,加深印象的同时,也能验证自己的设计方案。
3.勤于思考和提问,网络如此发达,提问的能力和技巧我就不再赘述了。

三、技能提升建议
如果你进入的是一家规模较小的公司,那么你可能有机会接触各类技术。这是绝佳的锻炼机会,要注意不要特别深入某一方向而不关注其他技术,要知道大牛需要的是多方位的技能。
大公司的话,往往分工比较细致而明确,那就需要在完成自己工作的同时多关注项目组中其他同事遇到的问题,能协助解决最好,不能解决的要关注解决的情况和方法,多蹭经验。帮助别人的同时就是在帮助自己提高,多花时间处理实际问题是难得的经验。
不管在哪种场合工作,一定注意经验的积累,好记不如带墨,要用文字将经验记录下来,将遇到的问题详细描述清楚,没事的时候翻看一下,工作时间长了,你会发现这是一笔难得的财富。
限于篇幅,这里就不再多讲技术的细节了,希望各位读者在技术成长的过程当中都能有自己清晰的学习路径,安排好自己的学习计划,稳扎稳打!
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-01-15
近年来,随着嵌入式系统产业规模的持续增长,作为IT业的重要新兴产业元宝说得好~说现在对嵌入式开发人才的需求是非常大的,因此很多人通过参加嵌入式学习来加入这个行业。学习嵌入式的同学越来越多都是零基础来开始学习的,那么没有基础想要学习嵌入式该如何去学呢?嵌入式学习路线分享给大家。

1、入式高级C语言
2、嵌入式设备及GUI开发
3、嵌入式Linux高级程序设计
4、Linux高级网络程序设计
5、数据库开发
6、C++面向对象高级语言程序设计
7、物联网
8、CotexA53 Linux平台驱动开发
学习嵌入式要学的内容不少,从C语言开始到linux,新手学员来学习嵌入式会有一定的困难,但是不用担心,跟着这份课程大纲可以让你更了解嵌入式的学习内容。
学习嵌入式,不能急于一时,而是一个慢慢进步的过程,现在嵌入式常见的就是嵌入式linux的方向,当然也有别的方向,但是不管我们学完之后众多从事什么技术。,主要该学习的内容还是要扎实的掌握的。那么嵌入式学习课程学习哪家更好呢?学习嵌入式该怎么样规划自己的学习路线呢?,
一、基础学习
1.linux系统是我们学嵌入式的操作平台,所以你需要好好的熟悉这个系统,熟悉好了你才可以进行下一步。
2.学习嵌入式,编程是基础的,所以C语言是需要必须精通的,推荐视频嵌入式linuxC语言学习视频。
3.数据结构和一些算法的掌握,这些知识掌握的较精,才能为将来做项目打下基础。
以上是基础部分,这部分内容主要是一些理论知识,先了解嵌入式这个行业,了解嵌入式产品的一个基本的开发流程,这对后续的开发有很大的帮助。
二、 嵌入式系统核心开发
1.嵌入式应用编程
2.嵌入式Linux并发程序设计
3.嵌入式网络编程
4.嵌入式数据库开发
5.嵌入式Linux应用综合项目
6.C++,QT开发
三、嵌入式底层
嵌入式的底层的学习是在学习嵌入式必须涉及到的,如何把你的程序在开发板上进行,就会接触系统移植,内核开发等,这也算是嵌入式顶层的东西了,所以你需要从嵌入式Linux系统开发,以及驱动开发基础,你都要了解一下。
四、就是嵌入式的实践问题了
我们要多锻炼,多接触项目,要理论和实践相结合这样才好,对于很多真实的实践项目。
第2个回答  2017-01-16
基础学习期 I:·Linux基础操作、基本服务配置及使用。Shell编程
基础学习期II:·C语言 ,数据结构、(选修)C++、QT
基础进阶:·Linux高级编程、Socket网络编程,TCP/IP
嵌入式:·嵌入式汇编,嵌入式体系结构
嵌入式晋级提升:·Linux内核,Linux驱动开发
经典学习案例:
GPIO驱动
RTC时钟驱动
WatchDog驱动
Udev移植
触摸屏输入设备驱动
LCD显示设备驱动
DMA驱动
音频设备驱动
Nand Flasha块设备驱动
网络设备驱动本回答被提问者采纳
第3个回答  2020-06-05
4412开发板
第4个回答  2020-11-27

嵌入式系统是计算机软件和硬件的综合体,岗位包括:ESE(嵌入式软件工程师);ADE(嵌入式应用开发工程师);FWE(嵌入式底层开发工程师);FEC(嵌入式固件开发工程师),我有全套嵌入式视频课可以发给你自学。

课程内容主要包括:

①C,Java核心编程:c语言核心编程,Java核心编程;

②Linux核心操作与算法:Linux系统使用,Linux-c编程核心技术,精品数据结构,Linux-c编程精髓;

③核心操作与算法:Linux系统编程,Linux网络编程核心技术,UI编程,Java核心编程,安卓核心技术;

④ARM+Linux底层开发:数字电路,ARM编程核心,Linux系统开发,嵌入式Linux驱动开发;

⑤大型项目实践:每期安排各类型真实的项目,详细可以找我要资料。

北大青鸟中博软件学院嵌入式课堂实拍

你可以考察对比一下南京课工场、北大青鸟、中博软件学院等开设有嵌入式开发专业的学校。记得找我要全套嵌入式开发视频课,祝学有所成!望采纳!