嵌入式C语言入门

作者: 从梦流风 | 来源:发表于2018-05-16 10:04 被阅读22次

        嵌入式C语言和C语言在语法上没有任何区别,只是编译环境不同。

        具体的区别大概在于嵌入式的C语言是在嵌入式开发板上运行,编译器不一样,最直观的就是编译软件不同,在电脑上你可以用VS2017的环境,嵌入式用的最多的就是各种各样自家的编译软件,但最常用的还是基于Cortex-M、Cortex-R4、ARM7、ARM9处理器的Keil Mdk(相信想要入门嵌入式的小伙伴肯定对STM32开发板都耳熟能详了)。

        学习嵌入式,该学习什么基本的知识呢?

        首先C语言,这个是毋庸置疑的,不管是做嵌入式软件还是硬件开发的人员,对C语言的掌握这个是必需的,特别是对于以后致力于嵌入式软件开发的人,现在绝大部分都是用C语言,你说不掌握它可以吗?至于如何学习C语言,我想这些基础的知识每个人都有自己的方法,关键要去学习,看书也好,网上找些视频看也好。很多人会问,C语言要学到怎么样,我觉得这没有标准的答案。我想至少你在明白了一些基础的概念后,就该写代码了,动手才是最重要的,当你动手了,遇到问题了,再反过来学习,反过来查查课本,那时的收获就不是你死看书能得到的。

        其次,应该对操作系统有所了解,这对你对硬件和软件的理解,绝对有很大的帮助。应该把系统的管理理解一下,比如进程、线程,系统如何来分配资源的,系统如何来管理硬件的,当然,不是看书就能把这些理解透,如果不是一时能理解,没关系,多看看,结合以后的项目经验,会有更好的理解的。

        还有应该学习嵌入式系统,如linux或者wince下的编程,这些对以后做应用的编程很有帮助,当然,如果做手机的话,那可以学习MTK、塞班、Android等操作系统,Android是以后发展的趋势,现在很热门,Android也是基于linux系统封装的,所以建议先学习下linux。

        还有,应该学习下单片机或者ARM或者MIPS,很多人说我没有单片机的经验,直接学ARM可以吗?我觉得那完全没有问题的,当然如果你学习过单片机,那最好不过了,以后学习ARM就更简单了。

        最后如果你把以上的知识都有所了解后,就该去阅读阅读一些优秀的代码,比如结合ARM开发手册学习去学习下UBOOT的源代码,了解下最小的系统开发,那对你整个嵌入式开发的非常有帮助的,可以的话,还可以学习下linux的源代码,当然如果你直接阅读2.6的代码,我想你会很痛苦的,可以先看看linux 代码早期的版本,比如0.12 的代码等等,麻雀虽小,五脏俱全,如果你全看完了,那我想你就是一名很成功的嵌入式工程师。

        至于上面说的知识如何学习呢?每个人都应该去找自己最好的方法,所谓的最好的方法就是最适合自己的方法。很多人看不进书,那就去看看视频吧。视频也应该要选择,不是随便看看,应该要有所选择,有所挑选。我也是这样一路走过来的,不过我这人比较懒,我看不进书,一看书我就想睡觉,所以这几年我都是看视频过来的,现在也算学有所成,但也不敢说是高手吧。

        我在网上看到,有人把自己学习嵌入式的视频总结出来,嵌入式系列实践和视频教程,大家可以看看网址 我仔细看了觉得很不错,我本来也想整理下,给大家推荐一个群七一零,五二零,三八一,填柳猫,审核秒过。虽然一些资源要花钱,但还有很多免费的课程,我觉得算不错,至少自己不用去整理和花大量的时间去找资源。

        最后,希望这篇文章对热爱嵌入式,想致力于嵌入式开发的朋友有所帮助。送给大家一句简单而又朴素的话,坚持就是胜利,贵在坚持。

大概就是我了。。

相关文章

网友评论

    本文标题:嵌入式C语言入门

    本文链接:https://www.haomeiwen.com/subject/mxoudftx.html