下面是我的一些建议:
初学嵌入式linux,建议读读 Embedded.Linux.Primer.2nd ,网上有电子版,这本书是从初学者的视角来审视内核,而不是让你一头扎到内核里,云里雾里出不来。 还有一本书是 linux system programming,介绍的是如何利用linux上层的API接口来编程,从接口可以窥探内核的一些特性。
understanding linux kernel ,还有Professional Linux Kernel Architecture,这些书也可以,接触linux差不多2年了,还也是看的马马虎虎,一直计划深入文件系统,但也只是搞清楚了层次和大概流程。所以我认为linux学会用还比较容易,但要精或者熟练,比较难。
书实在太多,自己可以多读一些,找到适合自己的。
如果基础不是很好,建议还是从简单的微内核开始吧,比如ucos, freertos等。
ARM以前有经典的ARM体系结构与编程这本书,仔细阅读过好几遍,很有收获。
因为工作上原因,几年没有没有关注过ARM体系结构了,最近看了下ARM网站,在E文网站上已经没有ARM7/ARM9/ARM11的信息了,在中文网站上还有这个分支,称为经典处理器。 所以建议学习下cortex-M系列的,比较简单,因为没有MMU,外设也少。 但要支持linux,估计看CORTEX-A系列,或者ARM9/ARM11,这些处理器支持MMU。如果搞驱动,建议粗读和精读ARM公司和芯片商的PDF文档,会有很大收获。
以前听说有uclinux,可以不支持MMU,到网站上维护信息比较久了,估计用的人可能不多。
|