关于嵌入式学习的一些感悟

     看了很多关于嵌入式学习的问题,很多都是关于嵌入式该怎么学。
     看了很多评论,再结合自己的情况,突然有很大的感触,所以把自己的想法写出来,之前快学到应用层了,然后再回来学希望能对一些人有一些帮助,自己知识水平有限,很多知识也没学,内容仅供参考。
     关于嵌入式该怎么去学,我觉得首先得有兴趣和自学能力,没有兴趣,真的很难坚持下去。关于自学,不是单纯学习课程知识,而是在学习课程的同时,再花时间去学习更多知识。所以我觉得要有一个学习计划和知识路线,因为我发现很多人很迷茫,除了课程自己都不知道需要学习什么。我在在网上搜了一些资料和加上自己专业(自动化)的情况总结,写了关于我的学习规划与知识路线,可以参考下,学习顺序无先后。

C语言、C++、汇编、51单片、STM32单片机、cortex M3内部结构、C进阶(C指针、数据结构与算法)、实时操作系统(freertos或ucos)、Linux基础、Linux内核、linux应用层编程、linux系统编程、ARM体系结构、linux驱动、linux内核基本模块
这个只是体系,不是知识内容,在学习的过程中,你会发现知识是联系的,知识点融合在一起才能做出比较好的成果。比如你学习单片机,你要有C语言基础,因为单片机的程序大多数是用C语言写的,有些也会运用到一些汇编知识;还要有数模电基础,因为要掌握基本的电路知识,能够看懂开发板的电路原理图。
知识没有什么重不重要,问就是都重要,只是可以有偏重,看自己抉择。课程方面也比较重要,比如高数、线性代数、模拟电路、数字电路、信号与系统等等,在你深入学习的时候就会发现,都能涉及到,而且都是有联系的。
对于编程语言,我建议学通 C + 一门面向对象语言,我是学习C和C++。学通C语言不是学会C语法那么简单,而是要掌握指针、变量类型、逻辑结构、函数栈、内存模型、程序编译原理、汇编级别优化等更深层的知识内涵。学习C++主要是掌握面向对象的三大特性(继承、封装、多态)、抽象设计模式等。
入门学习的时候不需要深究一些底层原理,比如入门学习单片机,首先先了解基础知识点,比如IO操作,UART通信、模拟IIC和SPI通信、中断的原理、定时器、计数器等,要学会看数据手册。在学习模块时,可以先学习简单模块,比如数码管、蜂鸣器、电机、按键、流水灯等。
在大学期间,建议多参加一些电子类比赛,比如电赛设计大赛啥的,能够很好的锻炼自己,实战中进步最大。在其他时间也可以自己做些东西,学习单片机过后,可以用模块弄很多有意思的东西,没事多整整。 看了很多评论,再结合自己的情况,突然有很多的感触,所以把自己的想法写出来,希望能对一些人有帮助。之前学编程快到应用层了,然后回头来学嵌入式方面,虽然现在进度不快,但是也有一些不同的收获。自己很多内容还没开始学,知识水平有限,内容可能不够完善,仅供参考。因为我自己比较喜欢写东西,所以写这个内容一方面是想规划自己未来的学习路线,一方面是想给别人一些参考。
关于嵌入式该怎么去学,我觉得首先得有兴趣和自学能力,没有兴趣,学起来会很枯燥,很难坚持下去。关于自学,是在学习课程的同时,再花时间去学习更多知识,不单单是学习课程知识就够了。所以我觉得自己要有一个学习计划和知识路线,因为我发现很多人很迷茫,除了课程知识自己就不知道需要学习什么了,以至于乱学,导致啥也学不好。我在网上搜了一些资料和加上自己专业(自动化)情况总结,写了关于我的学习规划与知识路线,可以参考下,学习顺序无先后。
C语言、C++、汇编、51单片、STM32单片机、cortex M3内部结构、C进阶(C指针、数据结构与算法)、实时操作系统(freertos或ucos)、Linux基础、Linux内核、linux应用层编程、linux系统编程、ARM体系结构、linux驱动、linux内核基本模块
这个只是体系,不是知识内容,在学习的过程中,你会发现各个方面的知识是有联系的,知识点融合在一起才能做出比较好的成果。比如你学习单片机,你要有C语言基础,因为单片机的程序大多数是用C语言写的,有些也会运用到一些汇编知识;还要有数模电基础,因为要掌握基本的电路知识,能够看懂开发板的电路原理图。
知识没有什么重不重要,问就是都重要,只是可以有偏重,看自己抉择。课程方面也比较重要,比如高数、线性代数、模拟电路、数字电路、信号与系统等等,在你深入学习的时候就会发现,都能涉及到,而且都是有联系的。
对于编程语言,我建议学通 C + 一门面向对象语言,我是学习C和C++。学通C语言不是学会C语法那么简单,而是要掌握指针、变量类型、逻辑结构、函数栈、内存模型、程序编译原理、汇编级别优化等更深层的知识内涵。学习C++主要是掌握面向对象的三大特性(继承、封装、多态)、抽象设计模式等。
入门学习的时候不需要深究一些底层原理,比如入门学习单片机,首先先了解基础知识点,比如IO操作,UART通信、模拟IIC和SPI通信、中断的原理、定时器、计数器等,要学会看数据手册。在学习模块时,可以先学习简单模块,比如数码管、蜂鸣器、电机、按键、流水灯等。
在大学期间,建议多参加一些电子类比赛,比如电赛设计大赛啥的,能够很好的锻炼自己,因为实战中进步最大。在其他时间也可以自己做些东西,学习单片机过后,可以用模块做出很多有意思的东西。
我觉得知识点并不难,难的是学习态度。不管是学什么,还是做什么,都应该有一个好的态度,认真去对待。
关于嵌入式学习就瞎扯这么多,以后有时间多写一些体系知识的文章,希望让更多人喜欢编程,学会编程。

你可能感兴趣的:(大学之道,程序人生)