uboot移植前奏

LoTGu LoTGu     2022-08-09     378

关键词:

 

 

Tiny4412开发板硬件版本为

      底板:  Tiny4412/Super4412SDK 1506

       核心板:Tiny4412 - 1412

 

1、下载u-boot源代码,建立u-boot代码仓库

    参考:http://www.cnblogs.com/AP0904225/p/5804901.html

u-boot源码FTPftp://ftp.denx.de/pub/u-boot/上下载u-boot-2016.09.tar.bz2,拷贝到ubuntu14.04系统开发目录下,解压u-boot-2016.09.tar.bz2

$ tar -xvf u-boot-2016.09.tar.bz2

    在解压后的u-boot源码目录下初始化git仓库,使用git来管理代码:

$ cd u-boot-2016.09-tiny4412

$ git init

查看git状态:

$ git status

On branch master

 

Initial commit

 

Untracked files:

  (use "git add <file>..." to include in what will be committed)

 

    .gitignore

    .mailmap

    Kbuild

    Kconfig

    Licenses/

    MAINTAINERS

    Makefile

    README

    api/

    arch/

    board/

    cmd/

    common/

    config.mk

    configs/

    disk/

    doc/

    drivers/

    dts/

    examples/

    fs/

    include/

    lib/

    net/

    post/

    scripts/

    snapshot.commit

    test/

    tools/

 

nothing added to commit but untracked files present (use "git add" to track)

 

u-boot-2016.09-tiny4412目录下的代码使用git来管理,并提交到git本地仓库中:

$ git add .

$ git commit -s -m "Import u-boot-2016.09 source code for FriendlyARM Tiny4412"

 

2、注册GitHub帐号,创建GitHub项目代码仓库

2.1、注册GitHub帐号

在使GitHub之前,需要先登录其官网注册一个免费使用的账号。登录 https://github.com/join?source=header-home进行注册。

 

2.2 GitHub上添加SSH Key

使用如下命令生成 SSH Key

clip_image001

执行上述命令以后,会确认是否将 SSH Key 文件存放到~/.ssh 目录,如果已经存在该目录,且该目录已经有了SSH Key,会询问用户是否覆盖。接下来让你连续两次输入密码,注意输入密码的时候没有回显,两次密码都是注册 GitHub 时候的登陆密码。如果一切正常,会出现如图 1-1 所示的信息,然后在~/.ssh 目录会生成 id_rsa id_rsa.pub 两个文件, 它们是 SSH Key 的秘钥对。 id_rsa是私钥,不能泄露出去; id_rsa.pub是公钥,可以放心地告诉任何人。

clip_image003

1-1 生成 SSH Key 成功

用文本编辑器打开id_rsa.pub 文件,将里面的内容全部复制(注意不要修改任何内容)。在GitHub主页面右上角点击下拉箭头,如图 1-2 所示。

clip_image004

1-2 添加 SSH Key 的入口

然后点击 seetings,在新页面左侧选择 SSH Keys,在右侧点击“New SSH key”,在下方输入 Title 以及 KeyTitle 随便填写,Key 选项的输入框就粘贴刚刚从 id_rsa.pub 复制的内容。如图 1-3 所示,然后单击“Add SSH key” 按钮,接下来会弹出一个窗口让你输入GitHub帐号的密码,输入确认后即可添加一个 public key

 

clip_image005

1-3 添加Public SSH Key

设置完SSH key以后,可用如下命令检测公钥、秘钥以及上述步骤的设置是否正确:

        $ ssh-keygen -t rsa -C "注册 GitHub 使用的邮箱"

2.3GitHub上新建repository

    点击https://github.com/主页右上角的加号(+)按钮, 然后选择“New Repository”,如图 1-4 所示

clip_image007

1-4 新建repository页面

依次填入repository名称以及对项目的描述和选择项目是否公开,这里要选择Public,还可以选择项目遵循的许可协议,我们选择的是 GPLv3(可以不选),具体的设置如图 1-5 所示,最后点击“Create repository”完成开源项目的创建。

clip_image008

1-5 创建一个 GitHub 项目repository

3、上传代码到GitHub仓库

    首先要配置git邮箱和用户名:

clip_image009

接下来需要获取在GitHub上的项目仓库的URL。在GitHub主页面上,单击右下方的仓库标签,如图 1-6所示:

uboot移植:移植前的准备工作

一:uboot的来源    uboot的获取途径一般有三种,一种是uboot官方提供的这uboot,这里面是针对多种开发板和芯片的uboot代码,是全球各地上传,然后由uboot官方提供的,因为它里面包含了很多种开发板的uboot,所以文... 查看详情

uboot移植一uboot架构分析

开发环境:  1.开发板mini2440  2. u-boot-2010.12参考i资料:https://blog.csdn.net/androidbbc/article/details/50961163     http://www.cnblogs.com/kele-dad/p/8969174.html一、下载u-boot-2010.12,并且解压二、分析u-boor-2010.12a 查看详情

uboot移植之uboot命令体系解析

1:回归到main_loop   uboot启动第二阶段的最后,进入死循环main_loop()函数,命令行中没输出一次命令,就会执行一次main_loop函数,完成一次命令的获取、解析和执行。2:uboot命令体系的实现原理    uboot中... 查看详情

三,移植uboot-支持nand启动

文档时间:2018-08-10交叉编译器:arm-linux-gcc-4.3.2Ubuntu版本:16.04uboot版本:2013.10  查看详情

一,移植uboot,分析uboot启动流程(代码片段)

文档时间:2018-08-08交叉编译器:arm-linux-gcc-4.3.2Ubuntu版本:16.04uboot版本:2013.10uboot启动流程简要如下:    a,设置CPU为管理模式    b,关闭看门狗    c,关闭中断    d,设置时钟频率    e,进入lowlevel_init.S,... 查看详情

uboot配置编译源码分析

一、X210官方uboot配置编译实践1、找到官方移植好的uboot(BSP概念)(1)源头的源代码是uboot官网下载的。这个下载的源代码可能没有你当前使用的开发板的移植,甚至找不到当前开发板使用的SoC对应的移植版本。(2)SoC厂商在推出一... 查看详情

从0移植uboot_编译最小可用uboot(代码片段)

来源:Linux社区 作者:xiaojiang1025 :http://www.linuxidc.com/Linux/2017-02/141020.htm 前两篇介绍了uboot-2013.01的配置原理以及大体的运行流程,本文将讨论如何对uboot源码进行配置,将一个可用的uboot烧录到SD卡中。定制自己的coreb... 查看详情

uboot移植之九鼎提供的uboot的文件分析

文件分析(1).gitignore:git管理工具相关的文件。(2)arm_config.mk:一个Makefile文件,将来会被Makefile里面的某句代码调用。(3)CHANGELOG、Changelog_Samsung、CHANGELOG-before-U-Boot-1.1.5:三个CHANELOG文件,其实就是该版本的uboot的变迁记录... 查看详情

uboot移植——修改默认ip地址(代码片段)

...,这些IP地址都是在uboot的环境变量里保存的。在uboot移植时可能会对默认的IP地址有要求,只需要修改默认环境变量里IP地址部分。对uboot的环境变量熟悉的参考博客:《uboot中环境变量的实现》。2、修改配置文件//配... 查看详情

uboot移植之start_armboot()函数分析

/********************************uboot的第二阶段就是初始化剩下的还没在第一阶段初始化的硬件。主要是SoC外部硬件(譬如iNand网卡芯片.......)uboot本身的一些东西(uboot的命令环境变量等.....)。然后最终初始化完必要的东西后进入到u... 查看详情

uboot移植之uboot中的sd卡驱动解析

1:地址对硬件操作的影响    (1)操作系统(指的是linux)下MMU肯定是开启的,也就是说linux驱动中肯定都使用的是虚拟地址。而纯裸机程序中根本不会开MMU,全部使用的是物理地址。这是裸机下和驱动中操控硬件的... 查看详情

uboot移植之tag传参

1:什么是tag(1)tag是一种数据结构,用于uboot向内核传递参数,一个tag代表了一个参数,uboot在向kernel传参时,就是通过一个个tag来实现的。(2)每个tag都有一个tag_header(一个结构体),包含了tag的类型和大小,然后tag中剩余... 查看详情

uboot移植之九鼎提供的uboot的文件夹分析

...到的一些函数,这些函数都是硬件无关的,所以和我们的移植没多大关系(2)api_examples:api的示例代码(3)board:开发板相关的文件夹,这个文件夹里面存放的一个文件夹对应一款开发板或者是一个芯片厂商。我们在config配置... 查看详情

uboot移植之主makefile分析

1:#uboot的版本号VERSION   =1            #主版本号PATCHLEVEL =3         #次版本号SUBLEVE 查看详情

x210官方uboot配置编译时实践

2.3.1、X210官方uboot配置编译实践2.3.1.1、找到官方移植好的uboot(BSP概念)(1)源头的源代码是uboot官网下载的。这个下载的源代码可能没有你当前使用的开发板的移植,甚至找不到当前开发板使用SoC对应的移植版本。(2)SoC厂商在... 查看详情

图像识别dm8127开发攻略——uboot的移植说明(代码片段)

图像识别DM8127开发攻略——UBOOT的移植说明根据前几篇文章的介绍,想必大家对DM8127软件架构有了全局的认识,下面我们从开发的角度进行裁剪移植最基本的BOOT软件包,嵌入式开发人员拿到一个新的板子,就是要如何让板子能跑... 查看详情

从0移植uboot_配置分析(代码片段)

来源:Linux社区 作者:xiaojiang1025 :http://www.linuxidc.com/Linux/2017-02/141018.htm 和绝大多数源码编译安装一样,uboot的编译流程也类似于"makeconfig->make->makeinstall"**三步,只是由于uboot本身是针对多种平台的bootloader,软件... 查看详情

从0移植uboot_启动流程分析(代码片段)

来源:Linux社区 作者:xiaojiang1025 : http://www.linuxidc.com/Linux/2017-02/141019.htm 经过了上一篇的配置,我们已经执行make就可以编译出一个uboot.bin,但这还不够,首先,此时的uboot并不符合三星芯片对bootloader的格式要求... 查看详情