关键词:
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
开发环境: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
Git仓库地址:https://github.com/X-Project-FriendlyARMTiny4412/u-boot
Tiny4412开发板硬件版本为:
底板: Tiny4412/Super4412SDK 1506
核心板:Tiny4412 - 1412
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
在上一节中我们已经完成了把u-boot.bin从SD卡上拷贝到DDR内存,并跳转到DDR内存中去执行u-boot的工作。这节仅先记录下如何把SDCard用起来,并且把Kernelboot起来的一些具体的操作,详细分析后面再写。
1、Tiny4412 SDCard用起来
代码修改如下:
diff --git a/arch/arm/dts/exynos4412-tiny4412.dts b/arch/arm/dts/exynos4412-tiny4412.dts index a467250..3010f50 100644 --- a/arch/arm/dts/exynos4412-tiny4412.dts +++ b/arch/arm/dts/exynos4412-tiny4412.dts @@ -1,29 +1,135 @@ /* - * FriendlyARM Tiny4412 board device tree source - * + * FriendlyARM's Exynos4412 based TINY4412 board device tree source * 2016 * Author AP0904225 <ap0904225@qq.com> * - * SPDX-License-Identifier: GPL-2.0+ - */ + * Device tree source file for FriendlyARM's TINY4412 board which is based on + * Samsung's Exynos4412 SoC. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * SPDX-License-Identifier: GPL-2.0+ + * +*/
/dts-v1/; #include "exynos4412.dtsi"
/ { - model = "Tiny4412 based on Exynos4412"; - compatible = "samsung,tiny4412", "samsung,exynos4412"; - - chosen { - stdout-path = "serial0"; - }; + model = "FriendlyARM TINY4412 board based on Exynos4412"; + compatible = "friendlyarm,tiny4412", "samsung,exynos4412", "samsung,exynos4";
aliases { serial0 = "/serial@13800000"; console = "/serial@13800000"; + mmc2 = "/sdhci@12530000"; + mmc4 = "/dwmmc@12550000"; };
- serial0:serial@13810000 { + memory { + reg = <0x40000000 0x40000000>; + }; + + serial0:serial@13800000 { status = "okay"; }; + + serial1:serial@13810000 { + status = "disabled"; + }; + + serial2:serial@13820000 { + status = "disabled"; + }; + + serial3:serial@13830000 { + status = "disabled"; + }; + + serial4:serial@13840000 { + status = "disabled"; + }; + + i2c@13860000 { + status = "disabled"; + }; + + i2c@13870000 { + status = "disabled"; + }; + + i2c@13880000 { + status = "disabled"; + }; + + i2c@13890000 { + status = "disabled"; + }; + + i2c@138a0000 { + status = "disabled"; + }; + + i2c@138b0000 { + status = "disabled"; + }; + + i2c@138c0000 { + status = "disabled"; + }; + + i2c@138d0000 { + status = "disabled"; + }; + + sdhci@12510000 { + compatible = "samsung,exynos4412-sdhci"; + status = "disabled"; + }; + + sdhci@12520000 { + compatible = "samsung,exynos4412-sdhci"; + status = "disabled"; + }; + + sdhci@12530000 { + compatible = "samsung,exynos4412-sdhci"; + samsung,bus-width = <4>; + samsung,timing = <1 2 3>; + cd-gpios = <&gpk2 2 0>; + }; + + sdhci@12540000 { + compatible = "samsung,exynos4412-sdhci"; + status = "disabled"; + }; + + dwmmc@12550000 { + samsung,bus-width = <8>; + samsung,timing = <2 1 0>; + samsung,removable = <0>; + fifoth_val = <0x203f0040>; + bus_hz = <400000000>; + div = <0x3>; + index = <4>; 查看详情 x-006friendlyarmtiny4412u-boot移植之debug串口用起来<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<&l 查看详情 x-004friendlyarmtiny4412uboot移植之点亮指路灯<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<&l 查看详情 x-003friendlyarmtiny4412uboot移植之添加相应目录文件<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 查看详情 x-005friendlyarmtiny4412uboot移植之时钟初始化<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 查看详情 x-002exyson4412芯片启动过程分析移植u-boot到FriendlyARMTiny4412开发板上,首先我们需要对SamsungExyson4412芯片的启动方式、系统时钟初始化、串口初始化、内存初始化以及开发板的内存地址空间分配有一个清楚的认识。下面是一些参考资料:1>、技术部落(这... 查看详情 itop-4412开发板运行linuxqt系统,怎么挂接u盘参考技术A如果是iTop-4412的android4.0系统,可以这样来实现:linuxQT系统下挂载u盘,首先用命令mknod/dev/sda1b81创建U盘的设备节点,然后使用命令mount/dev/sda1/mnt/udisk/挂载u盘即可。 查看详情 tiny4412u-boot分析u-boot配置流程分析参考Friendlyarm的文档,编译uboot的流程为maketiny4412_configmake这个过程主要涉及到两个文件,顶层的Makefile文件和mkconfig文件,makeconfig文件是一个脚本,通过文件的注释可以了解到它的作用#Scripttocreateheaderfilesandlinkstoconfigure#U-Bootforasp... 查看详情 u-boot启动流程详解-基于itop4412开发板...(NAND,NORFLASH,SD,MMC等)拷贝到DDR中,最后启动linux内核。4412u-boot启动流程:A.开机运行iRom中代码B.BL1阶段(E4412_N.bl1.xxxxG. 查看详情 tiny4412-1312__uboot移植(代码片段)...16.08-x86_64_arm-linux-gnueabi要移植的u-boot版本:u-boot-2016-11Tiny4412开发板硬件版本为: 底板: Tiny4412SDK1312B 核心板:Tiny4412-1306 1.获取U-BOOT源码从FTP站点下载: ftp://ftp.denx.de/pub/u-bootuboot-2016-09.tar.bz22.交... 查看详情 tiny4412u-boot分析u-boot引导内核流程在u-boot中,通过bootm命令启动内核。bootm命令的作用是将内核加载到指定的内存地址,然后通过R0、R1、R2寄存器传递启动参数之后启动内核。在启动内核之前需要对环境做一些初始化工作,主要有如下几个方面:(1)、cpu寄存器设... 查看详情 tiny4412u-boot分析u-boot启动流程从大方面来说,u-boot的启动分成两个阶段,第一个阶段主要的职责是准备初始化的环境,主要有以下几点①设置异常向量表②把CPU的工作模式设置为SVC32模式③关闭中断、MMU和cache④关闭看门狗⑤初始化内存、时钟、串口⑥设置... 查看详情 第二章tiny4412u-boot移植二启动分析本文转载自:http://blog.csdn.net/eshing/article/details/37521481版权声明:本文为博主原创文章,未经博主允许不得转载。一、启动过程说明 讲解启动过程,首先的源头就是打开电源,这个相信没人人不知道。CPU... 查看详情 tiny4412学习杂记1.Android挂载NFS使用busyboxmount来替代mount命令2.修改Uboot中fastboot最大buff 使用U-boot烧写Android5.0的时候出现remote:datatoolarge将 include/configs/tiny4412.h 改大一点3.tiny4412内核中trustzone配置开关tiny4412 trust 查看详情 tiny4412u-boot烧写及根文件系统制作(不进入终端问题)...tails?id=51400196(转) VMware12环境:ubuntu12.4开发板:tiny4412首先烧写bootloader,我用一个8G的内存卡,现在不说sd卡的制作过程了,网上可以参考。现在就把我给arm的emmc烧写过程开始说。用sd卡启动,开发板的右下角有个开关控制... 查看详情 uboot移植前奏Tiny4412开发板硬件版本为: 底板: Tiny4412/Super4412SDK1506 核心板:Tiny4412-1412 1、下载u-boot源代码,建立u-boot代码仓库 参考:h 查看详情 tiny4412--uboot移植串口(代码片段)...16.08-x86_64_arm-linux-gnueabi要移植的u-boot版本:u-boot-2016-11Tiny4412开发板硬件版本为: 底板: Tiny4412SDK1312B 核心板:Tiny4412-1306 1,原理图查看tiny4412SDK-1312B-Schematic.pdf 可看出,底板使用UART0作... 查看详情 tiny4412裸机程序说明...自己想学点东西,过于求成,又过于自信,直接买了Tiny4412的板子,但网上关于4412的资料太少,我一直没办法啃动,只能尽可能找来各种相关资料进行参考分析。我想在U-Boot程序中加入LCD显示功能,但始终都没有正常点亮LCD,放... 查看详情 |