转摘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