一般Bootloader和Linux的启动过程的讲解都是嵌入式书籍的一个章节而已,从我自身的学习经验来给出一些建议:
可以看 Embedded Linux Primer (豆瓣) 第二版,网上有英文版(建议)和中文版的pdf,里面的Chapter5和7分别简述了Linux的初始化启动过程和Bootloader基础。还有后面的Busybox章节也不错。另外构建嵌入式LINUX系统 (豆瓣)也可以作为参考。
2. 找一下韦东山的第一期和毕业班,里面也讲到了Bootloader和Linux如何初始化以及如何执行第一个用户程序。尽管其实只讲了一部分,但是对于Linux的启动流程的学习还是很有帮组的。跟着写一个Bootloader绝对是学习Bootloader的一种好方式。如同在stackoverflow里面对于如何学习Bootloader给出的答案一样“The best method to learn it, is to recreate one”。如果自己写一个有困难,那么就先学习移植吧。
3. 其实Bootloader就是裸机程序,因此如果你对裸机程序熟悉,那么Bootloader甚至说不上需要学习,给出一本书籍用于参考:ARM处理器裸机开发实战:机制而非策略(附CD-ROM光盘1张)/王小强
其他国人写的书籍中的Bootloader大都是泛泛而谈,对于有经验的人用不着,对于初学者更多的是雾里看花,例如:
杨铸与人合著的两本书:深入浅出:嵌入式底层开发/杨铸和构建嵌入式Linux核心系统实战(附光盘1张)/杨铸
韦东山写的那本书:嵌入式Linux应用开发完全手册(附CD光盘1张)/韦东山
以及各类“精通”与“实战”之流。
但,不管如何,开卷有益,同时也因人而异。还是需要题主自己考究。
最后:
如果你学得很痛苦,那么很可能没有走在正确的路上。我觉得学习过程应该是不断+1的过程,看,看得懂的代码和书。否则继续学习基础,或者直接跳过这些东西直接到Linux上面学习驱动开发或者应用开发,其实这些知识点没有那么多牵连,很多人给出的嵌入式学习步骤绝对是带人入坑。
买个开发板,照着手册学习如何下载、调试,尝试修改代码,学习ARM汇编、学习bootloader,UCos,Linux等要学习的东西很多,慢慢来,越学理解的越深,越走路越宽。参考书籍:
32位ARM嵌入式系统开发技术:流程、技巧与实现 赵刚 电子工业出版社 (2008-10出版)
这本书写的很详细,以S3C4510(ARM7)这个芯片讲的,但思路基本是一样的,个人认为写的很好。
ARM处理器裸机开发实战:机制而非策略(附CD-ROM光盘1张) 王小强、 粟思科 电子工业出版社 (2012-01出版)
这本书讲S3C2410的,这本书写的也很不错,所讲的内容讲的都很深入。
以上两本书应该是市面上最好的讲ARM裸机开发的书了。
学会裸机再学 *** 作系统。
讲LINUX和ARM的可以看韦东山的视频。讲的非常详细的。
周立功的书讲的肤浅,主要是翻译芯片手册,而且北航出的很多书有个特点就是初学者看根本入不了门,入了门的再看那书感觉在浪费时间什么也学不到,个人理解~
学好ARM不是一天两天的事,加油吧。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)