lblovetxf 写了:toddbmg 写了:一首先你必须清楚定位自己做什么.
整天又是ARM,又是LINUX。。。。。。现在分工很细的,要么做外设驱动,多媒体驱动,要在上层做应用,要么做PCB,做DEMO板,等。不要以为好像移植内核,移植UBOOT要嵌入式工作的全部,其实嵌入式大多数在搞应用与做板,一般来说移植内核和UBOOT都是一次性搞好也就差不多了。可以继承应用下去,上面移植内核和UBOOT的层面你就不是一般的公司做的事情,那是芯片公司做的事情,而且芯片公司里的资深工程师做。你又说学ARM,又说学LINUX,唉,不要说ARM,就LINUX一个已经够你学很久,在LINUX上的应用,应用中的各个模块,繁杂的中间件,你想想一个android系统,其实GOOGLE真正做了什么,真正做的是整合APP应用,内核加了一些驱动配适,但其创新体现在APP。。。现实点,小伙仔。在APP中,一个组件库其实已经够你研究学习了,比如OPENGL。SQLITE。等。。。说到ARM,真正做起来,看你在什么公司,像中国的芯片公司比如HISILICON,硬件上做ARM的都与芯片技术相关的,再就是做芯片的DEMO板给其它厂商 做二次开发,大多数应用方案公司是做二次开发,芯片公司做的DEMO板和UBOOT跟内核,甚至还提供APP层上的构架与SDK,你们方案应用公司来改啊改,做二次开发,所以你学ARM要考虑实质上你是做什么工作?做什么职业?
现在嵌入式,上层应用已经不需要你去懂ARM,不需要你知道AMBA这个概念,只求你能懂一下行业中知道比如视频解码原理和接口等,做驱动才是要懂那些。嵌入式这东西不是只有ARM和LINUX,试问你们对人工智能,对图像分析,对视频压缩技术,GPS定位技术,语音识别等领域又了解多少???
如果你想学驱动,必须按步走
1。学好C
2。学习<LINUX程序设计>第三版,你首先必须是一个实实在在的程序员。老老实实的动手写程序,万事开头难,开了头就易了。
3。<LINUX设备驱动程序>第三版,通过驱动程序才有机会在代码层次上找到内核的入门。
4。<Linux内核设计与实现>(第二版) ,至此,看完这本书,已经对内核有了一个深刻的认识。
受教了!努力就会有收获!
写的太好了!
我是通过培训转行过来的,我学的是自动化。通过培训对嵌入式有了一定的了解,C语言基础不是很好,编程能力也很差,逻辑思维能力也不行,英语也不好,现在在一家公司做PAD(还没有开始做项目,部门刚成立还在study中),现在时间比较充裕,但是发现每天做的跟嵌入式没什么关系,都是一些琐碎的事,遇到问题都只有到网上搜搜,根本分析不出来原因,而且感觉嵌入式实在是太广太难了,想在很迷茫,像我这样的人不知道现在该怎么走?想放弃又不甘心,请前辈们指教.......谢谢。