当前位置: 首页 > wzjs >正文

台州网站seo外包站长工具站长之家官网

台州网站seo外包,站长工具站长之家官网,k网站建设,招标网站怎么做前言我们使用正点原子imx6ull开发板,分析一遍 uboot的启动流程源码,搞清楚uboot 的启动流程,以后就可以移植 uboot 到自己的开发板上了。但是U-Boot源码那么庞大,从哪开始呢?先让我们来分析一下U-Boot 源码的工程目录吧…

前言

我们使用正点原子imx6ull开发板,分析一遍 uboot的启动流程源码,搞清楚uboot 的启动流程,以后就可以移植 uboot 到自己的开发板上了。

但是U-Boot源码那么庞大,从哪开始呢?先让我们来分析一下U-Boot 源码的工程目录吧。

U-Boot 工程目录

我们在分析 uboot 源码之前,一定要先在 Ubuntu 中编译一下 uboot 源码,因为编译过程会生成一些文件,而生成的这些恰恰是分析uboot 源码不可或缺的文件。

编译后的 uboot 源码文件如下:

以下是U-Boot源码目录结构的详细分析,按功能分类说明:

​核心功能目录​

  1. ​​arch/ ​​“架构相关代码,按CPU架构分类(如arm/、x86/)。包含启动流程、中断处理、时钟初始化等底层代码。例如:arm/cpu/armv7/start.S:ARMv7架构的启动汇编代码。
  2. ​​board/​​:开发板专属支持代码,按厂商/型号分类(如freescale/mx6ullevk/)。包含板级初始化、内存布局、GPIO配置等。
  3. ​​drivers/​​:设备驱动代码,涵盖串口、MMC、USB、网卡等硬件驱动。例如:drivers/mmc/mmc.c:MMC/SD卡驱动核心逻辑。
  4. ​​cmd/​​:命令行命令实现,每个文件对应一个命令(如bootm.c实现bootm命令)。命令通过U_BOOT_CMD宏注册。
  5. ​​common/​​:通用功能代码,如环境变量处理(env_*.c)、启动逻辑(bootm.c)、命令行解析等。
  6. ​​include/​​:全局头文件,包括架构头文件(asm/)、配置宏(configs/)、协议定义(如linux/bitops.h)。

构建与配置

  1. configs/ 预置的配置文件(如mx6ull_alientek_emmc_defconfig),通过make xxx_defconfig生成.con​​fig。
  2. ​​scripts/​​ 构建脚本和工具,如mkimage(生成镜像)、dtc(设备树编译)、Kconfig解析脚本。
  3. ​​Kconfig / Makefile​​顶层构建规则。Kconfig定义配置选项(通过make menuconfig修改),Makefile控制编译流程。
  4. ​​.config​​ 当前编译配置缓存文件,由make xxx_defconfig生成,决定功能模块的编译开关。

辅助功能目录

  1. dts/​​ 设备树源文件(.dts)和编译工具,描述硬件拓扑结构,替代旧版的硬编码配置。
  2. ​​fs/​​ 文件系统支持(FAT、EXT4、JFFS2等),用于从存储设备加载内核或数据。
  3. ​​net/ ​​网络协议栈(TFTP、NFS、Ping等)及网络驱动(如eth.c)。
  4. ​​lib/​​ 通用库函数(字符串操作、CRC校验、压缩算法等)。
  5. ​​test/ ​​单元测试代码,验证核心功能(如cmd_ut测试命令行)。

文档与许可

  1. doc/​​ 使用文档(如README.distro说明启动流程)、API参考。
  2. ​​Licenses/​​ 开源许可证文本(GPL、BSD等),合规性检查时使用。

生成文件说明

  • u-boot:编译出来的 ELF 格式的 uboot 镜像文件。

  • u-boot.bin:编译出来的二进制格式的 uboot 可执行镜像文件。u-boot.cfg: uboot 的另外一种配置文件。

  • u-boot.imx: u-boot.bin 添加头部信息以后的文件, NXP 的 CPU 专用文件。u-boot.lds:链接脚本。
  • u-boot.map: uboot 映射文件,通过查看此文件可以知道某个函数被链接到了哪个地址上
  • u-boot.srec: S-Record 格式的镜像文件。
  • u-boot.sym: uboot 符号文件。
  • u-boot-nodtb.bin:和 u-boot.bin 一样, u-boot.bin 就是 u-boot-nodtb.bin 的复制文件。
  • ​​System.map​​:符号地址映射表,用于调试。

​关键文件示例​

  • MAINTAINERS​​:维护者列表,标注模块负责人。

  • ​README​​:项目概述和编译指南。

  • ​mx6ull_alientek_emmc.sh​​:针对特定开发板的烧写脚本。

关键文件分析

arch文件夹

I.MX6ULL 使用的 Cortex-A7 内核, Cortex-A7 属于 armv7,所以我们要关心“armv7”这个文件夹。

cpu 文件夹里面有个名为“uboot.lds”的链接脚本文件,这个就是 ARM 芯片所使用的 u-boot 链接脚本文件:

board 文件夹

borad 文件夹里面有个名为“freescale”的文件夹,再找mx6ullevk 文件夹,mx6ullevk是 NXP官方的I.MX6ULL 开发板,正点原子的ALPHA开发板就是在这个基础上开发的。

configs 文件夹

下图里这6 个文件就是正点原子 I.MX6U-ALPHA 开发板所对应的 uboot 默认配置文件。

我们只关心 mx6ull_14x14_ddr512_emmc_defconfig 和 mx6ull_14x14_ddr256_nand_defconfig这两个文件,分别是正点原子 I.MX6ULL EMMC 核心板和 NAND 核心板的配置文件。

使用“make xxx_defconfig”命令即可配置 uboot,比如:

make mx6ull_14x14_ddr512_emmc_defconfig

makefile文件

这个是顶层 Makefile 文件, Makefile 是支持嵌套的,也就是顶层 Makefile 可以调用子目录中的 Makefile 文件。

大项目里,各个功能模块的源代码都是分开的,各自存放在各自的目录中。每个功能模块目录下都有一个 Makefile,这个 Makefile 只处理本模块的编译链接工作

uboot 源码根目录下的 Makefile 是顶层 Makefile,他会调用其它的模块的 Makefile 文件,比如 drivers/adc/Makefile。

.config 文件

uboot 配置文件,使用命令“make xxx_defconfig”配置 uboot 以后就会自动生成。

.config 文件中都是以“CONFIG_”开始的配置项,这些配置项就是 Makefile 中的变量,因此后面都跟有相应的值, uboot 的顶层 Makefile 或子 Makefile 会调用这些变量值。

在.config 中会有大量的变量值为‘y’,这些为‘y’的变量一般用于控制某项功能是否使能,比如:

CONFIG_CMD_BOOTM=y

相当于通过“CONFIG_CMD_BOOTD=y”来使能 bootm 这个命令,进而编译 cmd/bootm.c 这个文件,这个文件实现了命令 bootm。在 uboot 和 Linux 内核中都是采用这种方法来选择使能某个功能,编译对应的源码文件。

README

README 文件描述了 uboot 的详细信息,包括 uboot 该如何编译、 uboot 中各文件夹的含义、相应的命令等等。

大家空了的时候可以详细地阅读此文件,可以进一步增加对 uboot 的认识。

http://www.dtcms.com/wzjs/469418.html

相关文章:

  • 网站建设公司 成本结转百度导航下载2021最新版
  • 滨湖网站制作杭州网站优化方案
  • 全屋定制十大名牌排行最新百度自然排名优化
  • 杭州网站制作报价国内b站不收费网站有哪些
  • 台州网站外包互联网推广引流公司
  • 做pvc卡片的交流网站搜索引擎营销的基本流程
  • 平台网站开发价格seo顾问能赚钱吗
  • 为什么做网站都用phpgoogleseo优化
  • 免费海外云服务器志鸿优化设计电子版
  • 做的ASP网站手机推广拉新任务的平台
  • 网站如何生成app四川百度推广排名查询
  • 模板网站robots怎么做百度手机网页
  • 嘉兴做外贸网站比较好的公司文大侠seo博客
  • 深圳外文网站制作洛阳网站seo
  • 教务网络管理系统seo前景
  • 梧州网站建设哪家好活动软文模板
  • 企业网站建设公外贸seo推广招聘
  • 做网站被骗算诈骗吗软件外包公司排行榜
  • 天津政府建设工程信息网站东莞seo整站优化
  • 怎么测网站流量吗抖音搜索引擎推广
  • 昆明网站建设哪家便宜广州企业网站推广
  • 第9类商标有网站开发东莞网络推广及优化
  • 房产经济人怎么做网站网络推广教程
  • 阿里云服务器年费多少小程序排名优化
  • 沥林网站建设马甲比较好网站用户体验优化
  • 太原网站推广怎么做长沙企业关键词优化哪家好
  • 浙江省政府 加强政府网站建设保定seo网络推广
  • 安徽省工程建设信息网官方网站seo优化怎么做
  • 欧美一级A做爰片成电影网站柏乡seo快排优化
  • 网站建设开发语言360网站收录提交