Chinaunix首页 | 论坛 | 博客
  • 博客访问: 439480
  • 博文数量: 123
  • 博客积分: 2686
  • 博客等级: 少校
  • 技术积分: 1349
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-23 22:11
文章分类
文章存档

2012年(3)

2011年(10)

2010年(100)

2009年(10)

我的朋友

分类: LINUX

2010-01-01 10:43:00

因为我要把u-boot-2009-11移植到s3c2440上面,选的模板是smdk2410,所以,要找出2440和2410的不同点,然后再做出修改。
1. 在网上搜索了下,都是arm920t核心,但是s3c2440和s3c2410的不同点:
  • 增加了camara接口(与移植无关)
  • 增加了I/O(可能移植要修改)
  • 增加了中断源(移植时肯定要修改)
  • 2440的主频是2410主频2倍(移植肯定要修改)

2. 在/board/samsung/下建立一个目录smdk2440,把smdk2410下的所有文件复制到smdk2440目录下面;把smdk2410.c改成smdk2440.c

3. 在/include/configs/ ,把smdk2410复制为smdk2440.h.

4. 在cpu/arm920t下修改start.S.

5. 阅读源代码,找出要增加的宏,要修改的宏,要增加的代码,要删除的代码,要修改的代码。

  • 修改start.S
  • 修改nand_read.c
  • 修改makefile
  • 复制目录建立自己的board,smdk2440
  • 在include 里面建立自己的头文件 s3c2440.h
  • 在文件/drivers/rtc/s3c24x0.c中,加入宏:
  • #if defined(CONFIG_S3C2440)   /*1, add this line*/
    #include           /*2, add this line*/
    #endif                        /*3, add this line*/
  • 把 头文件包含进来;
  • 在文件/drivers/serial/serial_s3c24x0.c中,也把上面的宏加入包含头文件。
  • 修改文件/board/samsung/sdmk2440/smdk2440.c ,
  • 修改/include/s3c24x0.h ,把宏CONFIG_S3C2410 --> CONFIG_S3C2440
  • CPU/ARM920T/S3C24X0/下的所有文件,都要 加入宏把头文件包含进来

比如在文件 s3c24x0_rtc.c中,这个是s3c24x0通用的,那么这 是怎么实现通用的呢???

他是 在包含头文件时,用到了 条件编译,根据宏定义来 选择包含的头文件。

阅读(1183) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~