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文件
在這裏插入圖片描述

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