你好,我是软件工程的学生。现在在读软件工程硕士,有一个方向是linux嵌入式方向。我对linux比较感兴趣,想请教对于软件专业出身(没有硬件基础)的学生想要往这方面发展,需要哪些知识储备?读哪些书?了解哪些相关技术?
我们老师的课题是基于linux嵌入式及QT的可视化车载仪表盘研究。貌似我问他说这是比较偏向软件的嵌入式开发。但是我觉得嵌入式开发还是需要一些硬件基础的,所以想请教一下,谢谢
------解决方案--------------------
电子电路基础是必须的。从软件直接进入ARM的话,估计有点难度,可以先熟悉一下单片机,然后再开始学ARM。
基于linux嵌入式及QT的可视化车载仪表盘研究,这个可以说是嵌入式软件开发了。涉及到部分的底层、硬件。
------解决方案--------------------
主要会看时序电路,知道用寄存器……其实做嵌入式上层应用开发,不需要太多硬件基础,只要C语言扎实,但如果是往内核、底层驱动的话,估计要花点时间去学习模拟电路和数字电路,了解芯片是怎么通过寄存器来控制引脚输出,从何控制外围电路的。我也正在学习中……
------解决方案--------------------
如果你不做驱动的话,其实没必要看底层的东西,做驱动的工程师把驱动做好,文档写好,会告诉你怎么在应用层中调用驱动的。
如果不想做驱动开发,那就一定得能看懂原理图,芯片手册,一般的协议必须懂,串口的,I2C的,SPI的,USB的,硬盘的。。。。