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

嵌入式开发是如今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或者硬件电路,后续往深度发展。如果不适合技术路线,有点基础再从事市场营销也大有裨益。

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值