u-boot-2009.08在mini2440上的移植(七)

2014-11-24 08:54:37 · 作者: · 浏览: 9
如下:
#include
#if defined(CONFIG_S3C2400) || defined(CONFIG_S3C2410) || defined(CONFIG_S3C2440) || defined(CONFIG_TRAB)
#if defined(CONFIG_S3C2400)
#include
#elif defined(CONFIG_S3C2410) || defined(CONFIG_S3C2440)
#include
#endif
在180行添加:
#if defined(CONFIG_SMDK2400) || defined(CONFIG_TRAB)
tbclk = timer_load_val * 100;
#elif defined(CONFIG_SBC2410X) || \
defined(CONFIG_SMDK2410) || \
defined(CONFIG_MINI2440) || \
defined(CONFIG_VCMA9)
tbclk = CONFIG_SYS_HZ;
#else
# error "tbclk not configured"
#endif


(5)打开cpu/arm920t/s3c24x0/speed.c,分别定位到33行和37行,修改如下:
#include
#if defined(CONFIG_S3C2400) || defined(CONFIG_S3C2410) || defined(CONFIG_S3C2440) || defined(CONFIG_TRAB)
#if defined(CONFIG_S3C2400)
#include
#elif defined(CONFIG_S3C2410) || defined(CONFIG_S3C2440)
#include
#endif
(6)打开/cpu/arm920t/s3c24x0/usb.c文件,定位到第27、31行:
#if defined(CONFIG_USB_OHCI_NEW) && defined(CONFIG_SYS_USB_OHCI_CPU_INIT)
# if defined(CONFIG_S3C2400) || defined(CONFIG_S3C2410) || defined(CONFIG_S3C2440)
#if defined(CONFIG_S3C2400)
# include
#elif defined(CONFIG_S3C2410) || defined(CONFIG_S3C2440)
# include
#endif


(7)打开drivers/serial/serial_s3c24x0.c,定位到24行,修改如下:
#include
#if defined(CONFIG_S3C2400) || defined(CONFIG_TRAB)
#include
#elif defined(CONFIG_S3C2410) || defined(CONFIG_S3C2440)
#include
#endif


(8)打开drivers/rtc/s3c24x0_rtc.c文件,定位到第35行:
#if defined(CONFIG_S3C2400)
#include
#elif defined(CONFIG_S3C2410) || defined(CONFIG_S3C2440)
#include
#endif


(9)打开/drivers/i2c/s3c24x0_i2c.c文件,定位到32行:
#include
#if defined(CONFIG_S3C2400)
#include
#elif defined(CONFIG_S3C2410) || defined(CONFIG_S3C2440)
#include
#endif
#include
再分别定位到第63、82、139、147、171行:
#if defined(CONFIG_S3C2410) || defined (CONFIG_S3C2440) //#ifdef CONFIG_S3C2410
return (gpio->GPEDAT & 0x8000) >> 15;
#endif
... ...
#if defined(CONFIG_S3C2410) || defined (CONFIG_S3C2440) //#ifdef CONFIG_S3C2410
gpio->GPEDAT = (gpio->GPEDAT & ~0x4000) | (x&1) << 14;
#endif
... ...
#if defined(CONFIG_S3C2410) || defined (CONFIG_S3C2440) //#ifdef CONFIG_S3C2410
/* set I2CSDA and I2CSCL (GPE15, GPE14) to GPIO */
gpio->GPECON = (gpio->GPECON & ~0xF0000000) | 0x10000000;
#endif
... ...
/* restore pin functions */
#if defined(CONFIG_S3C2410) || defined (CONFIG_S3C2440) //#ifdef CONFIG_S3C2410
gpio->GPECON = old_gpecon;
#endif


【5】在mini2440.h头文件中加入宏定义


用gedit打开include/configs/mini2440.h头文件,在其中添加CONFIG_S3C2440宏,修改后代码如下所示


#define CONFIG_ARM920T 1 /* This is an ARM920T Core */
//#define CONFIG_S3C2410 1 /* in a SAMSUNG S3C2410 SoC */
//#define CONFIG_SMDK2410 1 /* on a SAMSUNG SMDK2410 Board */
#define CONFIG_S3C2440 1 /* in a SAMSUNG S3C2440 SoC */
#define CONFIG_MINI2440 1 /* on a SAMSUNG MINI2440 Board */
#define CONFIG_MINI2440_LED 1 /* mini2440 led on/off */


/* input clock of PLL */
#define CONFIG_SYS_CLK_FREQ 12000000/* the SMDK2410 has 12MHz input clock */


【6】为了能够让u-boot.bin下载到内存中运行,需要注释掉CPU和DRAM初始化部分


用gedit打开cpu/arm920t/start.S,定位到如下代码


#ifndef CONFIG_SKIP_LOWLEVEL_INIT
bl cpu_init_crit
#endif


将其注释掉,屏蔽u-boot对CPU、RAM的初始化


//#ifndef CONFIG_SKIP_LOWLEVEL_INIT
//bl cpu_init_crit
//#endif


1.3重新编译,运行测试


[root@localhost u-boot-2009.08]# make clean
Generating include/autoconf.mk
[root@localhost u-boot-2009.08]# make


... ...


In file included from speed.c:38:
/root/u-boot-test/u-boot-2009.08/include/s3c2410.h:96: error: expect