在工作之余显得有点无聊,就想着将u-boot-2016.11移植到TINY4412上试一试,下面是自己的移植过程,也当作一个学习笔记吧,记录记录下步骤和自己解决问题的过程。
移植之前也看了一写博客,因为想支持uboot的spl,所以就选择origen左右模板移植一个uboot到tiny4412上
1. 首先我们在终端上通过find -name "*origen*" 看和origen相关的文件有哪些,然后将这些文件或者文件夹复制成TINY4412。
上面的图修正一下, ./board/samsung/tiny4412/tools/tiny4412.c 重命名为mktiny4412spl.c
2. 修改相关文件的内容
这一步其实也很简单,我们这边在终端通过 grep -insr "origen" 查看和origen相关的内容,然后模仿origen,将origen字眼改成tiny4412即可。
2.1 修改顶层目录的makefile
diff --git a/Makefile b/Makefile
index 8ca1db5..c65f484 100644
--- a/Makefile
+++ b/Makefile
@@ -246,6 +246,9 @@ ifeq ($(HOSTARCH),$(ARCH))
CROSS_COMPILE ?=
endif
+ARCH ?= arm
+CROSS_COMPILE ?= arm-none-eabi-
+
KCONFIG_CONFIG ?= .config
export KCONFIG_CONFIG
2.2 修改exynos4210-tiny4412.dts文件并将其添加到makefile文件中
----- arch/arm/dts/exynos4210-tiny4412.dts
diff --git a/arch/arm/dts/exynos4210-tiny4412.dts b/arch/arm/dts/exynos4210-tiny4412.dts
index 26c4d7f..a4fe14f 100644
--- a/arch/arm/dts/exynos4210-tiny4412.dts
+++ b/arch/arm/dts/exynos4210-tiny4412.dts
@@ -1,5 +1,5 @@
/*
- * Samsung's Exynos4210 based Origen board device tree source
+ * Tiny4412 board device tree source
*
* Copyright (c) 2014 Samsung Electronics Co., Ltd.
* http://www.samsung.com
@@ -9,22 +9,29 @@
/dts-v1/;
#include "skeleton.dtsi"
-#include "exynos4210.dtsi"
+//#include "exynos4210.dtsi"
+#include "exynos4412.dtsi"
/ {
- model = "Insignal Origen evaluation board based on Exynos4210";
- compatible = "insignal,origen", "samsung,exynos4210";
+ model = "Insignal Tiny4412 evaluation board based on Exynos4412";
+ compatible = "insignal,tiny4412", "samsung,exynos4412";
chosen {
bootargs ="";
+ /* 设置uart0作为终端 */
+ stdout-path="serial0";
};
aliases {