一、学习路径
万丈高楼平地起,不管多优秀的工程师都是从小白开始的。一条清晰合理的学习路线能帮助小白们高效率的完成基础知识的储备工作,注意这里是知识的储备过程,而经验是从实践中得到的。学习路径是多种多样的,不同能力和不同基础的人有不太相同的路径,这里分享我自己的学习路径,供大家参考。
1了解计算机原理, *** 作系统基础知识。了解硬盘,内存和CPU的关系,程序是如何加载到内存运行的,了解 *** 作系统进程切换和时间片的概念。
2学习C语言,掌握编译器基本知识,能编写简单的程序。学习硬件相关知识。
3购买洞洞板或者面包板,配合stm32等单片机核心板及相应教材,实践IO *** 作,中断,定时器,ADC,UART通信,IIC通信,SPI通信,CAN通信等基本功能。在此过程中不断巩固提升C语言编程水平。
4掌握了某一种单片机的基本编程和控制后,可以进军嵌入式 *** 作系统的学习。在此期间可以继续使用STM32核心板,加购LCD串口液晶显示屏,不需要买带字库的显示屏,简单实用的串口显示屏就可以。然后可以从FreeRTOS开始学习,这个 *** 作系统代码少,概念清晰,易于学习 *** 作系统的原理,也易于移植,基本上可以参考官网以及网络上的资料顺利的将 *** 作系统移植到STM32核心板。通过FreeRTOS,可以学习嵌入式 *** 作系统的基本原理,并可以编写LCD驱动程序来感受硬件驱动程序的概念。
5学习嵌入式Linux *** 作系统,购买ARM9或以上版本的主控的开发板,要求开发板上至少有串口和网口。学习板级支持包的开发,交叉编译,GDB调试,UBOOT移植,内核移植,根文件系统制作,设备树,驱动程序编写,网络编程相关知识。
6学习物联网相关模块的使用,可以购买ESP32核心板进行wifi,蓝牙的模块控制学习,购买其他模块实现其他小项目的练习。
通过上面的一番闭关修炼,你已经学习了嵌入式开发的主要知识架构,接下来就要多做小项目,多练习排错,才能不断积累经验。
二、学习方法
1先整再零:
对于一个实例项目,先从整体出发,保证调通,能正常运行,出现预期结果。遇到模糊的问题先跳过,整体有了一定认识后再对个别细节进行深入了解,但不能跳过深入了解细节的环节。
2边学边练:
开发是一类实践性很强的技能,嵌入式开发要与硬件打交道,就需要更多的动手 *** 作和观察。
学习某一方向的嵌入式开发知识时,需要给自己的学习进行必要的“投资”,购买面包板、洞洞板、万用表、调温烙铁套装、各种器件、芯片,以至开发板。以上材料不需要一次性都买齐,可以按照当前学习的内容分阶段购买,经济条件有限的同学也不用担心,以上材料的开销除开发板之外都不贵,可网络购买。对于开发板,可以买学长学姐的二手板卡,能过测试就证明板卡是OK的。
有了学习材料,就要学以致用,例如今天学习了三极管做开关,就可以自己动手画画电路图,然后在洞洞板上实践一下,通过实际 *** 作,加深印象的同时,也能验证自己的设计方案。
3勤于思考和提问,网络如此发达,提问的能力和技巧我就不再赘述了。
三、技能提升建议
如果你进入的是一家规模较小的公司,那么你可能有机会接触各类技术。这是绝佳的锻炼机会,要注意不要特别深入某一方向而不关注其他技术,要知道大牛需要的是多方位的技能。
大公司的话,往往分工比较细致而明确,那就需要在完成自己工作的同时多关注项目组中其他同事遇到的问题,能协助解决最好,不能解决的要关注解决的情况和方法,多蹭经验。帮助别人的同时就是在帮助自己提高,多花时间处理实际问题是难得的经验。
不管在哪种场合工作,一定注意经验的积累,好记不如带墨,要用文字将经验记录下来,将遇到的问题详细描述清楚,没事的时候翻看一下,工作时间长了,你会发现这是一笔难得的财富。
限于篇幅,这里就不再多讲技术的细节了,希望各位读者在技术成长的过程当中都能有自己清晰的学习路径,安排好自己的学习计划,稳扎稳打!
嵌入式开发就是指在嵌入式 *** 作系统下进行开发,常用的系统有WinCE,ucos,vxworks,linux,android等。另外,用c,c++或汇编开发;用高级处理器,arm7,arm9,arm11,powerpc,mips,mipsel等,或加上 *** 作系统也属于嵌入式的开发。
嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一。嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器、存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很高等。
特别是随着消费家电的智能化,嵌入式更显重要。像我们平常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3 Player、数字相机(DC)、数字摄像机(DV)、U-Disk、机顶盒(Set Top Box)、高清电视(HDTV)、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等都是典型的嵌入式系统。
扩展资料:
嵌入式开发的要求:
功能、可靠性、功耗这三点对于软件开发人员来说是最值得关注的地方。以手机为例,当选定硬件平台之后,处理器的性能已经被限定了,要使得手机的 *** 作更人性化、菜单响应更快捷、具备更多更好的功能,这完全取决于软件了。
需要驱动程序和应用程序配合,最大程序地发挥硬件的性能。比如一类手机,它的屏幕总是经过很长时间才熄灭,这使得它的电池很快耗光,只要在编写软件时进行改进,就可能成倍地延长电池的使用时间。
一个优秀的嵌入式系统,对硬件性能的“压榨”、对软件的细致调节,已经到了精益求益的地步。有时候甚至为了节省几秒的启时间而大动脑筋:调整程序的启动顺序让耗时的程序稍后运行、改变程序的存储方式以便更快地加载等等,甚至通过显示一个进度条让用户觉得时间没那么长。
参考资料来源:百度百科-嵌入式开发
它的就业前景很不错。
首先,在物联网和人工智能的促进下,嵌入式未来会迎来更多的发展机会,一方面嵌入式开发会迎来更多的应用场景,另一方面嵌入式开发的技术体系也会逐渐丰富,从而拓展物联网开发的技术边界。
应用场景对于嵌入式开发领域的发展有非常直接的影响,嵌入式开发要想获得更多的发展机会,首先就要从拓展其自己的应用场景入手,而物联网和人工智能的发展将会为嵌入式开发打开一个更大的空间。在当前产业结构升级的大背景下,物联网会与诸多的行业领域产生更加紧密的联系,而这个过程必然离不开嵌入式开发的参与。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)