移植u-boot到mini2440--添加开发板

  我们用的是mini2440开发板

1> 首先创建一个目录: board/samsung/mini2440/
然后把 board/samsung/smdk2410/ 目录下的文件全部拷贝过去。
把 smdk2410.c 修改为 mini2440.c
把 Kconfig Makefile 文件里面对应的 smdk2410 修改为mini2440。

2> 拷贝 include/configs/smdk2410.h 为 include/configs/mini2440.h ,注意添加s3c2440的宏定义

3> configs/smdk2410_defconfig 为 configs/mini2440_defconfig , CONFIG_SYS_PROMPT 已经不再使用而是在 make menuconfig 的时候从配置里面配置。

4> 在文件 arch/arm/Kconfig 添加:

config TARGET_MINI2440
        bool "Support mini2440"
        select CPU_ARM920T
        select SUPPORT_SPL
source "board/samsung/mini2440/Kconfig"

5> 在 arch/arm/include/asm/mach-types.h 添加内容:

#ifdef CONFIG_ARCH_MINI2440
# ifdef machine_arch_type
# undef machine_arch_type
# define machine_arch_type __machine_arch_type
# else
# define machine_arch_type MACH_TYPE_MINI2440
# endif
# define machine_is_mini2440() (machine_arch_type == MACH_TYPE_MINI2440)
#else
# define machine_is_mini2440() (0)
#endif

  然后尝试下 make menuconfig 吧(不知从哪个版本开始 u-boot也仿像内核一样开始用menuconfig 来配置了):
这里说下几个配置
移植u-boot到mini2440--添加开发板_第1张图片

  首先在第一个选项 Architecture select 配置为arm 架构:
移植u-boot到mini2440--添加开发板_第2张图片

  然后在 Target select 选择mini2440 的板子:
移植u-boot到mini2440--添加开发板_第3张图片

  然后就是 u-boot的命令行提示符了,这个以前是在 配置文件里面的,现在改动到配置菜单里了:

Command line interface  --->
        Shell prompt

移植u-boot到mini2440--添加开发板_第4张图片

退出配置,编译:

make CROSS_COMPILE=arm-linux-

  注意上面的make之后一定要加上后缀

CROSS_COMPILE=arm-linux-

  不然就会出现错误:

error: bad value (armv4) for -mtune= switch

OK,最后没有任何编译或者链接上的错误:
移植u-boot到mini2440--添加开发板_第5张图片

这里要说一下平时工作用到的一个命令:

arm-linux-objdump -D -m arm u-boot > u-boot.dis

这个命令可以得到最后生成的 ELF 文件对应的汇编指令。对于调错很有帮助。

上面提到的文件可以下载:
https://www.dropbox.com/sh/zwl5w1blej6snwm/AAC2cDB2j2IrifuKHJZ83RZta?dl=0

你可能感兴趣的:(移植,mini2440,u-boot,s3c2440)