嵌入式软件|【迅为iMX6Q】iTOP-iMX6_android4.4.2 提取开发板的 uboot 源码

前言

  • Android 系统源码大而全,包括 uboot与Linux kernel,【迅为iMX6Q】开发板中的Android 源码中,包含开发板相关的 uboot 与 Linux 内核源码
  • 直接使用Android源码查看与搜索代码,效率较低,先把其中的uboot 提取出来,了解板级的差异的移植实现方法,如1G与2G内存的差异配置
提取 uboot
  • 上篇已经解压了 【iTOP-iMX6_android4.4.2 】,这是个Android 4.4.2的源码,编译环境需要配置,代码量较大,不适合【把玩】
  • uboot的路径:iTOP-iMX6_android4.4.2/bootable/bootloader/uboot-imx
嵌入式软件|【迅为iMX6Q】iTOP-iMX6_android4.4.2 提取开发板的 uboot 源码
文章图片

  • 【迅为iMX6Q】 开发板BSP相关的:
    路径: iTOP-iMX6_android4.4.2/bootable/bootloader/uboot-imx/board/freescale/mx6q_topeet
# ls -la total 124 drwxr-xr-x2 root root4096 Apr 102019 . drwxr-xr-x 70 root root4096 Mar12017 .. -rw-r--r--1 root root164 Mar12017 config.mk -rw-r--r--1 root root 15498 Apr 102019 flash_header.S -rw-r--r--1 root root 15498 Mar12017 flash_header.S_1G -rw-r--r--1 root root 15498 Mar12017 flash_header.S_2G -rw-r--r--1 root root3939 Mar12017 lowlevel_init.S -rw-r--r--1 root root1383 Mar12017 Makefile -rw-r--r--1 root root 52044 Apr 102019 mx6q_topeet.c -rw-r--r--1 root root2382 Mar12017 u-boot.lds

对比mx6q_sabresd
  • 对比 mx6q_sabresd发现,板级内存的差异为1G 与2G的配置有部分差异
    嵌入式软件|【迅为iMX6Q】iTOP-iMX6_android4.4.2 提取开发板的 uboot 源码
    文章图片
  • 默认 android 下的flash_header.S配置为2G的,我的开发板也是2G的,所以可以直接把 mx6q_topeet 整个目录copy到原 uboot的指定目录
Makefile 对比
  • 编译 uboot时,需要指定 config文件,或者使用menuconfig 配置生成
【嵌入式软件|【迅为iMX6Q】iTOP-iMX6_android4.4.2 提取开发板的 uboot 源码】嵌入式软件|【迅为iMX6Q】iTOP-iMX6_android4.4.2 提取开发板的 uboot 源码
文章图片

  • 查看了下 andriod uboot 与 默认 uboot的差异, android 增加了 topeet 的配置,用于指定 mx6q_topeet 的开发板 board 目录
小结
  • 了解如何通过【迅为iMX6Q】开发板光盘的 Android 4.4.2 系统源码,获取开发板 uboot的 板级开发包,用于uboot的移植与启动
  • 了解Android目录结构与uboot的目录结构
  • 了解增加新的board的方法

    推荐阅读