学习嵌入式开发未来有前途吗?
目前来说嵌入式软件的就业前景很好,像STM32、飞思卡尔等系列单片机属于无操作系统的,直接对寄存器或者利用库函数操作的,这种学习来难度相对小一些,就业前景也不错。还有一些像ARM9,或者CortexA8、A9系列的可以Linux或者安卓操作系统的嵌入式软件系统开发,由于需要学习的内容较多,学习时间较长,那么学习起来就有一定的难度,工资也相对高一些。不管学习哪一类都要持之以恒,坚持下来就会学会的。当然,学习过程中,多做练习是必不可少的。
学习嵌入式开发的过程难吗?
如果你从来没接触过,学习的过程还是挺难的,但是如果你有软件和硬件基础,再加上毅力和恒心,也能够由入门到精通的。下面根据我自己的一些经验给你一个学习的路线和方法:
首先拿出大学里的C语言、数据结构、计算机基础、高等数学、数字模拟技术和数字电子技术 这些书来学习软件基础和硬件基础。
看到这些书有没似曾相识的感觉,仿佛回到大学时代!
C语言:
这个不用说了,软件入门的开始,把每课代码例子手动敲一遍,不是为了敲代码而敲代码,而是熟悉编程方法和编程思想。
数据结构:
数据结构一定要学好,这个关系以后你的代码 是“土鳖”编写的还是"土豪"编写的;
这个关系到以后你的代码 大小是10k还是100k,还关系到你能否往更高领域公司百度阿里物联网云计算、自动驾驶、智能机器人方向发展。
高等代数:
刚开始是比较难的,但是一旦摸到门路后,就会学得很开心、进步很快。一般来说,学习嵌入式一般是以下过程:数模电-->51单片机-->STM32单片机-->QT/RTOS-->Linux。每一个阶段都有难的,但都是前一个阶段积累来的,慢慢来的话,也不会太难,坚持并相信自己就好,有需要就学,热爱就学!加油吧!
从我自身的经历来看,学习嵌入式入门容易,但是精通比较难,主要的难点在如下几点:
1)芯片层面。芯片的硬件***,gpio、时钟、复位等,搞清楚还是挺容易的,但是芯片内部的架构、各ip的选择、性能指标的确定,这些不是短时间内能掌握的,需要长时间的打磨才有可能。成本、功耗、性能如何做到均衡,对于一个好的嵌入式芯片来说至关重要,而这需要对芯片设计和产品应用均有长时间的理解才行。总的来说,嵌入式芯片的使用入门容易,但是好的芯片设计较难。
2)硬件层面。嵌入式系统的硬件设计一般都易入门,它的难点在于如何设计一个可靠的电路,如何控制成本功耗。不同水平的硬件工程师设计出来的电路差别很大的。
3)软件层面。编写一段嵌入式代码容易,但是如何用有限的***完成高性能的任务,这个是难点。毕竟嵌入式系统可用的***都是有限的,flash、RAM的大小受限,主频受限,等等。习惯了PC编程的,肯定无法理解嵌入式软件设计中的斤斤计较。