别人的建议:
==============================================================
一首先你必须清楚定位自己做什么.
整天又是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这个概念,只求你能懂一下行业中知道比如视频解码原理和接口等,做驱动才是要懂那些。
如果你想学驱动,必须按步走
1。学好C
2。学习<LINUX程序设计>第三版,你首先必须是一个实实在在的程序员。
3。<LINUX设备驱动程序>第三版,通过驱动程序才有机会在代码层次上找到内核的入门。
4。<Linux内核设计与实现>(第二版) ,至此,看完这本书,已经对内核有了一个深刻的认识。
==============================================================