工作日志

星期一

编译android并在windows下利用工具烧写

主要过程记录如下

在项目根目录执行 ./mkimage.sh 会在rockdev/Image-rk4388中生成8个文件:Boot.img recovery.img …

cd RKTOOL/windows  
cp  -R   AndroidTools   /home/lxm/share
cp  -R  DriverAssistant_v4.2  /home/lxm/share
cd  ../../rockdev/Image-rk4388
cp  *.img *.txt *.bin  /home/lxm/share
cd RKTOOL/windows/DriverAssitant_v4.2 

安装驱动:

cd RKTOOL/windows/AndroidTools/AndroidTool_Release_v2.35

出现如下界面:导入相应文件(对应8个;有2个没有)

开启板子,直到出现“发现MUSKROM设备”字样,点击“执行”;


星期二

上午:主要是帮助同学对其编译好的android源码进行烧写(通过samba服务远程操作);
下午:学长给我们介绍了BootLoader引导子程序;
内容包括了解platform总线,IIC总线驱动,input子系统等;熟悉makefile、KCONFIG;了解驱动所在的位置

星期三

上午:

  1. 将android源码导入SourceInsight以便阅读,由于文件数量众多,耗时较长;

  2. 了解linux驱动基本概念:
    2.1. 什么是驱动程序:
    2.2. 有什么作用:
    2.3. 分类:

    • 字符设备;
      1 . 所有能够象字节流一样访问的设备都通过字符设备来实现
      2 . 它们被映射为文件系统中的节点,通常在/dev/目录下面
      3 . 一般要包含open read write close等系统调用的实现
    • 块设备;
      1 . 通常是指诸如磁盘、内存、Flash等可以容纳文件系统的存储设备。
      2. . 块设备也是通过文件系统来访问,与字符设备的区别是:内核管理数据的方式不同
      3. . 它允许象字符设备一样以字节流的方式来访问,也可一次传递任意多的字节。
    • 网络接口设备。
      1. 通常它指的是硬件设备,但有时也可能是一个软件设备(如回环接口loopback),它们由内核中网络子系 统驱动,负责发送和接收数据包。
      2. 它们的数据传送往往不是面向流的,因此很难将它们映射到一个文件系统的节点上
  3. 如何搭建驱动开发环境
    1. 下载并编译linux内核源码;(已下载)
    2. 配置内核选项;(make menuconfig)
    3. 编译内核。 (make)
  4. 了解linux内核中Kconfig文档的作用:
    可以发现,在linux源码目录中,各级目录均会有2个文件:Kconfig与Makefile;
    • 作用:分布在各目录下的Kconfig构成了一个分布式的内核配置数据库,而每级目录中的Kconfig文件分别描述了该目录中源文件相关的内核配置菜单;在内核配置make menuconfig(或xconfig等)时,从Kconfig中读出配置菜单,用户配置完后保存到.config(在顶层目录下生成)中。在内核编译时,主Makefile调用这个.config,就知道了用户对内核的配置情况。
    • 说明:
      1. Kconfig对应着内核的配置菜单;
      2. 要添加新的驱动到内核源码中,可修改Kconfig来增加对驱动的配置 菜单,而如果想编译这个驱动,还要修改该驱动所在目录下的Makefile
      3. 因此,添加新的驱动时要修改的文件有两种:Kconfig和Makefile;
posted @ 2016-03-02 12:49  岳麓丹枫  阅读(128)  评论(0编辑  收藏  举报