X-003 FriendlyARM tiny4412 uboot移植之添加相应目录文件

Posted LoTGu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了X-003 FriendlyARM tiny4412 uboot移植之添加相应目录文件相关的知识,希望对你有一定的参考价值。

 

X-003 FriendlyARM tiny4412 uboot移植之添加相应目录文件

 

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 

开发环境:win7 64 + VMware12 + Ubuntu14.04 64

工具链:linaro提供的gcc-linaro-6.1.1-2016.08-x86_64_arm-linux-gnueabi

要移植的u-boot版本:u-boot-2016-11

Tiny4412开发板硬件版本为

  底板:  Tiny4412/Super4412SDK 1506

    核心板:Tiny4412 - 1412

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 

 

  u-boot/board/samsung目录下基于exynos4412的开发板有:origenodroidtratstrats2,但是只有origen支持spl配置,根据exynos4412芯片启动的特点,选择origen作为参考比较合适。

 

一、参考origenu-boot中的代码结构添加tiny4412的目录和配置文件

1、添加tiny4412 板级目录

mkdir -p board/samsung/tiny4412

mkdir -p board/samsung/tiny4412/tools

 

2、添加tiny4412 配置文件

touch board/samsung/tiny4412/tiny4412.c

touch board/samsung/tiny4412/Kconfig

touch board/samsung/tiny4412/MAINTAINERS

touch board/samsung/tiny4412/Makefile

touch board/samsung/tiny4412/tools/mktiny4412spl.c

touch include/configs/tiny4412.h

touch configs/tiny4412_defconfig

touch arch/arm/dts/exynos4412-tiny4412.dts

 

3、修改、添加tiny4412 相关文件

    

    3.1 添加board/samsung/tiny4412/tiny4412.c

diff --git a/board/samsung/tiny4412/tiny4412.c b/board/samsung/tiny4412/tiny4412.c

new file mode 100644

index 0000000..547dd45

--- /dev/null

+++ b/board/samsung/tiny4412/tiny4412.c

@@ -0,0 +1,40 @@

+/*

+ *         2016

+ * Author AP0904225 <ap0904225@qq.com>

+ *

+ *

+ * SPDX-License-Identifier:    GPL-2.0+

+ */

+

+#include <common.h>

+#include <asm/io.h>

+#include <asm/gpio.h>

+#include <asm/arch/cpu.h>

+#include <asm/arch/mmc.h>

+#include <asm/arch/periph.h>

+#include <asm/arch/pinmux.h>

+#include <usb.h>

+

+DECLARE_GLOBAL_DATA_PTR;

+

+u32 get_board_rev(void)

+{

+   return 0;

+}

+

+int exynos_init(void)

+{

+   return 0;

+}

+

+int board_usb_init(int index, enum usb_init_type init)

+{

+   return 0;

+}

+

+#ifdef CONFIG_BOARD_EARLY_INIT_F

+int exynos_early_init_f(void)

+{

+   return 0;

+}

+#endif

   

    3.2 添加board/samsung/tiny4412/tools/mktiny4412spl.c

diff --git a/board/samsung/tiny4412/tools/mktiny4412spl.c b/board/samsung/tiny4412/tools/mktiny4412spl.c

new file mode 100644

index 0000000..c3a3e29

--- /dev/null

+++ b/board/samsung/tiny4412/tools/mktiny4412spl.c

@@ -0,0 +1,104 @@

+/*

+ *       2016

+ *  Author  AP0904225 <ap0904225@qq.com>

+ *

+ * SPDX-License-Identifier:    GPL-2.0+

+ */

+

+#include <stdio.h>

+#include <stdlib.h>

+#include <unistd.h>

+#include <fcntl.h>

+#include <errno.h>

+#include <string.h>

+#include <sys/stat.h>

+

+#define BUFSIZE            (16*1024)

+#define IMG_SIZE       ( (14*1024)- 4 )

+#define FILE_PERM      (S_IRUSR | S_IWUSR | S_IRGRP \\

+               | S_IWGRP | S_IROTH | S_IWOTH)

+/*

+* Requirement:

+* IROM code reads first 14K bytes from boot device.

+* It then calculates the checksum of 14K-4 bytes and compare with data at

X-004 FriendlyARM tiny4412 uboot移植之点亮指路灯

X-005 FriendlyARM tiny4412 uboot移植之时钟初始化

X-007 FriendlyARM tiny4412 u-boot移植之内存初始化

X-006 FriendlyARM tiny4412 u-boot移植之Debug串口用起来

FriendlyARM Tiny6410-Fedora14-QtSDK-Qt4.7交叉编译环境的建立

X-009 FriendlyARM tiny4412 uboot移植之SD Card用起来Kernel boot起来

(c)2006-2024 SYSTEM All Rights Reserved IT常识