国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 3696|回復(fù): 2
打印 上一主題 下一主題

【小練初成】Linux 2.6.36內(nèi)核移植飛凌OK6410開發(fā)板完整步驟詳解

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2011-5-20 14:07:47 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
今天終于讓Linux內(nèi)核在飛凌的板子上跑起來了,想來也是艱辛,為了移植成功,斷斷續(xù)續(xù)做了將近兩個(gè)月的努力,期間郁悶不可言
語形容啊,   了解其中艱辛,將自己移植步驟與心得與大家分享,希望對初踏次領(lǐng)域之人有所幫助,我所寫的成果一部分也是網(wǎng)上前
輩的所作,并非完全本人原創(chuàng)。  
一、       移植環(huán)境
主 機(jī):VMWare-Ubuntu
開發(fā)板:飛凌OK6410 nandflash,Kernel:2.6.36.2  
編譯器:arm-linux-gcc-4.3.2.tgz
u-boot:u-boot-1.1.6

注:編譯器和u-boot 都是飛凌開發(fā)板自帶的
二、  源碼獲得
       內(nèi)核源碼到http://www.all.kernel.org/下載;
三、    移植步驟:
1.將Linux2.6.34.2內(nèi)核源碼放到工作目錄文件夾下,并解壓。
#tar xzvf linux2.6.36.2.tar.gz –c /
#pwd
/  
# cd linux2.6.36.2
       2. 修改內(nèi)核源碼根目錄下的Makefile文件(CROSS_COMPILE    =的值因個(gè)人情況而定,其他可以照做)
       #gedit Makefile
......
#SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
#                  -e s/arm.*/arm/ -e s/sa110/arm/ \
#                  -e s/s390x/s390/ -e s/parisc64/parisc/ \
#                  -e s/ppc.*/powerpc/ -e s/mips.*/mips/ )
......
#ARCH        ?= $(SUBARCH)
#CROSS_COMPILE    ?=
ARCH        = arm
CROSS_COMPILE    = /usr/local/arm/usr/local/arm/4.3.2/bin/arm-none-linux- gnueabi-
3添加NandFlash分區(qū)信息.
修改arch/arm/mach-s3c64xx/mach-smdk6410.c文件,添加Nand Flash的分區(qū)信息和Nand Flash的硬件信息。(藍(lán)色字體為添加部分)  
#pwd
        #gedit mach-smdk6410.c               //add here 注意:此處的nandflash分區(qū)信息是飛凌自帶的2.6.28的內(nèi)核設(shè)置,由
于此處要用到uboot是飛凌的,所以分區(qū)信息也要按人家的來 添加頭文件 #include #include  
#include #include struct mtd_partition s3c_partition_info[]  
= {      
                   {         
                      .name          = "Bootloader",
                       .offset               = 0,   
                      .size          = (256*SZ_1K),     
                        .mask_flags    =MTD_CAP_NANDFLASH,   
                     },   
                     {         
                      .name          = "Kernel",   
                     .offset               = (256*SZ_1K),      
                     .size          = (4*SZ_1M) - (256*SZ_1K),     
                      .mask_flags    = MTD_CAP_NANDFLASH,      
                     },
#if defined      (CONFIG_SPLIT_ROOT_FILESYSTEM)
                {            
                        .name          = "Rootfs",  
                        .offset               = (4*SZ_1M),   
                         .size          = (80*SZ_1M),//
                },
#endif         
                  {           
                          .name          = "File System",
                          .offset               = MTDPART_OFS_APPEND,   
                       .size          = MTDPART_SIZ_FULL,   
                  }
};
static struct s3c2410_nand_set s3c_nandset[]={   
       [0]=         {         
                   .name            ="s3c24xx-nand",     
                  .nr_chips        = 1,   
                    .nr_partitions   =ARRAY_SIZE(s3c_partition_info),         
                 .partitions   =s3c_partition_info,  
                    }
};
static struct s3c2410_platform_nand s3c_platform={      
              .tacls =25,            
            .twrph0 =55,         
            .sets = &s3c_nandset,      
             .nr_sets =ARRAY_SIZE(s3c_nandset),};
//add here…
static struct platform_device *smdk6410_devices[] __initdata = {
#ifdef CONFIG_SMDK6410_SD_CH0      
    &s3c_device_hsmmc0,
#endif
#ifdef CONFIG_SMDK6410_SD_CH1      
     &s3c_device_hsmmc1,
#endif         
   &s3c_device_i2c0,      
     &s3c_device_i2c1,      
    &s3c_device_fb,        
    &s3c_device_ohci,      
      &s3c_device_usb_hsotg,     
     &s3c64xx_device_iisv4,   
       //add here      
     &s3c_device_nand,      
   //add here…
}
static void __init smdk6410_map_io(void){   
       u32 tmp;      
      //add here      
      s3c_device_nand.name = "s3c6410-nand";   
       //add here…

}
static void __init smdk6410_machine_init(void){      
      u32 cs1;        
     s3c_i2c0_set_platdata(NULL);   
       s3c_i2c1_set_platdata(NULL);   
      s3c_fb_set_platdata(&smdk6410_lcd_pdata);   
       //add here        
     s3c_nand_set_platdata(&s3c_platform);//      
     //add here…
}
沙發(fā)
發(fā)表于 2011-6-9 15:53:05 | 只看該作者
謝謝樓主!
板凳
發(fā)表于 2011-11-1 13:11:40 | 只看該作者
收藏了 感謝LZ!!!
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲综合偷自成人网第页 | 国产片毛片 | 亚洲综合色网站 | 夜夜春影院播放器 | 香蕉久久综合精品首页 | 日本高清va不卡视频在线观看 | 精品国产香蕉 | 亚洲一区中文字幕在线观看 | 四虎免费网址 | 丁香婷婷综合网 | 在线观看 欧美 | 日韩在线欧美在线 | 国产精品国产自线在线观看 | 午夜久久免影院欧洲 | h视频在线观看免费 | 亚洲国产成人精品一区91 | 男人将机机桶女人 | 国产三级精品三级 | 日本免费一级片 | 在线精品视频在线观看高清 | 亚洲欧洲精品视频在线观看 | 中文字幕日韩一区二区三区不卡 | 亚洲影视一区二区 | a一级毛片免费高清在线 | 久久久久免费观看 | 国产欧美日韩精品a在线观看高清 | 韩国伦理妈妈的朋友在线观看 | 草久在线观看视频 | 亚欧日韩毛片在线看免费网站 | 国产手机在线观看视频 | 色噜噜狠狠色综合网图区 | 午夜视频在线免费看 | 欧美极品第1页专区 | 手机看片国产免费 | 国产精品精品视频 | 成年女人在线观看片免费视频 | 自拍偷拍第4页 | 国产精品午夜久久久久久99热 | 国产欧美日韩精品a在线观看 | 日本一区二区三区有限公司 | 日韩在线视频观看 |