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的开发板有:origen、odroid、trats、trats2,但是只有origen支持spl配置,根据exynos4412芯片启动的特点,选择origen作为参考比较合适。
一、参考origen在u-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串口用起来 |