打印

u-boot移植步骤之建立适合的board平台

[复制链接]
175|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
冰糖炖雪梨|  楼主 | 2018-9-27 12:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
U-Boot移植粗略步骤 (根据自己的开发板做,但是步骤都差不多)

为了使U-Boot支持新的开发板,一种简便的做法是在U-Boot已经支持的开发板中选择一种和目标板接近的,并在其基础上进行修改。代码修改的步骤如下:

1)在board目录下创建smdk2410目录,添加smdk2410.c、flash.c、memsetup.s、u-boot.lds和config.mk等;

2)在cpu目录下创建arm920t目录,主要包含start.s、interrupts.c、cpu.c、serial.c和speed.c等文件;

3)在include/configs目录下添加smdk2410.h,它定义了全局的宏定义等;

4)修改u-boot根目录下的Makefile文件:

smdk2410_config : unconfig@./mkconfig $(@:_config=) arm arm920t smdk2410

5)运行make smdk2410_config,如果没有错误,就可以开始进行与硬件相关的代码移植工作。由于这部分代码与硬件紧密相关,所以要熟悉开发板的硬件配置,可参考各芯片的用户手册。





详细的步骤说明:

参照board/smdk2410目录,我们在源码的board下建立自己的自己的平台gec2410,步骤如下.

1 修改顶层Makefile

cd /root/build_uboot/u-boot

vi Makefile找到:

smdk2410_config : unconfig

@./mkconfig $(@:_config=) arm arm920t smdk2410 NULL s3c24x0

在其后面添加:

gec2410_config : unconfig

@./mkconfig $(@:_config=) arm arm920t gec2410 NULL s3c24x0各项的意思如下:arm:          CPU的架构(ARCH)arm920t: CPU的类型(CPU),其对应于cpu/arm920t子目录。gec2410: 开发板的型号(BOARD),对应于board/gec2410目录。NULL:         开发者/或经销商(vender)。s3c24x0: 片上系统(SOC)。 我把我的板子起名叫gec2410,可以依自己的喜好修改

2 建立board/gec2410目录,

拷贝board/smdk2410下的文件到board/gec2410目录,

将smdk2410.c更名为gec2410.c

cp -r board/smdk2410 board/gec2410 3

修改board/gec2410/Makefile将:

OBJS    := smdk2410.o flash.o

改为:

OBJS      := gec2410.o flash.o

4      cp include/configs/smdk2410.h include/configs/gec2410.h

5    修改

cpu/arm920t/config.mk

文件将:

PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu)

改为:

PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,$(call cc-option,-mabi=apcs-gnu),)

6  设置交叉编译环境变量

export PATH=/usr/local/arm/2.95.3/bin:$PATH 7  

测试编译能否成功:

make gec2410_config

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

430

主题

436

帖子

0

粉丝