1、C语言
C语言是嵌入式软件开发的基础,c佳佳在嵌入式领域也有一定的份额,并且极少,所以我们假如要做嵌入式软件开发,就得熟练把握c语言句型,一维和二维表针要熟练把握,三维以上的表针我从来没用过构建嵌入式linux系统构建嵌入式linux系统,这些表针应当只会出现在考试题中了,假如真的出现了,那就得更改我们数据结构了,不要用它。
2、数据结构
最常用的就是链表了,其次是双向数组,队列用的机率也会有,栈是没有用过,在公司的话,好多数据结构都是有自己的库,即使我们可以引用她们的库中国linux操作系统,并且我们必须了解她们的实现原理,还有个不常用数据结构并且也得会的哈希,在搜索时会用到,哪些图啊,树啊,从来没有用过。
3、Shell/Makefile
这两个脚本会读懂就行,Shell主要是配合其他的工具使用,比较简单,有时也须要用Shell来做一些系统环境的手动配置,Makefile最要用于工程建立,我通常都是找个现有文件来更改。
4、Linux系统
多线程,多进程,网路编程,IO编程,这几种编程是工作中用到的最多的,基本没有项目会只运行单线程程序,除非一次性执行完就退出的一些功能性工具,其中IO编程至关重要,这也是嵌入式开发和其他软件开发的区别,通过IO编程,我们可以控制各类硬件,IIC和SPI总线的芯片特别多,这两种总线我们必须把握。
5、UI
好多设备都须要用户交互控制,我们就得有一个UI,UI有用LCD的,有用WEB的,这两块我们都须要能搞定,作出各类插口供后端图形显示。
6、业务
技术是为业务服务费的,所以不管我们在那个行业linux系统命令,我们都得学习行业知识,只有了解了更多的行业规则,我们才才能设计出更有价值的软件。