从事嵌入式开发已经偶几年了,嵌入式主要分为两个领域硬件工程师另外一种是软件开发工程师,现在主要谈软件工程师,嵌入式软件工程师需要掌握基本编程语言C语言,这是编程语言,主要在嵌入式驱动开发以及应用级开发用的比较多,很多初学者都会问到C语言学到什么程度能够做开发,在问这个问题之前首先要明白自己掌握了多少基础知识,C语言从语法细节讲不是很多,但在实际操作过程中经验和套路非常多,组合方式灵活多变。
可能在梳理这门编程语言的时候没有觉得多么的语法,但在实际看代码的时候发现灵活性太强,很多代码如果之前没有接触过基本上抓瞎,特别是指针样式的转变,因为其灵活性和执行效率所以在嵌入式方面一直是首选的编程语言,linux操作系统以及底层驱动一直都是以这种编程语言为底子修改的,用C语言开发应用的嵌入式公司也是大有人在,说了半天C语言需要掌握多少知识,现在根据自己开发经验简单罗列下。
1.基础语法
数据类型,常量,变量,运算符,判断,循环等
2.函数
函数基本用法,函数指针,函数设计模式,递归函数
3.
数组和指针
数组和指针的基本语法,多级指针的使用,指针和数组以及函数组合使用方式
4.结构体
结构体字节对齐,以及数据结构的设计方式,结构体如何进行赋值
还有一些递归等方式应用,这些都是基本语法,关键还在于实际操作。说到最关键点还是指针,很多人觉得数据结构这门课程学起来非常费劲,如果在真正掌握了指针的这个概念学起来就非常省劲了,而数据结构也是嵌入式开发的必备基础之一,毕竟数据结构下一步的延伸就是算法逻辑了,所以讲C语言搞不定就不要考虑进一步嵌入式的学习了。
学习嵌入式需要掌握的基本功1.
基本编程语言C/C++
嵌入式开发需要操作硬件,需要C/C++,这两种编程语言也是必备,如果觉得掌握起来有难度就可以先从C语言切入,在有了基本概念之后,再去学习C++,毕竟要在这个行业内有一个长足的发展需要必须要有一个长期的规划。先从第一种编程语言开始切入学习。
2.数据结构
单独把数据结构拿出来,因为在实际编程过程中免不了要设计基本模块或者框架,如果规划基本的数据结构是平常在编程中需要思考的问题,不仅仅是语法里面的结构体或者类的设计更有一些编程设计模式在里面。
3.linux
操作系统
在这单独列出linux操作系统,并不是嵌入式的操作系统都是使用这种,主要使用的概率太高了,操作系统就会涉及到进程和线程的基本概念,涉及到线程如何设置队列或者优先级等方面的问题,以及临界区等问题。特别是多线程一起操作的时候用的比较多。
C语言只是嵌入式编程一个小的方面,要想在这个行业内有所成就,先把自己的心态调整平稳稳扎稳打,一步一个脚印走下去,至于是不是计算机专业出身,这些都是客观因素,没有必要因为这些给自己戴上枷锁,限制自己的发展。
希望能帮到你。