从这个系列第一篇开端,那是4月22号,到今日做一个总结,已经有7个多月的时刻了,运用业余时刻学习自己感兴趣的东西,进展比较慢,也是比较累的,但收成也是许多的.
这个系列之所以写出来,是由于自己在玩linux文件系统和驱动的时分,总是觉得自己应该回头看看bootloader到底是怎样作业的.原本只想着从头看下arm系统结构和汇编语言的,没想到一路上还学习了曾经从没想过的编译链接的细节,提高了自己阅览makefile和脚本的才能,对指针有了更深的了解,对操作系统也有了更深的了解.
列一下完结这个系列所阅览或阅读过的书和材料:
《ARM System Developers Guide》
《ARM ArchitectureReference Manual》
http://sourceware.org/binutils/docs/ld/index.html 这个链接下的文档首要解说gnu编译器链接脚本的
《程序员的自我涵养—链接、装载与库》
《linker and loader》
《S3C2440》
《K9F2G08U0A》
《GNU Make中文手册》
《LINUX与UNIX Shell编程攻略》
uboot代码里边的一些文档
差点忘记了google和baidu这两个搜索引擎 比方ubuntu下装置tftp diff的运用等问题,谷哥和度娘很好用
等等
在这个过程中,总是会遇到这样那样的问题,渐渐处理便是,花的考虑时刻是值得的,第一次处理问题的速度慢意味着今后处理同类问题的速度就会快上许多.
后边就会持续移植linux3.0.46以及相关驱动开发和移植作业.
linux3.0.46移植好了,可是文件系统还得持续移植.关于linux下面的驱动开发,我的了解是,了解linux操作系统是比较要害的,特别是linux的文件系统的完成,设备模型以及并发和竞赛.了解这个之后,便是了解各个驱动子系统的代码规划,最终便是依据详细的硬件datasheet进行开发和调试了.
由于现在从事的作业很少有时机和详细的硬件打交道,由于给的计划这些都做的很完善了.所以我在玩的过程中也会倾向与前面几点,而辅之以几个详细硬件模块的实践,究竟硬件模块太多了,把握了办法后都是能够再花时刻去做的.
假如我的作业内容便是bsp和linux内核移植以及驱动开发,那就太好了,求引荐!
尽管比较短缺硬件调试的经历,可是我也有我的优势,对软件方面的常识系统较为完善.最为重要的是我对这块是十分感兴趣的,假如作业时刻便是做这块的,想必这个生长速度将会是惊人的,同样是能够完结任务的.诚心求引荐!