U-boot 2016.11移植到ARM926EJS -- 搭建篇

从官网下载u-boot的程序:ftp://ftp.denx.de/pub/u-boot/

1:添加与修改板级文件

所在目录 board
例如对比:

u-boot-2016.11/board/samsung/smdk2410

1.1在board目录下创建,厂商文件夹,芯片文件夹

/u-boot-2016.11/board/nuvoton/nuc970

将smdk2410内容复制到nuc970下进行修改
在这里插入图片描述

1.2 修改Makefie,把smdk2410.o 换成nuc970.o

#
# (C) Copyright 2000-2006
# Wolfgang Denk, DENX Software Engineering, [email protected].
#
# SPDX-License-Identifier:      GPL-2.0+
#

obj-y   := nuc970.o
#obj-y  += lowlevel_init.o
~                           

1.3 修改Kconfig

if TARGET_NUC970
  
config SYS_BOARD
        default "nuc970"

config SYS_VENDOR
        default "nuvoton"

config SYS_SOC
        default "nuc970"

config SYS_CONFIG_NAME
        default "nuc970_evb"

config NUC970
        bool
        default y

endif

TARGET_NUC970:新的配置名称,会在u-boot-2016.11/cofigs 下的配置文件重声明。如果声明了。下面的定义就起作用
SYS_BOARD:要和board目录下的厂家文件夹名字一样
SYS_VENDOR:要和厂家文件夹下芯片文件夹名字一样
SYS_SOC:这个名称是你cpu的对应型号下放的文件夹的名称,u-boot-2016.11/arch/arm/cpu/armS926ejs/nuc970
SYS_CONFIG_NAME:这个时配置文件要i和iu-boot-2016.11/include/configs 存放的.h文件名称一样

2.添加配置文件

在u-boot-2016.11/configs,添加配置文件
在这里插入图片描述
这个配置文件的名字,在开始make时要使用 :

make nuc970_defconfig

这样的话在这个里面定义的宏就会生效

CONFIG_ARM=y  //配置arm架构
CONFIG_NUC970=y 
CONFIG_TARGET_NUC970=y  //这个会让板级文件的下的Kconfig生效
CONFIG_SYS_NO_FLASH=y
CONFIG_BOOTDELAY=3 //设置的u-boot下倒计时进内核的时间

CONFIG_SYS_HZ=1000
CONFIG_CMD_TIMER=y
CONFIG_CMD_PING=y
CONFIG_CMD_DHCP=y
CONFIG_CMD_JFFS2=y

CONFIG_SPL=y
CONFIG_NAND_NUC970=y
CONFIG_CMD_NAND=y
CONFIG_CMD_UBI=y

#CONFIG_MMC=y
#CONFIG_GENERIC_MMC=y
#CONFIG_NUC970_MMC=y
#CONFIG_CMD_MMC=y
#CONFIG_NUC970_SD_PORT0=y
#CONFIG_NUC970_EMMC=y

CONFIG_NUC970_CONSOLE=y
CONFIG_HUSH_PARSER=y
CONFIG_NETDEVICES=y
CONFIG_NUC970_EMAC0=y
CONFIG_NUC970_ETH=y
CONFIG_NUC970_PHY_ADDR=1
CONFIG_NUC970_GPIO=y
CONFIG_LCD=y
CONFIG_NUC970_LCD=y
CONFIG_LCD_E50A2V1=y
CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y
CONFIG_CONSOLE_SCROLL_LINES=1

#CONFIG_NUC970_SPI=y

3.添加芯片配置文件

目录在:\u-boot-2016.11\include\configs\nuc970_evb.h
这个文件主要定义了一些,镜像要下载的地址,外部晶振频率,CPU信息, 串口波特率,网络功能,环境变量空间等相关信息

4,添加CPU相关代码

主要目录u-boot-2016.11/arch/arm/

4.1 修改这个目录下的Kconfig

添加配置CPU架构
在这里插入图片描述

包含板级下的Kconfig
在这里插入图片描述

4.2 添加CPU下的对应架构下的CPU目录

例如:arm926ejs下添加的CPU文件加nuc970,这个和上面板级文件的Kconfig中的SYS_SOC的名字是一样的。

这个目录下一般有cpu的信息文件,重定位文件,reset和时钟文件
在这里插入图片描述

添加上面的文件后,还要再arm926ejs文件下的Makefile中添加一行来编译这个文件夹下的所有c文件
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章