Linux 2.6.36内核移植飞凌OK6410开发板完整步骤详解

[复制链接]

今天终于让Linux内核在飞凌的板子上跑起来了,想来也是艰辛,为了移植成功,断断续续做了将近两个月的努力,期间郁闷不可言

语形容啊,   了解其中艰辛,将自己移植步骤与心得与大家分享,希望对初踏次领域之人有所帮助,我所写的成果一部分也是网上前

辈的所作,并非完全本人原创。

一、       移植环境

主 机:VMWare-Ubuntu

开发板:飞凌OK6410 nandflash,Kernel:2.6.36.2

编译器:arm-linux-gcc-4.3.2.tgz

u-boot:u-boot-1.1.6

注:编译器和u-boot 都是飞凌开发板自带的

二、  源码获得

三、    移植步骤:

1.将Linux2.6.34.2内核源码放到工作目录文件夹下,并解压。

#tar xzvf linux2.6.36.2.tar.gz –c /

#pwd

/

# cd linux2.6.36.2

2. 修改内核源码根目录下的Makefile文件(CROSS_COMPILE    =的值因个人情况而定,其他可以照做)

#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分区信息.

修改arch/arm/mach-s3c64xx/mach-smdk6410.c文件,添加Nand Flash的分区信息和Nand Flash的硬件信息。(蓝色字体为添加部分)

#pwd

#gedit mach-smdk6410.c               //add here 注意:此处的nandflash分区信息是飞凌自带的2.6.28的内核设置,由

于此处要用到uboot是飞凌的,所以分区信息也要按人家的来 添加头文件 #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…

}

linux内核移植与开发板,Linux 2.6.36内核移植飞凌OK6410开发板完整步骤详解相关推荐

  1. linux开发板led怎么亮,飞凌OK6410开发板(裸板) 第一个点亮LED灯程序

    飞凌OK6410开发板(裸板) 第一个点亮LED灯程序,主要的C程序,完整程序请下载附件. #define rGPMCON          (*(volatile unsigned *)(0x7F0 ...

  2. 飞凌OK6410开发板移植u-boot官方最新版u-boot-2012.10.tar.bz2

    Part0 准备知识 0.1 关键参数说明 0.1.1 开发板说明 OK6410是飞凌公司发布的一款开发板,当前有2个版本,OK6410-A和OK6410-B,我当前使用的是前者:前者也经历过升级,所 ...

  3. LS1028A性能介绍-NXP Layerscape 系列功能对比-飞凌LS1028开发板评测

    在 OK1012A- C . OK1043A-C . OK1046A-C 之后, 飞凌嵌入式推出了 OK1028A-C 新一代 Layerscape 系列 开发板.在 OK1028A-C 到来之前,  ...

  4. linux根目录挂载到2440开发板,飞凌2440开发板挂载NFS

    使用嵌入式Linux不长,今天尝试着NFS挂载.挂载成功,在这里记录一下. 飞凌2440开发板 我的操作步骤是这样的: 1.将开发板的串口线和网线连接好,然后打开开发板的电源. 2.打开串口调试助手, ...

  5. 移植Opus音频编解码库到FreeScale iMX6q(飞凌嵌入式的OKMX6Q-C开发板)平台

    移植Opus音频编解码库到FreeScale iMX6q(飞凌嵌入式的OKMX6Q-C开发板)平台 交叉编译器 使用飞凌提供的最新版交叉编译工具链,fsl-imx-x11-glibc-x86_64-m ...

  6. 飞凌RK3568开发板实时系统来啦!实时性,更强大

    内容来源:飞凌嵌入式官网 www.forlinx.com 在工业4.0时代,人工智能和工业物联网的发展走上了快车道,越来越多的行业对实时操作系统有了更加迫切的需求.基于此,飞凌嵌入式推出了在OK356 ...

  7. linux centos7 mysql_Linux centos7环境下安装MySQL的步骤详解

    Linux centos7环境下安装MySQL的步骤详解 安装MySQL mysql 有两个跟windows不同的地方 1).my.ini 保存到/etc/my.ini 2).用户权限,单独用户执行 ...

  8. linux安装Openssl步骤详解_问题:OpenSSL: error:100AE081:elliptic curve routines:EC_GROUP_new_by_curve_name:un

    linux上安装Openssl步骤详解 问题: OpenSSL: error:100AE081:elliptic curve routines:EC_GROUP_new_by_curve_name:u ...

  9. 阿里云主机Linux服务器配置步骤详解

    下面我们一起来看看关于阿里云主机Linux服务器配置步骤详解,如果你正在使用阿里云主机我们可进入参考一下配置步骤哦,有兴趣的同学可进入参考. 一提到云主机,大家肯定熟知国内最知名品牌--阿里云了,后来 ...

最新文章

  1. python领域有什么用-Python都能应用到哪些领域?具体就业职位有什么?
  2. springboot源码解析autoconfigure之WebMvcAutoConfiguration
  3. 关于TransactionScope分布式事务在Oracle下的运作
  4. 程序员智力面试题(一)
  5. UOJ #188. 【UR #13】Sanrd
  6. 什么叫死锁?死锁案例?死锁必须满足哪些条件?如何定位死锁问题?有哪些解决死锁策略?哲学家问题?
  7. 【FLink】Flink 消费 kafka 消费组 死掉 Marking the coordinator dead for group 造成数据重复消费
  8. php防伪溯源x系统_区块链溯源防伪追溯系统开发解决方案
  9. 从零开始学习Sencha Touch MVC应用之十四
  10. 四、BDB JE学习(对java中内置对象的存储)
  11. Selenium爬虫 -- 使用Selenium爬取数据时,网页切换之后原先获取的元素变量失效的问题
  12. 【IDEA】解决: alt+/快捷键 冲突的问题
  13. 批量打印word文档_如何安排打印Word 2007+文档
  14. 金蝶软件常用基础SQL数据表
  15. dimm和udimm_服务器内存UDIMM与RDIMM区别
  16. 数学分析考研不常见必记积分公式
  17. 2022年R2移动式压力容器充装特种作业证考试题库及在线模拟考试
  18. 如何阻止windows 联网自动激活,避免笔记本无法退货。
  19. 2011黑帽大会:由黑客操控的世界
  20. 计算机网络-数据交换技术

热门文章

  1. 博客园私人定制css
  2. Qt界面加载网络摄像头,并实时显示,两种更新界面的方法
  3. 3天学会撰写软件发明专利——专利申请费用
  4. 类的应用和对象 游泳池
  5. Git自学成才——Pull Request
  6. 中科院考研经历⑧--考研期间推免事宜小结
  7. 做幼儿教育培训类型的网站注意事项
  8. TCP连接的状态详解以及故障排查
  9. 计算机程序设计艺术 介绍
  10. Mac OS自带游戏