U-BOOT-2016.07移植 (第二篇) 添加单板

U-BOOT-2016.07移植 (第一篇) 初步分析

U-BOOT-2016.07移植 (第二篇) 添加单板

U-BOOT-2016.07移植 (第三篇) 代码重定位

目录

1. 编译和移植环境

编译环境:Ubuntu9.10
交叉编译工具:arm-linux-gcc 4.4.3
u-boot版本号:2016.07

移植目标单板信息: JZ2440v2
                CPU: S3C2440
                NAND: K9F2G08U0C
                NOR:  MX29LV160DBTI
                网卡:DM9000A
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
save_snippets.png

2. 在board中创建单板目录

由于u-boot-2016.07支持S3C2410开发板,所以我们可以直接将S3C2410的单板相关文件都复制为S3C2440的

cd board/samsung/
cp smdk2410 -r smdk2440
  • 1
  • 2
save_snippets_01.png
  • 修改Kconfig文件
if TARGET_SMDK2440

config SYS_BOARD
        default "smdk2440"

config SYS_VENDOR
        default "samsung"

config SYS_SOC
        default "s3c24x0"

config SYS_CONFIG_NAME
        default "smdk2440"

endif
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
save_snippets.png
  • 修改MAINTAINERS文件
SMDK2440 BOARD
M:      David Müller <d.mueller@elsoft.ch>
S:      Maintained
F:      board/samsung/smdk2440/
F:      include/configs/smdk2440.h
F:      configs/smdk2440_defconfig
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
save_snippets.png
  • 修改Makefile
obj-y   := smdk2440.o
obj-y   += lowlevel_init.o
  • 1
  • 2
save_snippets.png
  • 将smdk2410.c改名为smdk2440.c
    mv smdk2410.c smdk2440.c

3. 创建单板相关头文件

同样,我们将include/configs/目录下的smdk2410.h文件复制为smdk2440.h

cd include/config
cp smdk2410.h smdk2440.h
  • 1
  • 2
save_snippets.png
  • 修改smdk2440.h前面几行的几个配置选项

#define CONFIG_S3C2410 /* specifically a SAMSUNG S3C2410 SoC */
#define CONFIG_S3C2440 /* specifically a SAMSUNG S3C2440 SoC */

#define CONFIG_SMDK2410 /* on a SAMSUNG SMDK2410 Board */
#define CONFIG_SMDK2440 /* on a SAMSUNG SMDK2440 Board */

4. 创建defconfig文件

在我写的前一篇文章中,在分析Makefile的时候,我们知道配置单板的时候,需要用到configs/%_defconfig 文件,所以我们也将smdk2410_defconfig复制过来

cd configs/
cp smdk2410_defconfig smdk2440_defconfig
  • 1
  • 2
save_snippets.png
  • 修改smdk2440_defconfig
CONFIG_ARM=y
CONFIG_TARGET_SMDK2440=y
CONFIG_BOOTDELAY=5
CONFIG_HUSH_PARSER=y
CONFIG_SYS_PROMPT="SMDK2440 # "
CONFIG_CMD_USB=y
# CONFIG_CMD_SETEXPR is not set
CONFIG_CMD_DHCP=y
CONFIG_CMD_PING=y
CONFIG_CMD_CACHE=y
CONFIG_CMD_EXT2=y
CONFIG_CMD_FAT=y
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
save_snippets.png

5. 修改arch/arm/Kconfig文件

vi arch/arm/Kconfig

添加以下内容:

config TARGET_SMDK2440
    bool "Support smdk2440"
    select CPU_ARM920T

source "board/samsung/smdk2440/Kconfig"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
save_snippets.png

6. 尝试配置并编译

在做完上述步骤的时候,我们就完成了S3C2440单板的添加,虽然都是复制S3C2410的,但我们只要在S3C2410的配置文件基础上进行修改即可

make smdk2440_config

make
  • 1
  • 2
  • 3
save_snippets.png

以上就是U-BOOT-2016.07添加S3C2440单板配置文件的方法,接下来就是修改代码移植了。

发布了17 篇原创文章 · 获赞 3 · 访问量 3555

U-BOOT-2016.07移植 (第一篇) 初步分析

U-BOOT-2016.07移植 (第二篇) 添加单板

U-BOOT-2016.07移植 (第三篇) 代码重定位

目录

1. 编译和移植环境

编译环境:Ubuntu9.10
交叉编译工具:arm-linux-gcc 4.4.3
u-boot版本号:2016.07

移植目标单板信息: JZ2440v2
                CPU: S3C2440
                NAND: K9F2G08U0C
                NOR:  MX29LV160DBTI
                网卡:DM9000A
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
save_snippets.png

2. 在board中创建单板目录

由于u-boot-2016.07支持S3C2410开发板,所以我们可以直接将S3C2410的单板相关文件都复制为S3C2440的

cd board/samsung/
cp smdk2410 -r smdk2440
  • 1
  • 2
save_snippets_01.png
  • 修改Kconfig文件
if TARGET_SMDK2440

config SYS_BOARD
        default "smdk2440"

config SYS_VENDOR
        default "samsung"

config SYS_SOC
        default "s3c24x0"

config SYS_CONFIG_NAME
        default "smdk2440"

endif
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
save_snippets.png
  • 修改MAINTAINERS文件
SMDK2440 BOARD
M:      David Müller <d.mueller@elsoft.ch>
S:      Maintained
F:      board/samsung/smdk2440/
F:      include/configs/smdk2440.h
F:      configs/smdk2440_defconfig
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
save_snippets.png
  • 修改Makefile
obj-y   := smdk2440.o
obj-y   += lowlevel_init.o
  • 1
  • 2
save_snippets.png
  • 将smdk2410.c改名为smdk2440.c
    mv smdk2410.c smdk2440.c

3. 创建单板相关头文件

同样,我们将include/configs/目录下的smdk2410.h文件复制为smdk2440.h

cd include/config
cp smdk2410.h smdk2440.h
  • 1
  • 2
save_snippets.png
  • 修改smdk2440.h前面几行的几个配置选项

#define CONFIG_S3C2410 /* specifically a SAMSUNG S3C2410 SoC */
#define CONFIG_S3C2440 /* specifically a SAMSUNG S3C2440 SoC */

#define CONFIG_SMDK2410 /* on a SAMSUNG SMDK2410 Board */
#define CONFIG_SMDK2440 /* on a SAMSUNG SMDK2440 Board */

4. 创建defconfig文件

在我写的前一篇文章中,在分析Makefile的时候,我们知道配置单板的时候,需要用到configs/%_defconfig 文件,所以我们也将smdk2410_defconfig复制过来

cd configs/
cp smdk2410_defconfig smdk2440_defconfig
  • 1
  • 2
save_snippets.png
  • 修改smdk2440_defconfig
CONFIG_ARM=y
CONFIG_TARGET_SMDK2440=y
CONFIG_BOOTDELAY=5
CONFIG_HUSH_PARSER=y
CONFIG_SYS_PROMPT="SMDK2440 # "
CONFIG_CMD_USB=y
# CONFIG_CMD_SETEXPR is not set
CONFIG_CMD_DHCP=y
CONFIG_CMD_PING=y
CONFIG_CMD_CACHE=y
CONFIG_CMD_EXT2=y
CONFIG_CMD_FAT=y
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
save_snippets.png

5. 修改arch/arm/Kconfig文件

vi arch/arm/Kconfig

添加以下内容:

config TARGET_SMDK2440
    bool "Support smdk2440"
    select CPU_ARM920T

source "board/samsung/smdk2440/Kconfig"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
save_snippets.png

6. 尝试配置并编译

在做完上述步骤的时候,我们就完成了S3C2440单板的添加,虽然都是复制S3C2410的,但我们只要在S3C2410的配置文件基础上进行修改即可

make smdk2440_config

make
  • 1
  • 2
  • 3
save_snippets.png

以上就是U-BOOT-2016.07添加S3C2440单板配置文件的方法,接下来就是修改代码移植了。

猜你喜欢

转载自blog.csdn.net/sgy1993/article/details/78256604