1. 申请理由
一直以来都是玩单片机,正式一点叫MCU(微控制器),由于其片上资源有限,所以应用设计得都比较简单,即使使用了RTOS(实时操作系统),算起来也不算太复杂,而且也不能太复杂。稍微带个网络协议栈和图形显示,高端芯片的系统资源都会显得捉襟见肘了。然而,商业化的应用要求都有相当的复杂度和稳定性,如果是用户终端还要求有比较强的处理能力和友好的用户界面,这就需要有成熟稳定的高级操作系统如Linux等,基于高级操作系统实现的嵌入式应用才能有个好“卖相”。作为年轻的嵌入式设计发烧友,从学校出来进入工作岗位,要从嵌入式设计的学习者转变为嵌入式软件工程师,虽然在单片机领域受益匪浅,但也不能满足于单片机设计的阶段。同时,掌握高级嵌入式操作系统应用设计也是学习嵌入式设计的重要内容,所以,我希望能够借助这次机会开始自己的高级嵌入式设计之旅。 当然,上面提到的是自己学习的客观需要,从主观上,自己对这块板子的感觉也是相当不错。拥有应用处理器的大内存和微控制器的扩展引脚,非常适合从MCU到应用处理器学习的过度。在学校的时候有幸膜拜过Freescale的i.mx53开发板,当时真心觉得Cortex-A系列的应用处理器是“高大上”,跟着教程跑过Linux,不过也就仅限于此了。那个时候,研究MCU才是正经。毕业后逐渐接触到了比较复杂的处理器,尤其是大名鼎鼎的Freescale i.mx系列,也逐渐积累了一定的经验。现在,看着Cortex-A处理器已经亲近了许多。之前玩过树莓派,虽然这是不错的板卡,也有非常好的社区支持,不过身边玩的人不是很多,有效的交流也不是很多。现在在单位里调i.mx板子的大牛比较多,请教起来也比较方便,便于进行深入学习。 关于试用计划,主要是记录一下从玩MCU到应用处理器,从RTOS到嵌入式Linux的学习过程,从设计的角度出发,不想只是按照手册操作一下,希望这次能深入地搞一搞。如果能申请能试用成功的话,大家一起研究,有社区支持,学起来也有动力,更何况还有机会最终获得一块自己的i.mx板卡,哇哈哈。 2. 学习计划
试用的目的主要还是学习,记录学习的过程是比较重要的,所以将几个报告作为学习成果。想来也算是初学,不敢提太高的目标,只要坚持下去,如实地记录学习的过程就好。到时尽量把报告发出来,希望大家多多指教,也是对自己的鞭策。
日期 | | | | 搜集资料: (1)熟悉i.mx6手册、电路原理图; (2)熟悉嵌入式Linux开发过程; (3)熟悉工具链 | | | 上电启动,参考开发指导,完成: (1)编译系统 (2)装载驱动 (3)运行简单的demo程序 | | | 分析Linux源码,重点内容包括: (1)i.mx平台上Linux的启动过程 (2)驱动程序的结构及代码设计方法 | | | 简单的驱动程序设计: (2)Dummy内存设备设计 (2)基于Linux的GPIO驱动程序设计 | | | 基于嵌入式Linux的系统服务的应用: (1)以太网络服务 (2)文件系统服务 | | | 基于嵌入式Linux的应用程序设计研究: (1)系统服务设计 (2)第三方软件的安装与应用 | | 简单的应用程序设计: (1)简单的网页服务器(这个跟树莓派差不多了,有点缺乏新意,惭愧。。。) |
简单说来,W1及之前的时间基本上还是靠网上的资源,跟着别人的思路走一遍。W2和W3的工作量也不小,不过因为关于驱动程序设计的书和文章比较多,比如经典的《Linux驱动程序设计》,还有被总结了N多遍的期刊文章(那必须得相当精炼),还可以结合已有的MCU软件设计经验,虽然工作量比较大,但是学习起来相对容易些。W4、W5、W6算是应用设计了,比较有挑战,坚持就是胜利。
|