当前位置: 技术问答>linux和unix
关于要怎样的水平才能找到嵌入式linux方面的疑惑
来源: 互联网 发布时间:2016-07-29
本文导语: 我是今年大四的学生,对嵌入式linux很感兴趣。我主要是学关于arm-linux 底层方面的内容。包括BOOTLOADER,LINUX内核的移植,文件系统的搭建。还有关于各种驱动(键盘、LCD、触摸屏、I2C、网卡等)的编写、修改和移植我...
我是今年大四的学生,对嵌入式linux很感兴趣。我主要是学关于arm-linux 底层方面的内容。包括BOOTLOADER,LINUX内核的移植,文件系统的搭建。还有关于各种驱动(键盘、LCD、触摸屏、I2C、网卡等)的编写、修改和移植我都比较熟悉。
而我现在帮我的一位老师做着一个关于嵌入式linux的项目,还是做底层方面的内容(系统和驱动方面主要是我完成的)
但是我对应用程序方面不太了解(学过而已)还有感觉自己做的好像不是很难——因为用的都是S3C2440的板子,能参考的驱动实在太多,感觉最难的是关于ARM和FPGA通讯方面的驱动(现在还在做,没有完成)
请问各位:我这种水平能不能找到相关的工作呢?我应该是继续深入学习关于内核和驱动方面呢还是去学学应用程序方面呢?
PS:我是广州的
而我现在帮我的一位老师做着一个关于嵌入式linux的项目,还是做底层方面的内容(系统和驱动方面主要是我完成的)
但是我对应用程序方面不太了解(学过而已)还有感觉自己做的好像不是很难——因为用的都是S3C2440的板子,能参考的驱动实在太多,感觉最难的是关于ARM和FPGA通讯方面的驱动(现在还在做,没有完成)
请问各位:我这种水平能不能找到相关的工作呢?我应该是继续深入学习关于内核和驱动方面呢还是去学学应用程序方面呢?
PS:我是广州的
|
还有关于各种驱动(键盘、LCD、触摸屏、I2C、网卡等)的编写、修改和移植我都比较熟悉。
=====================================================================
你若是确实有这么多驱动开发的经验, 那你已经相当牛 X 了。
说明你对 Linux 设备驱动模型, Input 子系统, Framebuffer , DMA。
字符设备,网络设备模型都十分了解了。
I2C 总线很简单, 但内核中 I2C的框架却不简单,你真的都了解了吗?
还是象大部分应届生的简历一样,精通 C/C++, 结果,其实1000行代码都没写过,怎么debug 都不会。
另外, 如果能做大量的驱动开发和移植工作,说明楼主 C 语言功力相当了得, 硬件知识也不错。
只是怎么会说出 是否要学习 应用程序开发的话来?
=====================================================================
你若是确实有这么多驱动开发的经验, 那你已经相当牛 X 了。
说明你对 Linux 设备驱动模型, Input 子系统, Framebuffer , DMA。
字符设备,网络设备模型都十分了解了。
I2C 总线很简单, 但内核中 I2C的框架却不简单,你真的都了解了吗?
还是象大部分应届生的简历一样,精通 C/C++, 结果,其实1000行代码都没写过,怎么debug 都不会。
另外, 如果能做大量的驱动开发和移植工作,说明楼主 C 语言功力相当了得, 硬件知识也不错。
只是怎么会说出 是否要学习 应用程序开发的话来?
|
个人的几点建议:
1)做好定位,我认为如果将来以此为职业并且想做到精通的层次,内核/驱动程序、应用程序一个都不能拉。
它们是相辅相成的。对于新手来说,很多人都建议从应用程序入手,我也表示赞同。对你的情况,我想现在从哪个切入都可以。
需要提醒的一点是,终端厂商要做到产品差异化,更多的是在应用程序上下功夫。
2)跳出一个误区:嵌入式开发就是移植。很多人其实只是在通过移植让硬件能够工作。其实这个是个基本功,其他的还有很多工作。我觉得做完一个模块,就应该彻底搞懂这个模块(如上面提到的,i2c的驱动看起来简单,但是i2c的框架本身就比驱动复杂的多)。 我希望大家更多的能够从架构上把握,甚至能提供新的架构。
3)建立大局观,系统思维。
希望不只是站在某个角度(如驱动程序层面,或应用程序层面),而是站在产品开发的角度。
这样的话你的性能调优可以考虑的方面就更全面。
总之一句话,避免“多而不精,广而不深”
1)做好定位,我认为如果将来以此为职业并且想做到精通的层次,内核/驱动程序、应用程序一个都不能拉。
它们是相辅相成的。对于新手来说,很多人都建议从应用程序入手,我也表示赞同。对你的情况,我想现在从哪个切入都可以。
需要提醒的一点是,终端厂商要做到产品差异化,更多的是在应用程序上下功夫。
2)跳出一个误区:嵌入式开发就是移植。很多人其实只是在通过移植让硬件能够工作。其实这个是个基本功,其他的还有很多工作。我觉得做完一个模块,就应该彻底搞懂这个模块(如上面提到的,i2c的驱动看起来简单,但是i2c的框架本身就比驱动复杂的多)。 我希望大家更多的能够从架构上把握,甚至能提供新的架构。
3)建立大局观,系统思维。
希望不只是站在某个角度(如驱动程序层面,或应用程序层面),而是站在产品开发的角度。
这样的话你的性能调优可以考虑的方面就更全面。
总之一句话,避免“多而不精,广而不深”
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。