转摘Linux之Uboot调试基本套路

郁明旭阅读量 35

1、uboot目录

目录 特性 解 释 说 明
board 平台依赖 存放电路板相关的目录文件,例如:RPXlite(mpc8xx)、smdk2410(arm920t)、sc520_cdp(x86) 等目录
cpu 平台依赖 存放 CPU 相关的目录文件, 例如: mpc8xx、 ppc4xx、 arm720t、 arm920t、 xscale、i386 等目录
lib_ppc 平台依赖 存放对 PowerPC 体系结构通用的文件, 主要用于实现 PowerPC 平台通用的函数
lib_arm 平台依赖 存放对 ARM 体系结构通用的文件,主要用于实现 ARM 平台通用的函数
lib_i386 平台依赖 存放对 X86 体系结构通用的文件,主要用于实现 X86 平台通用的函数
include 通用 头文件和开发板配置文件,所有开发板的配置文件都在 configs 目录下
common 通用 通用的多功能函数实现
lib_generic 通用 通用库函数的实现
Net 通用 存放网络的程序
Fs 通用 存放文件系统的程序
Post 通用 存放上电自检程序
drivers 通用 通用的设备驱动程序,主要有以太网接口的驱动
Disk 通用 硬盘接口程序
Rtc 通用 RTC 的驱动程序
Dtt 通用 数字温度测量器或者传感器的驱动
examples 应用例程 一些独立运行的应用程序的例子,例如 helloworld
tools 工具 存放制作 S-Record 或者 U-Boot 格式的映像等工具,例如 mkimage Doc 文档 开发使用文档

2、uboot调试

2.1 uboot编译

html 复制代码
# make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
# make ARCH=arm CORSS_COMPILE=arm-linux-gnueabihf- colibri-imx6ull_defconfig
# make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j24
 
注意:
ARCH=arm:arm架构
CROSS_COMPILE:使用的交叉编译器
colibri-imx6ull_defconfig:指定一个config文件,作为相关版型的配置信息
 
V=1:显示出编译过程中的详细信息,即是verbose编译模式

Or

html 复制代码
# make clean; 
# make mrproper
# make uboot -j12
# make bootloader -j12

2.2 uboot打印

html 复制代码
Uboot打印串口log使用printf();

2.3 uboot烧写到设备

html 复制代码
系统所有分区位置在:/dev/block/by-name
1.查看uboot在系统中分区的名字
# ls -al /dev/block/by-name
uboot_a 
uboot_b 
uboot_log
 
注意: 
uboot_a: uboot分区(正常分区)
uboot_b: uboot分区b(应该是备份分区)
uboot_log: 应该是uboot的log,可以从此查看
 
 
2.将编译出来的uboot.bin烧写到设备
<1>.第一种方式:dd
# dd if=./uboot.bin of=/dev/block/by-name/uboot_a
 
 
 
<2>.第二种烧写方式:fastboot
在代码中找到分区表,然后使用fastboot烧写
# emacs device/msm/board/host/partition/msm8953.xml
<Partitions>
  <Partition id="uboot" size="2"/> 
 
//uboot分区刷机:
# adb reboot bootloader
# fastboot flash uboot uboot.bin
# fastboot reboot
 
 

复制代码
    ===========================
    【来源: CSDN】
    【作者: Android系统攻城狮】
    【原文链接】 https://unbroken.blog.csdn.net/article/details/127465422
    声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。
标签:
0/300
全部评论0
0/300