第一阶段:入门阶段
C语言和汇编:随便一本C语言大学教材,快速入门,很多同学学习到C的指针和结构体,就开始迷迷糊糊的了,首先不要着急的去理解他,对着书上的代码,完完整整的敲上一边就可以了,不明白就下一个阶段学明白,如果遇到问题就去百度,去网上搜索解决方法。嵌入式编程大多用C语言、极少量汇编,先学习C语言,汇编完全可以不学习,现在的芯片很资源很丰富,C语言入门完完全全的够了,以前使用汇编是因为芯片的资源紧张,51单片机:看书了解单片机是个什么东西,单片机的基本原理,然后买开发板学习,照着视频学习一遍开发板上的基本模块操作。掌握单片机的内部结构、IO操作、UART、IIC、SPI、ADC、中断、定时器、计数器和学会看原理图。开发板肯定是代码的,和学习C语言一样,把代码啥的完完全全的敲上一边,实现代码里面的所有的功能简单模块:去网上买一些模块,比如数码管、矩阵键盘、温度传感器、继电器等一些简单模块;利用51开发板上面学习的知识,驱动这些模块。记住:学习一些常用的,感兴趣的即可,很多模块操作相似,快速入门。数电模电:掌握基本的电路知识,明白什么是锁存器,什么是触发器什么是三极管,学会这些常用的器件,学会看这些芯片的数据手册。有部分芯片的手册是英文的,没有关系,看懂基本的就可以,比如工作电压,工作环境温度等常用的关键信息。PCB:使用altium designer软件或者其他PCB软件设计一个电路,并购买电子器件焊接电路板。编写程序,实现某一个简单的功能,不要太难,以免自己做不出来打击自己的信心。
如果是大学生,可以积极参加,电子设计竞赛,智能汽车竞赛,等各种电子类比赛。实战中提高速度和效果最快。哪怕是刚学,也积极参加,通常参加了会有培训什么的,有很多人一起学习、交流,也是可以的。哪怕最开始拿不了名次,哪怕是校级比赛,积极参加。
第二阶段:进阶阶段
STM32单片机:掌握STM32的HAL库函数编程,寄存器作为了解就可以了,千万不要去钻牛角尖,学会HAL之后,慢慢学会JTAG的在线调试和断点调式,之后就是一些学会常用的复杂外设和内部资源:GPIO、DMA、ADC、DAC、PWM、IIC、SPI、UART、TIM、NVIC、时钟系统等,还高级一点就是学会高级模块:蓝牙、WiFi、摄像头、键盘鼠标、USB等。教材:《cortex M3/M4权威指南》、《C和指针》。实时操作系统:freertos 或者 RTthread操作系统。下载源码,学会移植,学习操作系统基本结构,深入掌握操作系统调度和内存管理。这一部分,如果时间不够,可以暂时不学,好好的学习Linux操作系统。
如果是大学生,可以积极参加,电子设计竞赛,智能汽车竞赛,等各种电子类比赛。实战中提高速度和效果最快。可以做一点点有挑战的项目,比如:STM32+摄像头+蓝牙+上位机;STM32+LORA+LCD;STM32+OLED+温度传感器+上位机等等,就是将一些传感器加在一起,实现一个强大的功能。
第三阶段:就业阶段
进一步掌握的话,就看求职方向了,学习的目的一方面是兴趣,另一方面也是赚钱。看市场需求,一般嵌入式的大厂大都要求有Linux开发经验。【推荐有条件的学生去大厂,更加有含金量,千万不要去私企和初创公司】按照顺序:先学会使用Linux,再学习Linux内核。Linux是一个庞大的知识点一个人是完全无法学习完整个的,你只需弄懂一个组件或者一部分就能找个不错的工作。其中Linux内核要学会:内存管理,任务调度,文件系统。嵌入式的应用十分广泛,实际工作中用到的知识肯定不止这些,也有些完全用不上,但是这些都是基础的,掌握好基础,掌握学习新知识的方法,工作中,找到数据手册就可以开发了。有做芯片的、手机的、安防、无人机、通信、家电,各行各业都离不开嵌入式。前景还是可以的,但是一定要坚持深入学习,浅层的皮毛都可以做。只要是会了C语言、实时操作系统或者Linux操作系统、ARM芯片架构这三点,换工作中换其他硬件平台都可以较快的上手。
全部0条评论
快来发表一下你的评论吧 !