嵌入式开发怎么安排学习不迷路?

嵌入式开发是如今IT应用领域最热门的技术之一,企业对于嵌入式开发人才的需求随着科技发展越来越大,大到汽车电子、航天航空设备工厂流水线,小到仪器、路由器、手机,甚至组成普通PC终端设备的键盘、鼠标、硬盘、Modem等均是由嵌入式处理器控制的。


那我们该如何去学习呢?



01.入门


51+STM32:中断、定时器、串口、NAND FLASH、网络控制器、LCD屏、触摸屏等的工作原理。

C语言:嵌入式编程大多用C语言,少量汇编,C语言必须熟练掌握。

电路:基本的模拟电路、数字电路知识,能大概明白电路原理图;掌握从原理图到PCB板的技能或常识;会焊接、调试,使用常用仪表。


学习建议

如果你以后的方向是驱动开发,这部分学习的话重点放在硬件知识的理解。买个开发板,学习下他们的例程是如何写的,常用嵌入式外围设备的硬件工作原理,以及如何使用C语言来编程、控制这些硬件。把基本的外设都学习一遍,不求都会写,但是硬件原理一定要搞清楚。


02.进阶


ARM-A+Linux

这部分主要分为两个方向:Linux应用开发,Linux驱动开发。


Linux应用开发:Linux系统调用概念,多进程,多线程实现多任务开发,多任务的同步互斥开发:互斥锁、信号量,网络数据通信过程,TCP/IP协议,Socket编程、TCP网络编程、UDP网络编程,QT编程。


驱动开发:Bootloader的工作流程、UBOOT的编译、裁剪与移植、Linux内核的编译、裁剪与移植,根文件系统的构建、BootLoader、内核和根文件系统的烧写。


学习建议

作为初学者,学习驱动开发主要学习驱动的框架(比如,输入子系统模型常用的一个函数input_attach_handler()这个函数,刚开始我们只需要知道他是用来匹配dev设备和驱动软件就可以,暂时可以不用知道这个函数内部是如何实现的)。有一定基础之后,可以再去深究其中的某个点,思考他们为什么这么写。


03.未来规划


具备一定基础了,后续发展看个人爱好或市场需求,软件或硬件或全栈,相比来说嵌入式软件需求大。其下细分单片机开发支持RTOS实时系统或者Linux,前者容易,后者需求大,但入门难,即使精通一个组件或方向也能发展不错。Linux路线,先学会应用开发,再驱动,最后深入内核。


基本上规划大概率决定了职业方向,尽早规划,提前准备,有针对性的学习RTOS或者Linux或者硬件电路,后续往深度发展。如果不适合技术路线,有点基础再从事市场营销也大有裨益。


除技术之外,嵌入式开发对行业经验也有一定要求,不同行业应用的技术侧重点不同,可以参考相关公司的招聘要求,有针对性的去了解。


选择比努力重要,同样是软件开发,不同行业也存在较大区别。第一份工作尽量选个好方向、挑大公司,有这些起点背景,后续发展会更好;最开始的方向和平台没选对,后面再折腾会走很多弯路,也许一生的职业发展就在错误的路上,再努力也很难达到一定高度。

#嵌入式#
全部评论
我大学的专业就是物联网,搞嵌入式的
点赞 回复 分享
发布于 2022-08-08 15:07

相关推荐

15 102 评论
分享
牛客网
牛客企业服务