不知不觉学习嵌入式Linux差不多一年。大一的时候,开始阅读学习微机原理C语言,经过了相当长的时间才玩转了51,后来发现了竟然还有ARM这个东西,于是火急火燎的买了块STM32的开发板开始了漫长的学习过程,最大的感受就是其实ARM M系列的体系结构其实比51还要简单感觉,因为结构异常分明,理解起来也没有困难,于是很容易的就能让我的板子跑起来了,点亮个LED再也没有当初的兴奋了。
有人说,技术是个无边无际的大海,当我遇到操作系统时,彻底的体会到了这一点。其实在大学里想我们学生做的那点东西,基本的前后台程序结构足矣解决99%的问题。
抱着好奇的态度开始了第一本书,UCOS,相信大多数人学习操作系统概念时应该接受的都是这本书,个人感觉对于理解操作系统基本原理非常棒,并且容易读懂,自己花了不知道多少个日夜,终于将他弄到了自己的STM32开发板上,测试很简单,两个任务分别管理两个LED灯,工作良好,于是,弃置了。
最让人蛋疼的是Linux了,硬件要求稍高,在也不是整个几十块大洋的单片机能搞的了的,于是,买了块流行的MINI2440的克隆版,当时看到那块最小系统,感觉这才叫处理器。
因为只有最小系统,没有外设,但是写一些基本的东西还是可以的。没有裸奔,感觉裸奔也就和其他的一样了,自己写了个bootloader,工作不太良好,卡在了将映像烧写到nand上,nand读擦写都没问题,将文件系统写上去就是启动不了,估计是映像格式问题,没深究。
后来学习驱动程序的编写,看的都是经典书籍,感觉很好,多读几遍都还好理解,感觉要想写好驱动路还很长,毕竟要知道的东西太多了,三大驱动模块有了一个基本的了解,也会写基本的字符,块,网络设备驱动程序。至于各种各样的头疼的子系统,还是要慢慢来。
路漫漫其修远兮,吾将上下而求索。