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

author author     2022-08-29     387

关键词:

文件夹分析

(1)api:提供了uboot在执行时用到的一些函数,这些函数都是硬件无关的,所以和我们的移植没多大关系

(2)api_examples:api的示例代码

(3)board:开发板相关的文件夹,这个文件夹里面存放的一个文件夹对应一款开发板或者是一个芯片厂商。我们在config配置的时候就是根据这个文件夹下面的子文件夹来选择开发板信息。需要注意一点,由于历史原因,一开始开发板种类比较少,所以board存放的子文件夹就是对应的开发板,但是随着电子信息的发展,开发板越来越多,所以就在uboot文件夹下的子文件改成了芯片厂商的名字,然后在芯片厂商的文件夹下面再存放它们的开发板信息。我们在从移植的角度来讲,uboot的配置阶段就是确定这些文件夹的路径,寻找这些信息,从而来确定我们所使用的的开发板,所以当board文件夹的目录改变时,将会改变文件的路径,如果不修改mkconfig和Makefile相关部分,编译的时候就会提示一些文件找不到,其根本原因就是文件的存放路径和实际的路径不同。

(4)common:这个文件夹下放的是一些与具体硬件无关的普遍适用的一些代码。譬如控制台实现crc校验的。但是更多的主要是两类:一类是cmd开头的,是用来实现uboot的命令系统的;另一类是env开头的,是用来实现环境变量的。

(5)cpu:这个文件夹存放的是SoC相关的初始化和控制代码(比如 串口、中断等SoC内部外设,其中启动文件start.S也在这个文件夹中)

(6)disk:磁盘相关的代码。

(7)doc:文档目录。里面存放的是uboot相关的说明明档。

(8)drivers:驱动。里面存放的是从linux中扣出来的一些必要的驱动,例如网卡 Inand/SD卡等,不同之处是uboot是一个裸机程序,而linux是一个操作系统,所以在驱动的移植时会有所不同。

(9)examples:示例代码

(10)fs:filesystem文件系统。uboot虽然是裸机程序,但是它里面的文件管理和linux一样,使用了文件系统来进行管理,文件系统在一些单片机上面也有,它并不是操作系统所特有的。

(11)include:头文件目录。uboot中所有的头文件都是存放在这个文件下面的,所以在uboot中头文件包含时路径结构要在这里去找。

(12)lib_开头的一些文件夹。(典型的lib_arm和lib_generic)架构相关的库文件。譬如lib_arm里面就是arm架构使用的一些库文件。lib_generic里是所有架构通用的库文件。这类文件夹中的内容移植时基本不用管。

(13)libfdt。设备树有关的。linux内核在3.4左右的版本的时候更改了启动传参的机制,改用设备树来进行启动传参,进行硬件信息的描述。

(14)nand_spl。nand相关的代码。

(15)net。网络相关的代码,例如ping tftp nfs命令都是在这个文件夹下面实现的。

(16)onenand开头的,是onenand相关的代码,是三星加的,标准uboot中没有。

(17)post。

(18)sd_fusing。这里面代码实现了烧录uboot镜像到SD卡的代码。

(19)tools。工具,里面是一些工具类的代码。譬如mkimage。


uboot源码分析

...t为原材料进行移植时,把三星版本的uboot中很多不必要的文件夹、文件给删除掉了。这个删除把很多完全用 查看详情

uboot移植之start.s分析

uboot的函数入口要查看链接脚本中ENTTRY的入口参数,我们这里的链接脚本在board/samsung/x210/u-boot.lds,这个文件里面的开头有一句ENTRY(_start),所以uboot的入口就是在_start这个标识的地方。 * Base codes by scsuh (sc.su... 查看详情

uboot移植之start_armboot()函数分析

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

uboot之初体验

...xff0c;这种方式下载的源代码可能没有针对于当前开发板的移植,也可以从soc厂商提供的地址下载,这种方式一般是针对这个Soc已经移植过的uboot,还可以从开发板供应商处获得uboot,这种方式的uboot移植的更加彻底... 查看详情

uboot移植之主makefile分析

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

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

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

1uboot移植和imx文件分析

 本系列使用的平台为百问网IMX6ULL,通过对NXP提供uboot的分析和修改,使其支持百问网IMX6ULL本系列参考了正点原子和百问网的IMX6ULL教程,在此表示衷心感谢本章参考文件有:《i.MX6BSPPortingGuide》、《ARMv7架构参考手册》百度网... 查看详情

嵌入式linux核心课程2.uboot和系统移植-第4部分-2.4.uboot配置和编译过程详解

《2.uboot和系统移植-第4部分-2.4.uboot配置和编译过程详解》第一部分、章节目录2.4.1.uboot主Makefile分析12.4.2.uboot主Makefile分析22.4.3.uboot主Makefile分析32.4.4.uboot主Makefile分析42.4.5.uboot主Makefile分析52.4.6.uboot主Makefile分析62.4.7.uboot配置过程... 查看详情

uboot配置编译源码分析

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

uboot移植之uboot命令体系解析

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

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中剩余... 查看详情

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

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

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

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

u-boot移植

...子提供的uboot,本章我们就来学习如何将NXP官方的uboot移植到正点原子的I.MX6ULL开发板上,学习如何在uboot中添加我们自己的板子。 查看详情

uboot之初体验

...xff0c;这种方式下载的源代码可能没有针对于当前开发板的移植,也可以从soc厂商提供的地址下载,这种方式一般是针对这个Soc已经移植过的uboot,还可以从开发板供应商处获得uboot,这种方式的uboot移植的更加彻底... 查看详情

x-001friendlyarmtiny4412uboot移植前奏

...链:linaro提供的gcc-linaro-6.1.1-2016.08-x86_64_arm-linux-gnueabi要移植的u-boot版本:u-boot-2016-09参考u-boot版本:友善之臂提供的u-boot-2010-12Tiny4412开发板硬件版本 查看详情

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 查看详情