uboot 的初步移植
2013-08-31 16:13
141 查看
两个地方需要注意:
1,/linux/uboot/u-boot-2013.04-rc1/board/samsung/smdk6400
2,/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx
没有6410,只能在6400的基础上进行修改.
1,修改Makefile
#########################################################################
## ARM1176 Systems
#########################################################################
smdk6410_noUSB_config \
smdk6410_config :unconfig
@mkdir -p $(obj)include $(obj)board/samsung/smdk6410
@mkdir -p $(obj)nand_spl/board/samsung/smdk6410
@echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h
@echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
@if [ -z "$(findstring smdk6410_noUSB_config,$@)" ]; then\
echo "RAM_TEXT = 0x57e00000" >> $(obj)board/samsung/smdk6410/config.tmp;\
else \
echo "RAM_TEXT = 0xc7e00000" >> $(obj)board/samsung/smdk6410/config.tmp;\
fi
@$(MKCONFIG) smdk6410 arm arm1176 smdk6410 samsung s3c64xx
@echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
#########################################################################
2,创建文件夹
cd/board/samsung
mkdir smdk6410
3,复制6400的文件给6410
cp * /smdk6410
总这6个文件:
config.mk
Makefile
smdk6400_nand_spl.c
lowlevel_init.S
smdk6400.c
u-boot-nand.lds
3,修改文件名字为6410
使用rename
rename 's/6400/6410/' *
使用mv
mv smdk6400_nand_spl.c smdk6410_nand_spl.c
mv smdk6400.c smdk6410.c
4,修改
a), smdk6410.c 里边的6410的信息
b), Makefile里边的6410的信息
5,建立nand_flash的代码
nand_spl ( /linux/uboot/u-boot-2013.04-rc1/nand_spl/board/samsung/smdk6400$ )
复制smdk6400的代码,到smdk6410中,然后修改Makefile
6,修改 smdk6410.c 里边的头文件 #include <asm/arch/s3c6400.h> 的.h文件
位置在 : ~/linux/uboot/u-boot-2013.04-rc1/arch/arm/include/asm/arch-s3c64xx$
cp s3c6400.h s3c6410.h
然后修改 s3c6410.h的文件
位置1: physical memory map
7,修改cpu的东西
~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx$
修改Makefile
COBJS-$(CONFIG_S3C6400) += cpu_init.o speed.o
添加一条
COBJS-$(CONFIG_S3C6410) += cpu_init.o speed.o
8,修改smdk6400.h
~/linux/uboot/u-boot-2013.04-rc1/include/configs$
cp smdk6400.h smdk6410.h
其他的6400改为6410
修改ddr的大小 : phys_SDRAM_1_size 0x08000000
9,修改 smdk6410_nand_spl.c
位置 : ~/linux/uboot/u-boot-2013.04-rc1/board/samsung/smdk6410$
全部换成6410
10,修改cpu_init.S
位置 : ~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx$
11, 修改 reset.S
位置 : ~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx$
11.1 speed.c
~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx$
11.2 timer.c
~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx$
12, 修改 s3c64xx-hcd.c
位置 : ~/linux/uboot/u-boot-2013.04-rc1/drivers/usb/host$
13, 修改 s3c64xx.c
位置 : ~/linux/uboot/u-boot-2013.04-rc1/drivers/mtd/nand$
14, s3c64xx.c
~/linux/uboot/u-boot-2013.04-rc1/drivers/serial$
15,尝试编译一下
make smdk6410_config
make all
16,保留6400的架构,需要做的修改
~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx/cpu_init.S
~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx/reset.S
~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx/speed.c
~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx/timer.c
~/linux/uboot/u-boot-2013.04-rc1/drivers/usb/host$ / s3c64xx-hcd.c
~/linux/uboot/u-boot-2013.04-rc1/drivers/mtd/nand$ s3c64xx.c
~/linux/uboot/u-boot-2013.04-rc1/drivers/serial$ s3c64xx.c
#indef CONFIG_S3C6400
#include <asm/arch/s3c6400.h>
#else
#include <asm/arch/s3c6410.h>
#endif
17,修改speed.c 里边的代码
18, common.h
~/linux/uboot/u-boot-2013.04-rc1/include$
添加6410的config_6410
defiend(CONFIG_S3C6410) || \
19, ohci-hcd.c
~/linux/uboot/u-boot-2013.04-rc1/drivers/usb/host$
defiend(CONFIG_S3C6410) || \
20,再去编译
先清除一下 : make distclean
21,错误 处理
a)
arm-linux-ld : u-boot.lds : 19 : syntax error
~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx/
arm-linux-ld.lds
aligh 的大小写
b) u-boot-spl
~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx/ Makefile
在S(obj start.S)后添加
S(obj) crt0.S:
tab键 @rm -f $@
@ln -s $(TOPDIR)/arch/arm/cpu/arm1176/start.S $@
c)
~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx/ Makefile
添加 start.o
1,/linux/uboot/u-boot-2013.04-rc1/board/samsung/smdk6400
2,/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx
没有6410,只能在6400的基础上进行修改.
1,修改Makefile
#########################################################################
## ARM1176 Systems
#########################################################################
smdk6410_noUSB_config \
smdk6410_config :unconfig
@mkdir -p $(obj)include $(obj)board/samsung/smdk6410
@mkdir -p $(obj)nand_spl/board/samsung/smdk6410
@echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h
@echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
@if [ -z "$(findstring smdk6410_noUSB_config,$@)" ]; then\
echo "RAM_TEXT = 0x57e00000" >> $(obj)board/samsung/smdk6410/config.tmp;\
else \
echo "RAM_TEXT = 0xc7e00000" >> $(obj)board/samsung/smdk6410/config.tmp;\
fi
@$(MKCONFIG) smdk6410 arm arm1176 smdk6410 samsung s3c64xx
@echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
#########################################################################
2,创建文件夹
cd/board/samsung
mkdir smdk6410
3,复制6400的文件给6410
cp * /smdk6410
总这6个文件:
config.mk
Makefile
smdk6400_nand_spl.c
lowlevel_init.S
smdk6400.c
u-boot-nand.lds
3,修改文件名字为6410
使用rename
rename 's/6400/6410/' *
使用mv
mv smdk6400_nand_spl.c smdk6410_nand_spl.c
mv smdk6400.c smdk6410.c
4,修改
a), smdk6410.c 里边的6410的信息
b), Makefile里边的6410的信息
5,建立nand_flash的代码
nand_spl ( /linux/uboot/u-boot-2013.04-rc1/nand_spl/board/samsung/smdk6400$ )
复制smdk6400的代码,到smdk6410中,然后修改Makefile
6,修改 smdk6410.c 里边的头文件 #include <asm/arch/s3c6400.h> 的.h文件
位置在 : ~/linux/uboot/u-boot-2013.04-rc1/arch/arm/include/asm/arch-s3c64xx$
cp s3c6400.h s3c6410.h
然后修改 s3c6410.h的文件
位置1: physical memory map
7,修改cpu的东西
~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx$
修改Makefile
COBJS-$(CONFIG_S3C6400) += cpu_init.o speed.o
添加一条
COBJS-$(CONFIG_S3C6410) += cpu_init.o speed.o
8,修改smdk6400.h
~/linux/uboot/u-boot-2013.04-rc1/include/configs$
cp smdk6400.h smdk6410.h
其他的6400改为6410
修改ddr的大小 : phys_SDRAM_1_size 0x08000000
9,修改 smdk6410_nand_spl.c
位置 : ~/linux/uboot/u-boot-2013.04-rc1/board/samsung/smdk6410$
全部换成6410
10,修改cpu_init.S
位置 : ~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx$
11, 修改 reset.S
位置 : ~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx$
11.1 speed.c
~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx$
11.2 timer.c
~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx$
12, 修改 s3c64xx-hcd.c
位置 : ~/linux/uboot/u-boot-2013.04-rc1/drivers/usb/host$
13, 修改 s3c64xx.c
位置 : ~/linux/uboot/u-boot-2013.04-rc1/drivers/mtd/nand$
14, s3c64xx.c
~/linux/uboot/u-boot-2013.04-rc1/drivers/serial$
15,尝试编译一下
make smdk6410_config
make all
16,保留6400的架构,需要做的修改
~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx/cpu_init.S
~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx/reset.S
~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx/speed.c
~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx/timer.c
~/linux/uboot/u-boot-2013.04-rc1/drivers/usb/host$ / s3c64xx-hcd.c
~/linux/uboot/u-boot-2013.04-rc1/drivers/mtd/nand$ s3c64xx.c
~/linux/uboot/u-boot-2013.04-rc1/drivers/serial$ s3c64xx.c
#indef CONFIG_S3C6400
#include <asm/arch/s3c6400.h>
#else
#include <asm/arch/s3c6410.h>
#endif
17,修改speed.c 里边的代码
18, common.h
~/linux/uboot/u-boot-2013.04-rc1/include$
添加6410的config_6410
defiend(CONFIG_S3C6410) || \
19, ohci-hcd.c
~/linux/uboot/u-boot-2013.04-rc1/drivers/usb/host$
defiend(CONFIG_S3C6410) || \
20,再去编译
先清除一下 : make distclean
21,错误 处理
a)
arm-linux-ld : u-boot.lds : 19 : syntax error
~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx/
arm-linux-ld.lds
aligh 的大小写
b) u-boot-spl
~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx/ Makefile
在S(obj start.S)后添加
S(obj) crt0.S:
tab键 @rm -f $@
@ln -s $(TOPDIR)/arch/arm/cpu/arm1176/start.S $@
c)
~/linux/uboot/u-boot-2013.04-rc1/arch/arm/cpu/arm1176/s3c64xx/ Makefile
添加 start.o
相关文章推荐
- uboot-2012.04.01移植到mini2440(一)启动流程、内存分布及重定位初步分析
- OK6410(256MRAM2Gnandflash) uboot2010.03移植笔记之error小结
- uboot移植问题一:gcc is older than 6.0
- uboot移植准备工作二
- 从官方源码移植uboot(Exynos4412)
- uboot网络移植成功,tftp能用。
- uboot移植记录之三
- uboot2010-10移植——(一)
- uboot移植之tag传参
- uboot 在 ARM s3c2410 上移植过程
- 移植1- 裸写BL1,启动uboot
- uboot移植问题
- 对韦东山老师移植最新uboot的总结
- uboot移植之命令烧写uboot,zImage.img,root .
- uboot2010.06移植之从nor flash启动分析
- uboot初步学习
- uboot2010.3移植tiny6410
- uboot移植到mini2440
- uboot移植到S3C44B0X开发板的经历
- uboot在2440上的移植