如何学习智能手机驱动编程
我是刚入职的今年7月毕业的本科计算机专业学生,现在被分配到智能手机驱动部门,开发平台为C+linux+android,主要工作是智能机各个外围驱动的调试,需要对linux驱动熟悉后才能进行开发。而我只有学校学习的widows环境下的C语言编程基础,对linux,嵌入式,硬件,汇编基本不会。请问我要怎样学习?要看那些书?学习那些知识?我现在的师傅给了我一个学习计划:
第一个月(7月20-8月20),主要是熟悉linux开发环境,linux上的应用开发,以达到了解linux系统的目的
第一周:搭建个人开发环境,安装linux开发环境,熟悉linux系统概念,练习linux下常用命令的使用,了解linux下C语言编程的基础
第二周:熟悉gcc,gdb,Makefile等linux下的编译工具,能熟练的使用这些工具
第三周:linux下的系统基础编程,主要包括文件操作,线程控制等
第四周:继续熟悉linux系统基础编程,进程控制,进程通信等。
第二个月(8月20-9月20):本阶段主要以熟悉linux内核和设备驱动为主,培训完后能对linux内核有一个基本的了解,能编写简单的字符设备驱动,熟悉其他类型设备的概念
第一周:熟悉linux内核结构,编程环境和内核的加载等
第二周:熟悉linux字符设备驱动,常用的一些数据结构,中断,并发等linux驱动开发必备的概念
第三周:了解嵌入式,熟悉Linux下的交叉编译环境等
第四周:了解linux文件系统,编写一个简单的内核字符设备驱动(硬件无关),再编写一个应用程序对其进行调用控制
第三个月(9月20--10月20):本阶段主要以实际硬件驱动培训为主,了解硬件基础,熟悉硬件驱动开发流程
第一周:了解常见的外围设备和接口,能够看懂PCB&SCH和硬件DataSheet
第二周:linux下输入设备的熟悉,为编写实现简单功能的触摸屏做准备
第三周:熟悉触摸屏硬件情况,试着编写触摸屏驱动
第四周:视培训效果和项目组情况安排其进入项目组,参加后续的项目开发
我现在已经是工作第四周了,基本了解看了第一个月的内容,但是第二个月的内容完全么得头绪?比如熟悉linux内核结构,编程环境和内核的加载等,这个要看那些内容呀?那位前辈能给推荐一些适合我学习的书,或者提点意见,谢谢了