嵌入式的定义比较广泛,可以分为单片机,linux驱动,DSP等几大方向, 我们分情况进行讲解。
总的来说,学习嵌入式开发,都是需要有C语言编程基础,如果要对编程游刃有余,还得对结构体,指针有比较清晰认识和掌握,现在很多固件,demo都常用结构体和指针。所以这点专业知识非常重要。
除此之外,还多、少都需要掌握一定的硬件的专业知识,对硬件理论有一定的熟悉。因为经常在调试过程中,经常为了调试BUG,需要用万用表,示波器测试相关引脚的输入输出电平。这对调试软件非常有帮助。也是必须要掌握的。
差异点分开说:
单片机,常见STC/AT 51内核单片机,Cotex-M3内核的STM32等单片机,
DSP倾向于电机控制和算法,常见TMS32F2812系列,
linux驱动,会对linux操作系统熟悉,对于shell,makefile,linux文件系统等熟练掌握。
嵌入式发展方向
网上说的嵌入式发展方向其实都大同小异,其实也基本正确,但目的是为了让自己能够在专业技能上独当一面,成为技术专家,和项目高手,再或者希望走管理路线的工程师还可以转研发管理。都亦无不可,不过这里强调的是,在做选择前,请根据自己的真实情况,公司或者部门现状,认真清楚的分析。任何一次选择,都非常重要。
想做好嵌入式软件开发,除了掌握专业知识外,还需要熟悉各类外设接口,uart串口,IIC,SPI,等等,还需要学会总结经验,每次编程画软件流程图,总结编程思路,形成属于自己的编程习惯和方法。
做开发,既有趣又枯燥,要真正热爱和感兴趣,才能长久做下去,否则坚持不了几年,就会转行。所以,兴趣和爱好才是第一要素。