《关于嵌入式学习的一些感悟》
看了很多评论,再结合自己的情况,突然有很多的感触,所以把自己的想法写出来,希望能对一些人有帮助。之前学编程快到应用层了,然后回头来学嵌入式方面,虽然现在进度不快,但是也有一些不同的收获。因为我自己比较喜欢写东西,所以写这个内容一方面是想规划自己未来的学习路线,一方面是想给别人一些参考。
关于嵌入式该怎么去学,我觉得首先得有兴趣和自学能力,首先自己要有一个学习计划和知识路线,我在网上搜了一些资料和加上自己专业(自动化)情况总结,写了关于我的学习规划与知识路线,可以参考下,学习顺序无先后。
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通信、中断的原理、定时器、计数器等,要学会看数据手册。在学习模块时,可以先学习简单模块,比如数码管、蜂鸣器、电机、按键、流水灯等。
我觉得知识点并不难,难的是学习态度。不管是学什么,还是做什么,都应该有一个好的态度,认真去对待。
关于嵌入式学习就瞎扯这么多,以后有时间多写一些体系知识的文章,希望让更多人喜欢编程,学会编程。