近期学习总结与规划

      从去年3月份买了TQ的2440开发板,到现在算起来有9个月了,从刚开始的兴趣十足,到目前的仍然兴趣十足,但中间的学习过程是断断续续的,主要是公司的事情太多,搞得太累,也不想因为自学太分散精力;但我还是要坚持下去,为了心里的那份踏实。

      虽然先前有过硬件设计经验和MCU编程基础,但我还是从最初的写汇编启动代码,系统配置到串口,定时器等外设的使用,以及中断的响应分析,加深了理论知识的理解,我想这个过程还是很有必要的。通过这个过程,可以较详细地了解硬件体系结构,也可以比较51与ARM的真正区别。这个过程持续了有6个月,当然中间浪费了很多时间。然后是分析u-boot的源码,有了先前的准备,分析修改启动代码,让系统真正动起来还是比较容易的。u-boot的主要功能是引导OS,分从nor或nand Flash启动,当然也可以通过tftp下载到ram中直接bootm,这样避免了烧写flash。从Nand Flash启动是当前流行的启动方式,刚开始被这一问题搞得焦头烂额。后来还是通过分析借鉴vivi源码才受到启示,并从vivi移植到了u-boot中。u-boot的难点还有u-boot的参数传递,mtd驱动等。我想把这些放到内核的驱动中去学习。因为u-boot的mtd实际上是从linux中移植过来的。到目前为止,虽然对u-boot的整体框架有了认识,并能够通过tftp和nand引导内核了,但是还是有很多问题没有真正去剖析的。我的重点是放在了linux驱动,所以u-boot的这些暂时作为历史遗留问题吧。

      下面我规划一下今后几个月的学习内容:

     1. 内核的启动过程;kernel是如何根据从u-boot传递过来的参数启动系统各个部分的。这一部分主要是分析流程,不用细究细节,可以结合<内核情景分析>的系统启动部分;

     2.分析移植linux的驱动源码;包括串口,网卡,USB,LCD,触摸屏,声卡,RTC,SD卡;首先要使设备能跑起来,这一过程可以参照TQ的移植手册,当然不能依赖于它,主要还是要独立自主的去操作。然后要站在整个linux驱动架构上去分析学习各个设备驱动。这需要去学习操作系统的理论知识,遇到相关知识点就看<UNIX操作系统设计>,<linux设备驱动开发详解>和<linux设备驱动程序>这几本书,或是在网上查找。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值