--------------------------------------------
本文系本站原创,欢迎转载!
--------------------------------------------
|
文件: | linux-2.6.24-davinci.patch.tar.bz2 |
大小: | 59KB |
下载: | 下载 |
|
在linux-2.6.26.5内核中已经包含对davinci(dm644x)平台的支持,在arch/arm/mach-davinci中。里面包含了基本的BSP支持包,以确保系统能够跑起来,但是缺少一些驱动。先到下载linux-2.6.26.5.tar.bz2, 然后解压tar xvjf linux-2.6.26.5.tar.bz2, 并进入cd linux-2.6.26.5, 打上补丁patch -p1 < ../linux-2.6.26-davinci.patch(下载后的文件名有可能不是这个,根据实际调整)。使用make ARCH=arm CROSS_COMPILE=arm-linux-gcc davinci-dm6441-defconfig便可生成针对dm644x平台的默认设置(该配置文件由补丁产生),然后可根据实际需要用make ARCH=arm CROSS_COMPILE=arm-linux-gcc menucongfig命令自行配置,最后make ARCH=arm CROSS_COMPILE=arm-linux-gcc uImage生成内核。
arm-linux-gcc采用的是3.4.1的。
一、linux-2.6.26.5内核的mtd模块没有非标准的cfi或jedec nor flash驱动程序(本人的板子是amd兼容的flash, 非标准的),故需要移植相关驱动到该内核中。上传的这个补丁会在drivers/mtd/chips文件夹生成两个文件davinci-nor-flash.c和amd_flash.c,并修改该文件夹下的Kconfig和Makfile文件,加入相关的选项。需要根据所使用的实际的flash修改amd_flash.c文件,如果采用的是标准的cfi或jedecflash驱动程序,则没必要修改。
二、linux-2.6.26.5内核的net驱动不包含针对dm644x emac的驱动程序,上传的这个补丁会在drivers/net/arm/文件夹下增加davinci_emac.c, davinci_emac.h, davinci_emac_phy.c,
davinci_emac_phy.h, davinci_emac_debug.c这五个文件,并修改该文件夹下的Kconfig和Makfile文件,加入相关的选项。由于该驱动是注册到platform bus总线上,故需要在/arch/arm/mach-davinci/board-evm.c文件中注册一个platform device到该驱动上,具体代码见补丁文件或board-evm.c文件。
三、曾加了config.h和clock.h等文件。可根据对分区的需要,对/arch/arm/mach-davinci/board-evm.c进行修改,修改nor flash或nand flash的分区信息。
以上是本人将linux-2.6.26.5内核移植到davinci(dm644x)平台的一些经历或经验,希望能给各位的工作或学习带来些帮助。后续文章将介绍针对dm644x平台的mv_pro_4.0内核(linux-2.6.10)的BSP。
阅读(3483) | 评论(2) | 转发(1) |