mini2440开发板 u-boot 移植
1.解压源码包
2.在顶层的Makefile中找到
smdk2410_config
参照此方法,添加:
mini2440_config
3.修改/cpu/arm920t/start.S
#
#
#
#
# endif
之后添加代码
#define CLK_CTL_BASE 0x4C000000
#define Mdiv_405 0x7f < 12
#define PSdiv_405 0x21
#define UPLL_Mdiv_48 0x38 < 12
#define UPLL_PSdiv_48 0x22
#define Mdiv_200 0xa1 < 12
#define PSdiv_200 0x31
# if defined(CONFIG_S3C2410)
# endif
后面添加:
#if defined(CONFIG_S3C2440)
ldr r1,=0x7fff
ldr r0,=INTSUBMSK
str r1,[r0]
#endif
将180行左右关于时钟设置的代码注释掉
*
*
*
*
*#endif
*/
添加:
ldr r0,=CLKdivN
move r1,#5
str r1,[r0]
mrc p15,0,r1,c1,c0,0
orr r1,r1,#0xc0000000
mcr p15,0,r1,c1,c0,0
mov r1,#CLK_CTL_BASE
mov r2,#UPLL_Mdiv_48
add r2,r2,#UPLL_PSdiv_48
str r2,[r1,#0x08]
mov r2,#Mdiv_405
add r2,r2,#PSdiv_405
str r2,[r1,#0x04]
#else
ldr r0,=CLKdivN
mov r1,#3
str r1,[r0]
mrc p15,0,r1,c1,c0,0
orr r1,r1,#0xc0000000
mcr p15,0,r1,c1,c0,0
mov r1,#CLK_CTL_BASE
mov r2,#Mdiv_200
add r2,r2,#PSdiv_200
str r2,[r1,#0x04]
#endif
#endif
4.修改/cpu/arm/s3c24x0/interrupts.c,加入对2440的支持
(1)在第33行左右,修改
#if defined(CONFIG_S3C2400) || defined (CONFIG_S3C2410) || defined(CONFIG_S3C2440) || defined (CONFIG_TRAB)
(2)在第40行左右,修改
#elif defined(CONFIG_S3C2410)||defined(CONFIG_S3C2440)
(3)在get_tbclk()函数中修改
#elif defined(CONFIG_SBC2410X) ||
#else
5.修改/cpu/arm/s3c24x0/speed.c
#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)
在代码:
的后面添加:
#if defined(CONFIG_S3C2440)
#endif
}
(3)修改函数get_HCLK()
ulong get_HCLK(void)
{
#if defined(CONFIG_S3C2440)
#else
return((clk_power->CLKdivN&0x02)?get_FCLK()/2:get_FCLK());
#endif
}
6.修改/include/asm-arm/mach-types.h
#define MACH_TYPE_MINI2440
7.修改cpu/arm920t/s3c24x0/serial.c
mini2440开发板u-boot移 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)